數(shù)據(jù)結(jié)構(gòu)和算法對一個程序來說是至關(guān)重要的,現(xiàn)在介紹一下幾種算法,在項目中較為常用的算法有:冒泡排序,簡單選擇排序,直接插入排序,希爾排序,堆排序,歸并排序,快速排序等7中算法。

  現(xiàn)在介紹選擇排序算法,希爾排序算法,快速排序算法。

    (1).選擇排序算法:通過n-i次關(guān)鍵字間的比較,從n-i+1個記錄中選擇出關(guān)鍵字最小的記錄,并和第i(1大于等于i小于等于n)個記錄交換。

    (2).希爾排序:先取一個小于n的整數(shù)d1作為第一個增量,把文件的全部記錄分組。所有距離為d1的倍數(shù)的記錄放在同一個組中。先在各組內(nèi)進行直接插入排序;然后,取第二個增量d2<d1重復上述的分組和排序,直至所取的增量   =1(  <  …<d2<d1),即所有記錄放在同一組中進行直接插入排序為止。

    (3).快速排序算法:通過一趟排序?qū)⒋判蛴涗浄指畛瑟毩⒌膬刹糠?,其中一部分記錄的關(guān)鍵字均比另一部分記錄的關(guān)鍵字小,則可分別對這兩部分記錄繼續(xù)進行排序,以達到整個序列有序

網(wǎng)友評論