排序演算法:簡單選擇,冒泡和直接插入
較好的一些鏈結
選擇、冒泡和直接插入
選擇排序
一、選擇排序:
1、在待排序序列中,找到第乙個最大(最小)元素,存放在排序序列的起始位置
2、在剩餘未排序的元素中,繼續尋找最大(最小)元素,然後放到已經排序的序列的第二個位置
3、以此類推。
時間複雜度為n的平方
tip:使用乙個min用於存放較小元素陣列的下標,減少交換的次數
二、氣泡排序:對相鄰的元素進行兩兩比較,將較大(小)的進行替換的後面,這樣每一趟排序都會將最大(最小)的元素「浮」到頂端,最終達到完全有序。
三、直接插入排序
每一步將乙個帶排序的記錄,插入到前面已經排好序的序列中去,直到插完所有元素為止(這一塊的交換位置的部分還沒有理解)
python 直接插入和簡單選擇排序
1.直接插入排序 直接插入排序的基本思想 將乙個記錄插入到已排序好的有序表中,從而得到乙個新記錄數增加1的有序表。即 先將序列的第1個記錄看成是乙個有序的子串行,然後從第2個記錄逐個進行插入,直至整個序列有序為止。直接插入排序的時間複雜度是o n 2 實現 def insert sort listn...
直接插入排序和簡單選擇排序
簡單選擇排序的思想 簡單選擇排序的基本思想是每一趟在 n i 1個記錄中選取關鍵字最小的記錄作為有序序列的第i個記錄 直接插入排序思想 基本操作是將乙個記錄插入到已經排好序的有序表中,從而得到乙個新的,記錄加1的有序表。兩者都是第二for迴圈都是不斷查詢,乙個是不斷往後找,乙個在當前i,不斷往前找。...
簡單排序 氣泡排序 簡單選擇排序 直接插入排序演算法
一.氣泡排序 基本思想 兩兩比較相鄰記錄的關鍵字,如果反序則交換,直到沒有反序的記錄為止。1.正宗的冒泡演算法 function bubblesort arr return arr 2.改進的冒泡演算法 function bubblesort arr return arr 3.複雜度分析 時間複雜度...