計算機, 程序設計
合併排序:對算法的操作的描述和與其他類型的數據排序的差異
在開發各種程序時,程序員幾乎總是不得不訴諸於使用排序來優化工作算法,提高搜索操作的性能等。今天,按照所需的順序排列元素有許多不同的方法:通過合併排序,使用鍵等排序是一組操作,其結果導致類似對象按順序排序或依次增加,這取決於要求 具體任務
排序算法的 所有種類可以分為兩類:數組排序和文件位置按照一定順序排列。 第一種類型的對像不僅可以位於RAM中,也可以位於某些介質上,前提是直接打開對其的訪問。 物體的第二類應在物料載體上:磁盤或磁帶。
數組元素的順序和聲明順序排列的文件之間的關鍵區別在於,數組的所有成員在訪問數組時都可以隨時訪問,因此排序過程在程序開始後立即開始,而不會因為一個或另外一個不可訪問而停止元素。 同時,在特定時間訂購文件時,只能訪問有限的一組成員。
通過使用合併排序對文件進行排序通常是足夠的,這是按照某種順序排列元素的基本原理開發的。 通常,排序過程可以描述如下:特定數據段被分配並用作密鑰。 例如,您可以考慮在指定索引處排序郵件項的示例。 因此,該算法不能對信息進行全面的分析,但同時它以很高的概率分類必要的元素。
順序文件和直接訪問文件的主要區別是它們可以放置在媒體上,這很難組織永久直接訪問。 此外,這些文件通常不會對存儲的記錄使用固定長度。 由於這些功能,順序文件僅在兩種情況下應用:
- 如果需要使用面向順序訪問 的數據載體 ;
- 當使用可變長度的記錄時方便。
排序合併通常用於現代軟件。 這是由於順序文件的廣泛分發。 例如,幾乎所有的文本文件都是連續的。 儘管考慮將順序組織的文件視為數據陣列的方便,但是由於文件的所有元素都不能物理或物理訪問,因此這種方法是不可能的。
事實上,通過合併排序已經成為排序順序文件的唯一方法。 儘管今天還有其他方法來排序順序文件,但是這種方法仍然是最受歡迎的方法之一。 對自然合併進行排序包括將文件分為兩部分,相當於信息量。 從每個文件還可以逐步讀取當前可用的元素。 有序元素按照第三個文件中所需的順序排列,後來分為兩個類似的大小。 因此,執行合併排序。 Pascal,C,Basic - 最知名的編程語言支持這種順序文件排序的實現。
Similar articles
Trending Now