原创 排序算法02:插入排序

插入排序(InsertionSort)時間複雜度O(N2) #include "InsertionSort.h" #include "Print.h" // 插入排序算法 void InsertionSort(int A[], int

原创 LinuxC編程一站式學習——堆棧

本科學習數據結構時實踐比較少,因此最近開始複習,看到網站http://learn.akae.cn/media/ch12s03.html,既可以打基礎,又可以順便學習Linux的知識。 第12章講“堆棧”,第3節講“深度優先算法”尋找路徑迷

原创 498. 對角線遍歷 解題報告

原題鏈接 給定一個含有 M x N 個元素的矩陣(M行,N列),請以對角線遍歷的順序返回這個矩陣中的所有元素,對角線遍歷如下圖所示。 示例: 輸入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]

原创 二叉樹中的最大路徑和 解題報告

原題鏈接 給定一個非空二叉樹,返回其最大路徑和。 本題中,路徑被定義爲一條從樹中任意節點出發,達到任意節點的序列。該路徑至少包含一個節點,且不一定經過根節點。 示例 1: 輸入: [1,2,3] 1 / \

原创 爲什麼condition_wait要用while來判斷condition條件?

condition_variable使用基本形式如下: lock while(condition) { wait(lock) } https://blog.csdn.net/matrixyy/article/details/5

原创 stl中map,hash_map,unordered_map的區別

1. map存儲結構是紅黑樹,所以需要定義比較函數(less),查找效率爲O(logN). 2. unordered_map存儲結構是數組,需要定義hash函數(計算key)和比較函數(equal),查找效率爲O(1). 3. unord

原创 sqrt函數實現分析

看到一篇博文講述sqrt的實現方法,其中二分法沒有區分區間,當x位於(0,1)和(1, 正無窮) 時初始值設置應該有所區別 const float eps=0.000001; // eps的值可能影響最後計算精度,甚至導致無限循環 /

原创 使用javascript讀寫本地文件的方法

近期在全身心做畢業設計,我需要做的項目類似於迷宮搜索,爲了顯示算法運行時的效果,採用了javascript來寫(使用canvas來畫圖)。 其中一個功能是把js代碼隨機生成的迷宮保存到本地文件中,方便下次讀取。一般來說,由於安全因素,ja

原创 排序算法00:準備工作

本篇並非是講述具體的排序算法,而是做一些準備工作 1. 生成10000個隨機數,作爲後續測試排序算法的數據源。   /* 生成10000個可重複的隨機數,保存到文件中,並計算生成時間 */ #include <stdio.h> #incl

原创 排序算法03:希爾排序

希爾排序(ShellSort) #include "ShellSort.h" #include "Print.h" // 希爾排序,分組進行插入排序,最後一步仍然是插入排序,但是因爲之前的操作使逆序數減少,所以相對單純的插入排序效率高。

原创 自然語言處理學習篇03——Language Models

本章介紹語言模型,包括如下內容: Introduction to N-gramsEstimating N-gram ProbabilitiesEvaluation and PerplexityGeneralization and Zer

原创 百度之星05-08年試題

2005年百度之星程序設計大賽試題初賽題目 第一題(共四題 100 分):連續正整數( 10 分) 題目描述:一個正整數有可能可以被表示爲 n(n>=2) 個連續正整數之和,如: 15=1+2+3+4+5 15=4+5+6 15=7+8

原创 自然語言處理學習篇02——Edit Distance

第二章 Edit Distance 本篇內容將講述Edit Distance(編輯距離的定義詳見正文),具體又包含5個方面的內容: Defining Minimum Edit Distance Computing Minimum Ed

原创 排序算法01:選擇排序

選擇排序(SelectionSort)的時間複雜度O(N2) #include "SelectionSort.h" #include "Print.h" // 選擇排序,時間複雜度爲O(N2) void SelectionSort(in

原创 排序算法04:堆排序

最近複習《數據結構與算法分析》,發現其中堆排序算法不完整,因此寫來看看。 參考http://www.cnblogs.com/dolphin0520/archive/2011/10/06/2199741.html #include <st