請選擇 進入手機版 | 繼續訪問電腦版

台灣粉絲俱樂部

Java中常用的七大排序算法

[複製鏈接]
本文作者:『千鋒大連』 | 發表於:2018-1-14 13:48:06


Java作為時下最流行的編程語言,自流行開始就沒有衰落過,作為一門永遠不過時的語言是可怕的,在千鋒教育參加Java培訓時總結了一些關於Java常用的排序算法,希望對大家的Java學習有所幫助。

1.插入排序算法

插入排序的基本思想是在遍歷數組的過程中,假設在序號 i 之前的元素即  都已經排好序,本趟需要找到 i 對應的元素 x 的正確位置 k ,並且在尋找這個位置 k 的過程中逐個將比較過的元素往後移一位,為元素 x “騰位置”,最後將 k 對應的元素值賦為 x ,一般情況下,插入排序的時間復雜度和空間復雜度分別為 O 和 O。

2.選擇排序算法

選擇排序的基本思想是遍歷數組的過程中,以 i 代表當前需要排序的序號,則需要在剩餘的  中找出其中的最小值,然後將找到的最小值與 i 指向的值進行交換。因為每一趟確定元素的過程中都會有一個選擇最大值的子流程,所以人們形象地稱之為選擇排序。選擇排序的時間復雜度和空間復雜度分別為 O 和 O 。



3.冒泡排序算法

冒泡排序是將比較大的數字沉在最下面,較小的浮在上面

4.快速排序算法

通過一趟排序將待排記錄分割成獨立的兩部分,其中一部分記錄的關鍵字均比另一部分的關鍵字小,則可以分別對這兩部分記錄繼續進行排序,已達到整個序列有序的目的,本質就是,找一個基位與尾節點位置互換,剩下最後的尾節點,現在最大,其餘的,從第一個元素開始到尾節點前一位,構造大頂堆遞歸。

內容來源皆為自媒體,轉貼請附上原文連結。
原文轉發,文章內金額部分多以人民幣為單位。
投稿或版權問題,請您聯繫:service#taiwanfansclub.com ( # ~> @ )
姓名標示─非商業性─相同方式分享
快速回復 返回頂部 返回列表