這個星期學習了幾種常見的演算法,整理如下
首先是氣泡排序,就是不停地交換,複雜度n*n,這裡就不上**了
接下來是插入排序,就是從已經排好序的序列中找到合適的位置,複雜度也是n*n,同理不上**。
接下來是希爾排序(shell sort),希爾排序是基於插入排序提出的,算作是插入排序的乙個優化,**如下
void insertsort(int a,int k,int grap,int n)
a[j+grap]=tmp;
}}
void shellsort(int a,int n)
show(a,n);
}}
接下來是快速排序,基本思想就是找乙個數,然後找到該數的合適位置,使得該數的左邊全部小於它,而右邊全部大於它,複雜度n*logn,然後分治**如下
void quicksort(int a,int low,int hight,int n)
}void buildheap(int *a,int n)
}
void heapsort(int *a,int n)
}
未完待續。。。
幾種常見排序演算法
幾種常見排序演算法 1氣泡排序 bubble sort 氣泡排序思路 將序列當中的左右元素,依次比較,保證右邊的元素始終大於左邊的元素 第一輪結束後,序列最後乙個元素一定是當前序列的最大值 對序列當中剩下的n 1個元素再次執行步驟1。3.對於長度為n的序列,一共需要執行n 1輪比較 實現 for i...
幾種常見排序演算法
1氣泡排序 bubble sort 氣泡排序思路 1.將序列當中的左右元素,依次比較,保證右邊的元素始終大於左邊的元素 第一輪結束後,序列最後乙個元素一定是當前序列的最大值 2.對序列當中剩下的n 1個元素再次執行步驟1。3.對於長度為n的序列,一共需要執行n 1輪比較 實現 for i 0 i n...
幾種常見排序演算法
以下內容包括 氣泡排序,選擇排序,桶排序 一 氣泡排序 bubblesort public class bubblesort int temp 0 for int i 0 i1 i system.out.println arrays.tostring arr 用arrays類中的tostring方法...