常見排序原理(基於個人理解)

2021-07-30 09:35:01 字數 413 閱讀 2213

氣泡排序:迴圈比較兩個相鄰的元素,每次迴圈比較會把最大的乙個元素(或者最小乙個元素)排到最後。

選擇排序:每次選擇乙個最大的(或最小的)元素,排到元素最後。

插入排序:將數列分為有序和無序兩個部分,每次處理就是將無序數列的第乙個元素與有序數列的元素從後往前逐個進行比較,找出插入位置,將該元素插入到有序數列的合適位置中。

快速排序:選乙個基準,

重新排序數列,

所有元素比基準值小的擺放在基準前面,所有元素比基準值大的擺在基準的後面(相同的數可以到任一邊),這樣遞迴操作。

歸併排序:處理兩個已經排好序的序列合併,申請兩個序列的空間總和,每個序列起始位置設定指標,比較兩個指標指向的元素,取最小的元素放在心的序列中,依次移動指向最小元素該的指標進行比較,直到指標指向乙個序列最後,另乙個未完成序列直接拷貝到新序列中。

氣泡排序的個人理解

去新松面試筆試題中最後一道是氣泡排序,看到這題先是興奮後是悲哀。興奮的是這麼簡單啊,上大學時整的老明白了,考試的時候也為數不多的自己答的題。悲哀的是畢業後就再也沒用過,全都就飯吃了。想想看我最有文化的時候應該就是高三了,但是當年的數理化知識現在還記得多少?花了乙個小時惡補了一下,唉!這學習能力趕上老...

jvm原理 個人理解版

看了很多jvm寫的文章,網上都是一轉再轉,講的也不細,對於實際出現的問題用他們的原理來講很難講通,今天我特地自己理了一下,幫助別人的同時也提高自己,希望有不組的地方多指點 jvm研究 為什麼要研究 首先研究這個可以讓我們更加清楚jvm的工作原理,和解決實際生產中堆溢位和棧溢位的原因,同時對為什麼會產...

快速排序原理解剖

高快省的排序演算法 有沒有既不浪費空間又可以快一點的排序演算法呢?那就是 快速排序 啦!光聽這個名字是不是就覺得很高階呢。假設我們現在對 6 1 2 7 9 3 4 5 10 8 這個10個數進行排序。首先在這個序列中隨便找乙個數作為基準數 不要被這個名詞嚇到了,就是乙個用來參照的數,待會你就知道它...