常用的演算法

2021-08-21 20:00:16 字數 436 閱讀 5014

排序演算法:

氣泡排序:在要排序的一組數中,對當前還未排好序的範圍內的全部數,自上而下對相鄰的兩個數依次進行比較和調整,讓較大的數往下沉,較小的往上冒。即:每當兩相鄰的數比較後發現它們的排序與排序要求相反時,就將它們互換。

直接插入排序:要排序的一組數中,假設前面(n-1)[n>=2] 個數已經是排 好順序的,現在要把第n個數插到前面的有序數中,使得這n個數 也是排好順序的。如此反覆迴圈,直到全部排好順序。

簡單選擇排序:在要排序的一組數中,選出最小的乙個數與第乙個位置的數交換; 然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後乙個數比較為止。

快速排序:選擇乙個基準元素,通常選擇第乙個元素或者最後乙個元素,通過一趟掃瞄,將待排序列分成兩部分,一部分比基準元素小,一部分大於等於基準元素,此時基準元素在其排好序後的正確位置,然後再用同樣的方法遞迴地排序劃分的兩部分。

常用的演算法

1氣泡排序,複雜度o n2 最慢,效率最低 臨近的數字兩兩進行比較,按照從小到大或者從大到小的順序進行交換,這樣一趟過去後,最大或最小的數字被交換到了最後一位,然後再從頭開始進行兩兩比較交換,直到倒數第二位時結束,以此類推比較第i次。list 6,3,4,8,1,10 for i in range ...

常用的排序演算法

排序方式 插入排序 直接插入排序 shell排序 選擇排序 直接選擇排序 堆排序交換排序 氣泡排序 快速排序 歸併排序 分配和索引排序 基數排序 桶式排序 include using namespace std 直接插入排序 arr為待排陣列,n為陣列長度 void insertsort int a...

常用的查詢演算法

1 mid low high 2 2 當k arr mid 時,low mid 1,並重複1 當k 當k arr mid 時,找到,結束。直到low high,還沒找到那麼說明該關鍵字不存在。核心 實現 演算法步驟 1 第一步確定查詢節點在那個表中的那一塊。2 第二步在確定的塊中找到該節點。1 雜湊...