13:57:09 2019-08
學習16:56:35 2019-08-24
補充了插值查詢
排序演算法:起泡排序 歸併排序(二路歸併)
1view code#define _crt_secure_no_warnings //
vs中scanf為不安全的函式 要使用 得加上這句話
2 #include3 #include
4#define size 10
5int vector[size] = ;
6void swap(int i, int j) //
交換下表為i j的兩個元素712
//排序演算法
13//
起泡排序 最好o(n) 最壞o(n^2)
14/*
void bubblesort()
1526}27
if (!isswap)
28return;29}
30}*/31
//鄧公的寫法
32/*
int bubble(int lo, int hi)
3342}43
return isswap;44}
45void bubblesort(int lo,int hi)
46*/
49//
再改進50
int bubble(int lo, int
hi)5160}
61return lastposition; //
返回最後交換的位置62}
63void bubblesort(int lo, int
hi)64
6768
//歸併排序
//o(nlogn)
69//
二路歸併
70/*
void merge(int lo, int mi, int hi) //歸併
71; //棧上申請空間 存放排序後的向量元素
73int i = 0;
74int low = lo;
75int mid = mi;
76while (low77
83for (int i = lo; i < hi; i++) //將排好序的元素寫回
8487}*/
88//
鄧公的二路歸併做法
//當然 鄧公用的是c++ 這裡是c的實現方法
89void merge(int lo, int mi, int hi) //
o(n)
//鄧公的做法是只為左邊元素申請空間 對元素比對後的結果直接覆蓋原陣列
90 */
100//
簡化後 當j到了末尾 其實已經做完了 排序工作
101for (int i = 0, j = 0, k = 0; j < mi - lo /*
|| k < hi - mi
*/;) //
i用於a j用於b k用於c
102106
free
(b);
107}
108109
void mergesort(int lo, int hi) //
排序 [lo,hi)
110117
118int
main()
119
鄧公講的太好了 不能聽現場真遺憾
學習第九天
怎麼沒有題面?我怎麼知道?換個鏈結吧!向洛谷勢力低頭 我們畫一下這個小螞蟻走出來的圖形,我們就會發現,是乙個類似長城的形狀 這個題,求最大值,我們應該能很容易想到用動態規劃 那麼對於乙個路徑圍成的圖形,我們需要描述的是它的位置和形狀,所以這顯然是個高維的dp 位置很好描述,但是形狀太複雜了,我們怎麼...
學習資料結構的第九天(三)
接下來就看一下 l樹是怎麼進行旋轉,怎麼進行遍歷等操作的。為什麼都是 多了兩層,而不會有 多了三層,多了四層這些操作呢?因為的話造成不平衡 是插入或者刪除或者之類的。在那個臨界點,就把它解決成了平衡。之後每次出現兩層的時候,都進行處理 就不會有三層 四層的 情況 我能理解這裡的四種情況,但是我思考的...
python學習 第九天
在下這廂有禮了 爬蟲簡單實現 coding utf 8 import urllib def gethtml url page urllib.urlopen url html page.read returnhtml html gethtml print html l urllib 模組提供了讀取we...