冒泡排序
冒泡排序(英語:Bubble Sort)是一種簡單的排序算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序(如從大到小、首字母從A到Z)錯誤就把他們交換過來。
過程演示:
選擇排序
選擇排序(Selection sort)是一種簡單直觀的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。
過程演示:
插入排序
插入排序(英語:Insertion Sort)是一種簡單直觀的排序算法。它的工作原理是通過構建有序序列,對於未排序數據,在已排序序列中從後向前掃描,找到相應位置並插入。插入排序在實現上,通常採用in-place排序(即只需用到 {\\displaystyle O(1)} {\\displaystyle O(1)}的額外空間的排序),因而在從後向前掃描過程中,需要反覆把已排序元素逐步向後
挪位,為最新元素提供插入空間。
過程演示:
希爾排序
希爾排序,也稱遞減增量排序算法,是插入排序的一種更高效的改進版本。希爾排序是非穩定排序算法。
希爾排序是基於插入排序的以下兩點性質而提出改進方法的:
- 插入排序在對幾乎已經排好序的數據操作時,效率高,即可以達到線性排序的效率
- 但插入排序一般來說是低效的,因為插入排序每次只能將數據移動一位
過程演示:
歸併排序
把數據分為兩段,從兩段中逐個選最小的元素移入新數據段的末尾。
可從上到下或從下到上進行。
過程演示:
(1)迭代法
(2)遞歸法
快速排序
在區間中隨機挑選一個元素作基準,將小於基準的元素放在基準之前,大於基準的元素放在基準之後,再分別對小數區與大數區進行排序。
過程演示:
(1)迭代法
(2)遞歸法
專注於技術熱點大數據,人工智能,JAVA、Python、 C 、GO、Javascript等語言最新前言技術,及業務痛點問題分析,請關注【編程我最懂】共同交流學習。
閱讀更多 編程我最懂 的文章
關鍵字: 排序 JavaScript 技術