search

歸併排序演算法

歸併排序演算法

  1、歸併排序演算法是一類不同的排序方法,合併的含義是將兩個或兩個以上的有序資料序列合併成一個新的有序資料序列;

  2、基本思想是假設陣列A有N個元素,陣列A是N個有序的子序列組成,每個子序列的長度為1,兩兩重複合併,得到一個長度為N的有序資料序列為止;

  3、合併演算法的核心操作就是將一維陣列中前後相鄰的兩個兩個有序序列合併成一個有序序列,合併演算法也可以採用遞迴演算法來實現。

拓撲排序演算法實現

  拓撲排序演算法實現採用鄰接表作為拓撲排序演算法的儲存結構,所設計的系統要有簡單的 DOS 介面,方便使用者進行操作,完成以下功能:

  1、實現圖的基本運算,如:增加邊,刪除邊,判斷邊是不是存在等;

  2、實現堆疊類,要求採用鏈式儲存結構實現;

  3、實現拓撲排序演算法,要求使用堆疊類存放入度為零的頂點;

  4、輸出拓撲排序的結果到文字檔案中儲存;

  5、退出系統。

排序演算法的時間複雜度計算

  演算法的時間複雜度的計算方法為:

  1、用常數1取代執行時間中的所有加法常數;

  2、在修改後的執行次數函式中,保留高階項;

  3、如最高階項存在且不是1,則去除與這個項相乘的常數;

  4、當n增大到一定值,n的冪次最高的項對時間複雜度影響最大,其它常數項和低冪次項可忽略不計。

  總結:一個演算法所耗費的時間等於演算法中每條語句的執行時間之和,演算法轉換為程式後,每條語句執行一次所需的時間取決於機器的指令效能、速度以及編譯所產生的程式碼質量等難以確定的因素。


簡述各種排序演算法的優缺點

  1、氣泡排序法:優點是資料穩定誤差小。缺點是速度慢。   2、選擇排序法:優點是移動資料的次數少。缺點是比較資料的次數多。   3、插入排序法:優點是資料穩定且速度快。缺點是比較次數浮動較大。   4、縮小增量排序法:優點是速度快且資料可以按一定順序排列。缺點是資料不穩定。 ...

彙編的排序演算法

  基本概念氣泡排序的基本概念是依次比較相鄰的兩個數,將大數放在前面,小數放在後面。即首先比較第1個和第2個數,將大數放前,小數放後。然後比較第2個數和第3個數,將大數放前,小數放後,如此繼續,直至比較最後兩個數,將大數放前,小數放後,此時第一趟結束,在最後的數必是所有數中的最小數,重複以上過程,仍從第一對數 ...

關於直接排序演算法

  直接排序演算法分為直接插入排序演算法和直接選擇排序演算法兩種。   1、直接選擇排序:一種簡單的排序方法,它的基本思想是:第一次從陣列中選取最小值,與第一位數交換,第二次從第二位到第n位中選取最小值,與第二位交換,以此類推。總共透過n-1次,得到一個按排序碼從小到大排列的有序序列。排序中存在著不相鄰元素之 ...

穩定排序演算法指的是什麼

  穩定排序演算法指的是在待排序的記錄序列中,存在多個具有相同的關鍵字的記錄。   若經過排序,這些記錄的相對次序保持不變,即在原序列中,ri等於rj,且ri在rj之前,而在排序後的序列中,ri仍在rj之前,則稱這種排序演算法是穩定的;否則稱為不穩定的。 ...

常用的排序演算法都有哪些

  直接插入排序、連結串列插入排序、折半插入排序、希爾排序、氣泡排序、快速排序、簡單選擇排序、歸併排序、二叉樹排序、基數排序等。   插入排序、氣泡排序、二叉樹排序、二路歸併排序及其他線形排序是穩定的, 選擇排序、希爾排序、快速排序、堆排序是不穩定的。插入、氣泡排序的速度較慢,但參加排序的序列區域性或整體有序 ...

氣泡排序演算法

  氣泡排序,是一種計算機科學領域的較簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越大的元素會經由交換慢慢浮到數列的頂端,故名氣泡排序。   氣泡排序演算 ...

常見的排序演算法哪個效率最高

  常見的排序演算法歸併排序的效率最高。   歸併排序是建立在歸併操作上的一種有效的排序演算法,該演算法是採用分治法的一個非常典型的應用。將已有序的子序列合併,得到完全有序的序列;即先使每個子序列有序,再使子序列段間有序。若將兩個有序表合併成一個有序表,稱為二路歸併。 ...