<form id="dlljd"></form>
        <address id="dlljd"><address id="dlljd"><listing id="dlljd"></listing></address></address>

        <em id="dlljd"><form id="dlljd"></form></em>

          <address id="dlljd"></address>
            <noframes id="dlljd">

              聯系我們 - 廣告服務 - 聯系電話:
              您的當前位置: > 關注 > > 正文

              【算法】8種排序基本概念 冒泡排序從頭開始

              來源:CSDN 時間:2023-03-17 10:37:06


              (資料圖片)

              冒泡排序

              從頭開始,兩兩依次比較,直到找出這組數據中最大的,放在最后面,重復此過程,直到有序 時間復雜度:o(n^2) 空間復雜度:o(1) 穩定性:穩定 優點:簡單,易實現,不需要額外空間 缺點: `效率低

              選擇排序:從頭開始,依次找最小的,放在第一個,直到有序 時間復雜度:o(n^2) 空間復雜度:o(1) 穩定性:不穩定 優點:表現最穩定,時間復雜度永遠o(n^2),不需要額外空間 缺點:穩定性上講,不穩定,效率低

              插入排序:從頭開始,不斷地將當前數據插入到之前排好的數據中,直到最后一個 時間復雜度:o(n^2) 空間復雜度:o(1) 穩定性:穩定 優點:效率略高于選擇和冒泡,穩定 缺點:效率不高

              希爾排序:將一組數據分成若干組,每個組中第一個元素與第二個元素相差“增量”個元素,對每個組進行插入排序,然后逐漸減小增量,分小組,直到增量為1(只有一個組)。 時間復雜度:o(nlogn) 空間復雜度:o(1) 穩定性:不穩定 優點:效率高于三種簡單排序,不需要額外空間 缺點:不穩定

              快速排序:從一組數據中找出一個基準,然后從后向前找比這個基準小的,放在基準位置,然后再從前向后找比基準大的,放在剛剛那個數字的位置,循環此過程,直到基準找到合適的位置,使基準前面的數字小于基準,基準后面的數字大于基準。接著換一個基準重復此方法,直到數列有序。 時間復雜度:o(nlogn) 空間復雜度:o(logn) 穩定性:不穩定 優點:排序速度最快

              歸并排序:(二路歸并排序)將一個長度為n的數列,兩兩分組,組的個數>=2,對每個組內排序;再將兩個組合并,排序,合并,排序,直到整個數列有序。 時間復雜度:o(nlogn) 空間復雜度:o(n) 穩定性:穩定

              堆排序:大頂堆:每個節點的值都大于其左右孩子 將一組數維護成大頂堆,找出堆頂元素拿走(交換堆頂元素和堆底元素,堆的元素個數減一),重新維護成一個大頂堆,重復操作,直到數列有序 時間復雜度:o(nlogn) 空間復雜度:o(n) 穩定性:不穩定

              基數排序:將一組數按個位元素分別放到0~9(十個桶)中,然后按十個桶的順序取出(先去0號桶,再取1號桶…),然后按十位元素分十個桶,將數字按十位元素再次放入,再次取出,直到數列有序。 時間復雜度:o(n*k) k:桶的個數 空間復雜度:o(n+k) 穩定性:穩定 缺點:不能對小數排序,只針對整數

              責任編輯:

              標簽:

              相關推薦:

              精彩放送:

              新聞聚焦
              Top 中文字幕在线观看亚洲日韩