知識點記錄

2022-03-08 12:32:52 字數 1033 閱讀 3762

各種排序演算法複雜度

比較相鄰的元素,如果第乙個比第二個大,就交換它們兩個。 重複執行。

對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對,這樣在最後的元素應該會是最大的數;

首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,

通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。

從第乙個元素開始,該元素可以認為已經被排序;

取出下乙個元素,在已經排序的元素序列中從後向前掃瞄;

如果該元素(已排序)大於新元素,將該元素移到下一位置;

重複步驟3,直到找到已排序的元素小於或者等於新元素的位置;

將新元素插入到該位置後;

重複步驟2~5。

首先將這個陣列分成一半,再分別將左邊的陣列和右邊的陣列分成一半,

分到一定細度的時候,每乙個部分就只有乙個元素了,那麼我們此時不用排序,對他們進行歸併。

歸併到上乙個層級之後繼續歸併,歸併到更高的層級。可以用遞迴的過程來實現整個歸併。

如何歸併:需要乙個臨時陣列,對比左右兩個陣列的元素,小得插入,然後索引往後移動。如果那個陣列先對比完了,另外乙個就不需要對比了。

歸併思路就是這樣了,最後唯一需要注意的是那個先比較完的話,那麼剩下的直接不需要比較,把後面的直接移上去就可以了,這個需要提前判定一下。

這個講的最清楚了

時間複雜度比較複雜,最好的情況是o(n),最差的情況是o(n2),所以平時說的o(nlogn),為其平均時間複雜度。

思想:隨機找出乙個數,可以隨機取,也可以取固定位置,一般是取第乙個或最後乙個稱為基準,然後就是比基準小的在左邊,比基準大的放到右邊,如何放做,就是和基準進行交換,這樣交換完左邊都是比基準小的,右邊都是比較基準大的,這樣就將乙個陣列分成了兩個子陣列,然後再按照同樣的方法把子陣列再分成更小的子陣列,直到不能分解為止。

詳解:

知識點記錄

1 jensen不等式 jensen不等式表述如下 如果f是凸函式,x是隨機變數,那麼 特別地,如果f是嚴格凸函式,那麼 e f x f e x 當且僅當p x e x 1,也就是說x是常量。2 unet結構,卷積的三種模式 full,same,valid 其實這三種不同模式是對卷積核移動範圍的不同...

記錄知識點

03d 輸出三位寬度的整數,不足時前補0 3d 輸出三位寬度的整數,不足時後補空格 3d 輸出三位寬度的整數,不足時前補空格 d 輸出整數 未指定寬度,以實際寬度輸出 floor x 為1的值範圍是 1,2 而floor x 0.5 為1的範圍是 0.5,1.5 四捨五入 c語言函式總結大全 例如 ...

知識點記錄

資料結構與演算法 目的就是 達到 速度快和空間省 時間複雜度 細緻分析每一行 執行的次數,核心 執行次數的 n 的量級,就是整段要分析 的時間複雜度 加法法則 乘法法則 巢狀迴圈 複雜度量級,我們可以粗略地分為兩類,多項式量級和非多項式量級。其中,非多項式量級只有兩個 o 2n 和 o n 當資料規...