基本信息
- 項目名稱:
- 實用排序算法綜合解析
- 小類:
- 信息技術
- 大類:
- 科技發(fā)明制作B類
- 簡介:
- 本文將介紹并分析比較各種實用的基礎排序算法(不帶優(yōu)化)的運行效率,時間復雜度并總結其優(yōu)劣。文中代碼全由作者使用C語言原創(chuàng)編寫。
- 詳細介紹:
- 生活中充滿著各種各樣的數據,而計算機作為一種幫助人類解決實際問題的工具需要處理各種數據,而單純提取出的數據有時候是混亂無序的,這時候就需要對這些數據進行有序化處理以提高計算機處理效率。將雜亂無章的數據元素,通過一定的方法按關鍵字順序排列的過程叫做排序。 本文將按照穩(wěn)定性的區(qū)分由淺入深的介紹各種實用的基礎排序算法(不帶優(yōu)化)的算法思想,操作步驟。并根據具體代碼分析(為方便理解,文中全部代碼均為作者親自以最簡潔形式編寫,且經過編譯檢驗實際可行)比較其運行效率,時間復雜度以及空間復雜度。最后總結其優(yōu)劣。
作品專業(yè)信息
設計、發(fā)明的目的和基本思路、創(chuàng)新點、技術關鍵和主要技術指標
- 本作品是為了能夠綜合橫向比較各種排序算法的優(yōu)勢與劣勢,以大家所熟知的C語言代碼為樣例,為程序設計人員提供一個很好的參考資料。基本思路是按照各種排序算法的穩(wěn)定性區(qū)別,分別從最基本的算法入手,逐一介紹分析各算法。最后再綜合比較其時間,空間復雜度等參數。
科學性、先進性
- 本作品均按照各算法書和科學資料介紹的基本思想進行嚴謹的擴充后撰寫。所有代碼均由作者親自編碼,且通過Visual Studio 2010實際測試可行。 雖然許多算法書上都有各種算法介紹,但是都不算完整健全,且未進行科學的綜合分析比較,而互聯網上的各種比較文章都不精確,且范圍小。因此本作品是科學,先進,獨特的。
獲獎情況及鑒定結果
- 無
作品所處階段
- 完成
技術轉讓方式
- 無
作品可展示的形式
- 任意
使用說明,技術特點和優(yōu)勢,適應范圍,推廣前景的技術性說明,市場分析,經濟效益預測
- 數據的輸入和初始處理是程序設計中非常重要的一環(huán)。如果初始化程序能夠設計的好,可以極大的簡化后續(xù)程序的設計,甚至只需少許處理即可出解。由于實際應用中輸入的數據往往是雜亂無章的,使得數據有序化的排序算法的選擇就顯得尤為重要了。本文可以為各種程序設計人員提供很好的參考樣例和分析。
同類課題研究水平概述
- 國內外對此課題的綜合專業(yè)研究幾乎沒有。即使連微軟官方支持中也只有使用VB代碼編寫的簡要說明。(如下) 原版: 如何排序算法的數值數組 文章編號: 169617 - 最后修改: 2004年8月30日 - 修訂: 2.2 概要 本文演示如何使用排序算法來排序數字數組。它描述了三種方法之一對一系列數字進行排序,并提供示例代碼顯示如何實現它們與時間排序執(zhí)行的每個算法的。 它通常是所需排序一系列數字在代碼中,并且沒有可用于執(zhí)行此操作的各種排序算法。 更多信息 本文包括三種方法: 冒泡排序法 所選內容排序 外殼程序排序 盡管這可能很容易地更改為不同的數字數據類型,每個例程只需接收完整的邊界內的數字為長數據類型的數組。請注意,排序例程返回傳遞給該例程的數組中的排序操作的結果。因此,如果不想要修改原始數組,將數組復制到一個變量,如,在下面的示例所示,然后將該變量傳遞給相關的過程。