常用基礎陣列排序演算法

2021-07-16 14:41:34 字數 1408 閱讀 6106

解題思路

1、1 ~ n個數字,」自己」與」下一位」比較,選中最大的放在」下一位」,再以」下一位」為」自己」與」下一位」比較,直到選出最大的數字放在最後

2、1 ~ n-1 個數字,重複第一步驟操作

…..

n、直到剩下最後乙個數字

**思路

**解題思路

1、從1 ~ n 個數字中選擇最小的數字放在」第乙個」

2、從2 ~ n 個….(重複第一步驟)

…..

n、直到剩下最後乙個數字

**思路

**解題思路

1、第2個數與第1個數比較,小的插入前邊

2、第3個數與依次和前2個比較,插入比它小的位置

3、依次重複步驟2

…..

n、直到剩下0個數

**思路

**解題思路

分類:

1、按照遞迴方法,兩兩平分,直到長度為「1」;

**思路

**解題思路

1、選中第乙個資料(可隨機資料),進行排序,小於該資料,放左邊,大於放右右,且返回該資料最終所在的索引

2、如此進行遍歷…

**思路

**解題思路

大根堆,小根子

以下所建的堆是大根堆

1、構建堆,且每個節點為子節點的最大值(需要對每個節點進行排序)

a)先比較子節點,選出乙個最大值

b)最大子節點與節點比較。

c)如果節點小於子節點,交換,節點繼續與字字節點比較,重複步驟a、b

d)最終達到節點(包括交換後的子節點)為最大值的目的

2、把第乙個值與最後一直交換,個數為n-1,繼續重複步驟1(只需要對第乙個節點排序)

…. 直到只剩下最後乙個數

**思路

**解題思路

1、 根據 n/2 分組,直到組的長度為1(插入排序的分組為1,並且進行第二步)

2、一共有feet組,每組都進行頭尾排序,且排序後的資料還得繼續和前邊距離feet長度進行收尾排序(n–, 重複步驟1、2)

**思路

**

陣列常用排序演算法

今天覆習到陣列部分,發現陣列部分中比較重要的可能就是排序這個問題了。其他像遍歷 填充替換陣列元素 複製陣列 查詢陣列等都相對簡單,就把排序部分稍作整理。沒什麼高深知識,隨便看看就好。首先貼出氣泡排序和直接選擇排序的 兩者相近且比較簡單,本來打算分著寫更明顯,不過看著實在太短了,就在乙個類中寫出了,類...

java基礎篇《5》 常用陣列排序演算法

氣泡排序演算法 author lucien don public class bublesort n個數要比較n 1輪,外迴圈比較輪數,for int i 0 i1 i for int i 0 i 選擇排序法 author lucien don public class selectsort for...

常用排序基礎演算法 python

基本思想 兩個數比較大小,較大的數下沉,較小的數冒起來。過程 平均時間複雜度 o n2 引用from random import randint defbubble sort arr,order true 氣泡排序演算法 param arr 需要排序的陣列 param order 排序方向預設為tr...