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

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

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

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

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

網(wǎng)友評(píng)論