999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

常用排序算法的研究

2017-10-30 09:58:58陳舜青
新校園·上旬刊 2017年8期
關鍵詞:提高效率

陳舜青

摘要:現實生活中常常需要從大量信息中查找需要的信息。為使查找更加有效和便捷,需要按特定次序對信息預先排序后存儲,如按字母排列、分門別類存放圖書文獻。排序廣泛應用于數據處理、情報檢索、商業金融等領域。排序是程序設計中處理數據最基本的算法之一。本文就常用排序方法討論其基本思想、實現過程,對排序的穩定性以及時間復雜度和空間復雜度進行了分析。

關鍵詞:排序算法;提高效率;復雜度

一、幾種排序算法的比較

插入排序:每次把一個待排序的記錄插入到已排序的序列中,直到所有的記錄都插入為止。主要有直接插入排序和希爾排序,希爾排序的執行時間取決于增量序列。

交換排序:兩兩比較待排序的關鍵字,如果次序是反序的就交換,直到沒有反序的記錄為止。主要有冒泡排序和快速排序。

選擇排序:每一次從待排序的記錄中找出一個最小值放最前面,直到所有的記錄都排好。

通過實例操作驗證,在大數據下,排序時間從多到少的次序依次為:冒泡排序、選擇排序、插入排序、希爾排序、堆排序、快速排序。

二、排序的穩定性分析

如果排序前兩個相同的數字間的位置關系與排序后的位置相同,那么這種排序算法是穩定的,反之是不穩定的。冒泡排序和直接插入排序屬于穩定排序;直接選擇排序、快速排序和希爾排序屬于不穩定排序。

若排序碼是關鍵碼,則對任意待排序序列經排序后得到的結果是唯一的;若關鍵碼不是主關鍵碼,可能具有相同關鍵碼的多個記錄。

排序一般希望算法比較簡單,占用輔助空間較小,運行時間短。每一種算法都有自己的優缺點,適合在某些特定的環境下使用。

三、時間復雜度和空間復雜度

評價一種排序方法的好壞,主要通過時間代價和空間代價衡量。排序過程中基本操作是關鍵碼和記錄的移動,所以時間代價是以關鍵碼的比較次數和記錄的移動次數衡量的,記錄的數量和大小、排序表的大小、原始序列的排序狀態都會影響排序時間。

直接插入排序,空間復雜度為O(1),時間復雜度為O(n2);折半插入排序空間復雜度為O(1),定位一個關鍵碼的位置需要比較次數至多為log2(n+1)次,時間復雜度為O(nlog2n)。折半插入排序只能減少關鍵字間的比較次數,而移動記錄的次數和直接插入排序相同,故時間復雜度仍為O(n2)。這也是一種穩定排序方法,只適合順序存儲的排序表。交換排序的基本思想:通過排序表中兩個記錄關鍵碼的比較,若與排序要求相逆,則將兩者交換,直到沒有反序的記錄為止。

盡管快速排序的最壞時間為O(n2),但就平均性能而言,它是基于關鍵字比較的內部排序算法中速度最快的,也因此稱為快速排序,它的平均時間復雜度為O(nlgn)。

四、排序方法的選擇

從算法實現來看,各種排序算法各有優缺點,沒有絕對最優的。使用時要根據不同情況選用,還可以將多種方法結合使用。需要考慮的因素有:待排序的記錄個數、每個記錄的大小、關鍵字的結構和初始狀態、對排序穩定性的要求、存儲結構。

待排序記錄個數n較小時,n2和nlog2n區別不大,可選用簡單的排序方法。排序方法的選擇主要根據以下情況來考慮:

第一,最適用于n值很大而關鍵字較小的序列,使用條件比較嚴格,需要知道各級關鍵字的取值范圍,只適合整數和字符這類有明顯特征的關鍵字。

第二,當排序按記錄的主關鍵字進行時,排序方法是否穩定無關緊要;若排序按記錄的次關鍵字進行,則必須采用穩定的排序方法。

第三,大多數排序方法采用順序表來實現,若記錄本身信息量較大,為避免移動記錄耗費大量時間,可采用鏈式存儲結構。

對常規排序方法適當改進可以提高效率,比如:雞尾酒排序,是對冒泡排序的改進,效率有所提高,也叫定向冒泡排序。此算法與冒泡排序的不同處是先從低到高,再從高到低,最差時間復雜度O(n2),最優時間復雜度O(n),平均時間復雜度O(n2),所需輔助空間O(1),屬于穩定排序。而冒泡排序僅從低到高逐個比較序列中的元素。

