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
主站蜘蛛池模板: 99精品在线视频观看| 国产精品视频a| 亚洲国产成人综合精品2020| 久久女人网| 免费国产好深啊好涨好硬视频| 亚洲欧美不卡视频| 国产欧美视频一区二区三区| 亚洲综合在线网| 天天综合网站| 一级片一区| 欧美色99| 久久成人免费| 精品国产成人a在线观看| 亚洲欧洲日本在线| a亚洲天堂| 免费可以看的无遮挡av无码| 久久久久青草大香线综合精品| 国产三级国产精品国产普男人| 国产伦精品一区二区三区视频优播 | 国产中文一区a级毛片视频| 九九久久99精品| 六月婷婷精品视频在线观看| 中文字幕1区2区| 视频一区视频二区日韩专区| 亚洲精品视频免费看| 国产成人精品免费av| 亚洲综合亚洲国产尤物| 久久精品国产999大香线焦| 永久免费AⅤ无码网站在线观看| 免费毛片全部不收费的| 国产幂在线无码精品| 小说区 亚洲 自拍 另类| AV熟女乱| 日本91视频| 日本久久免费| 国产日韩欧美一区二区三区在线 | 国产精品亚洲αv天堂无码| 一本大道香蕉久中文在线播放| 国产女人在线| 极品私人尤物在线精品首页| 亚洲中久无码永久在线观看软件| 麻豆AV网站免费进入| 日本成人福利视频| 国产女人综合久久精品视| 这里只有精品免费视频| 欧美色视频网站| 在线观看精品自拍视频| 伊人五月丁香综合AⅤ| 国产成人av大片在线播放| 日韩无码黄色网站| 国产理论最新国产精品视频| 波多野结衣一级毛片| 精品国产aⅴ一区二区三区| www.91中文字幕| 国产不卡国语在线| 最新国产麻豆aⅴ精品无| 无码aaa视频| 精品无码一区二区在线观看| 亚洲精品欧美日本中文字幕| 欧美一级高清视频在线播放| 伊人久久大香线蕉成人综合网| 蜜臀av性久久久久蜜臀aⅴ麻豆| 国产成人久久777777| 欧美亚洲激情| 久久免费观看视频| 第一页亚洲| 欧美日一级片| 老司机久久99久久精品播放| 91无码人妻精品一区二区蜜桃| 香蕉伊思人视频| 久久这里只有精品23| 91福利国产成人精品导航| 国产一区二区三区视频| 幺女国产一级毛片| 色香蕉影院| 国产尤物视频在线| 91娇喘视频| 中国一级特黄大片在线观看| 无码人妻免费| 最新国语自产精品视频在| 日韩毛片基地| 精品一区二区三区波多野结衣 |