排序演算法 歸納總結

2021-07-22 14:17:42 字數 563 閱讀 9988

一、直接插入排序、氣泡排序和簡單選擇排序是最基本的排序方法,它們主要用於元素個數n(n<10000)不是很大的情形。

它們的平均複雜度均為o(n^2),實現也比較簡單。

1、直接插入排序對於規模很小的元素序列(n<=25)非常有效。它的時間複雜度與待排序元素序列的初始排列有關。在最好情況下,直接插入排序只需要n-1次比較就可以完成,而且不需要交換操作。在平均情況下和最差情況下,直接插入排序的比較和交換操作都是o(n^2).

2、氣泡排序在最好的情況下只需要一趟排序過程就可以完成,此時只需要n-1次比較操作,不需要交換操作。

3、簡單選擇排序的關鍵字比較次數與待排序元素序列的初始排序無關,其比較次數總是o(n^2),但元素移動次數則與待排序元素序列初始排列有關,最好情況下資料不需要移動,最壞情況下元素移動次數不超過3(n-1)次。

從空間複雜度來看,這三種基本的排序方法除了乙個輔助元素外,都不需要額外的空間,從穩定性來看,直接插入排序和氣泡排序是穩定的,但簡單選擇排序不是。

二、對於中等規模的元素序列(n<=1000),希爾排序是一種很好的選擇。<

排序演算法總結歸納 之 插入排序

按照排序的資料量的大小,一般將排序方法分為內排序和外排序。內排序是指待排序的資料元素都存放在記憶體中,而外排序則指待排序的資料量太大,不能同時存放在記憶體中,整個排序過程需要在內外存之間多次交換才能進行。常用的內排序演算法有 插入排序 選擇排序 交換排序 歸併排序和基數排序等。而外排序演算法則有多路...

查詢演算法和排序演算法的歸納總結

查詢演算法 有序查詢 時間複雜度 o n 二分查詢 時間複雜度 o logn 有序查詢演算法實現 public int search int searcher 二分查詢演算法實現 public int binary search int searcher return 1 排序演算法 氣泡排序 時間...

幾種基本排序演算法的總結歸納

概述 排序有內部排序和外部排序 我們討論的八大排序是內部排序 當n較大時,則應採用時間複雜度為o nlog2n 的排序演算法 快速排序 堆排序或歸併排序。快速排序shimuqian基於比較的內部排序中被認為最好的方法,當待排序的關鍵字是隨機分布時,快速排序的平均時間最短 各種排序的穩定性,時間複雜度...