五、結語

排序主要是用來檢索、選擇、評估數據,把無序的數據或記錄序列重新組織成按關鍵字排列的有序序列。影響排序速度的因素有多種,待排元素的應用領域、初始狀態、數據的多少和大小等。根據不同情況靈活選擇排序算法,才能提高排序速度、程序執行效率。隨著對排序算法研究的深入,一定會有更多的優秀算法及理論被應用于實際工作中。

參考文獻:

[1]張小莉,等.數據結構與算法(第3版)[M].北京:機械工業出版社,2014.

[2]嚴蔚敏,等.數據結構(C語言版)[M].北京:清華大學出版社,2011.

[3]連順金.快速排序的一種改進算法[J].三明學院學報,2009,26(4).

[4]陳琳琳,等.數據結構與算法(C語言版)(第3版)[M].北京:清華大學出版社,2015.

猜你喜歡
提高效率
如何培養小學生學習數學的興趣
瞄準目標,精細練習,提高效率
瞄準目標,精細復習,提高效率
剖析錯因 提高效率
創設情境 提高效率
甘肅教育(2020年8期)2020-06-11 06:10:20
提高效率
淺談鋼琴學習中如何提高效率
試論提高小學數學課堂教學效率應做到“六化”
東方教育(2016年4期)2016-12-14 09:19:05
農村初中英語課堂教學低效問題的探析
青年時代(2016年29期)2016-12-09 22:46:58
感悟語文教學魅力,打造高效語文課堂
考試周刊(2016年89期)2016-12-01 12:28:44
主站蜘蛛池模板: V一区无码内射国产| 一区二区影院| 9966国产精品视频| 91po国产在线精品免费观看| 亚洲天堂福利视频| 中国一级特黄视频| 91小视频在线| 日韩国产精品无码一区二区三区| 中文字幕av无码不卡免费 | 欧美性猛交一区二区三区| 在线亚洲小视频| 精品亚洲麻豆1区2区3区| 黄色a一级视频| 亚洲一区国色天香| 欧美综合中文字幕久久| 成年片色大黄全免费网站久久| 国产成人三级| 亚洲码一区二区三区| 97视频在线观看免费视频| 美女无遮挡被啪啪到高潮免费| 亚洲成av人无码综合在线观看| 久久精品嫩草研究院| 亚洲国产精品无码久久一线| 亚洲无码高清一区| 91探花国产综合在线精品| 欧美a在线视频| 午夜性刺激在线观看免费| 国产一区二区三区在线精品专区 | 婷婷色中文| 精品人妻一区无码视频| 中文字幕无码av专区久久 | 国产无吗一区二区三区在线欢| 成人午夜网址| 精品国产黑色丝袜高跟鞋| 毛片免费观看视频| 国产日韩欧美视频| 中文字幕免费播放| 福利片91| 久久精品国产国语对白| 婷婷激情五月网| 国产va在线观看| 亚洲高清无在码在线无弹窗| 手机精品视频在线观看免费| 2021无码专区人妻系列日韩| 国产 在线视频无码| 朝桐光一区二区| 97成人在线观看| …亚洲 欧洲 另类 春色| 米奇精品一区二区三区| 精品在线免费播放| 精品91在线| 免费毛片全部不收费的| 巨熟乳波霸若妻中文观看免费| 亚洲国产成人超福利久久精品| 成年免费在线观看| 欧美一区二区福利视频| 亚洲精品动漫在线观看| 欧美激情成人网| 日韩国产 在线| 国产一在线| 久久久久国产一级毛片高清板| 欧美h在线观看| 免费毛片a| 国产女人18水真多毛片18精品| 国产成人91精品免费网址在线| 亚洲精品免费网站| 1769国产精品免费视频| 成人久久精品一区二区三区| 亚洲欧美成人在线视频| 亚洲中文在线视频| 欧洲成人免费视频| 91在线激情在线观看| 国产日本视频91| 亚洲成人精品久久| 国产成人精品综合| 欧美成人午夜在线全部免费| a在线亚洲男人的天堂试看| 五月婷婷激情四射| 国产激情无码一区二区APP | 青青热久免费精品视频6| 免费一级全黄少妇性色生活片| 91 九色视频丝袜|