常用的排序算法的和查找算法小結(jié)

常用的排序算法的時間復雜度和空間復雜度

排序法最差時間分析????平均時間復雜度????穩(wěn)定度????空間復雜度

冒泡排序????O(n2)????O(n2)????穩(wěn)定????????O(1)

插入排序????O(n2)????O(n2)????穩(wěn)定????O(1)

選擇排序????O(n2)????O(n2)????穩(wěn)定????O(1)

二叉樹排序????O(n2????)O(n*log2n)????不一定????O(n)

快速排序????O(n2)????O(n*log2n)????不穩(wěn)定????????O(log2n)~O(n)

堆排序????O(n*log2n)????O(n*log2n)????不穩(wěn)定????????O(1)

希爾排序????O????????O????不穩(wěn)定????O(1)



查找算法時間復雜度

查找算法實現(xiàn):順序查找 二分查找 二叉樹排序查找 哈希表法(散列表) 分塊查找


冒泡排序

? ? ? ? ? 冒泡排序重復地走訪過要排序的數(shù)列啼止,一次比較兩個元素狂打,如果他們的順序錯誤就把他們交換過來败匹。走訪數(shù)列的工作是重復地進行直到?jīng)]有再需要交換,也就是說排序完成。規(guī)模比較小的時候應用冒泡排序,主要應用于教學。摘悴。。

選擇排序--只會移動N次

? ? ? ? ?選擇排序的主要思想:首先找到數(shù)組中最小的那個元素舰绘,其次蹂喻,將它和第一個元素交換。接下來找第二小和第二個交換捂寿。運行時間和輸入無關口四,數(shù)據(jù)移動最少。當數(shù)據(jù)量較小的時候適用秦陋。

插入排序

時間復雜度為O(n^2)蔓彩,數(shù)據(jù)量小時使用。并且大部分已經(jīng)被排序驳概。

快速排序

? ? ? ?快速排序是最快的通用排序算法赤嚼,在大多數(shù)實際情況中,快速排序是最佳選擇顺又。在java的默認排序中是使用的是三向切分排序更卒。

歸并排序

? ? ? 如果需要穩(wěn)定,空間不是很重要稚照,請選擇歸并蹂空。

O(n)時間復雜度的桶排序

? ? ?當范圍已經(jīng)知道俯萌,而且空間不是很重要的情況下使用桶排序。

總結(jié)排序

(1)若n較小(如n≤50)上枕,可采用直接插入或直接選擇排序绳瘟。

???  當記錄規(guī)模較小時,直接插入排序較好姿骏;否則因為直接選擇移動的記錄數(shù)少于直接插人,應選直接選擇排序為宜斤彼。

(2)若文件初始狀態(tài)基本有序(指正序)分瘦,則應選用直接插人、冒泡或隨機的快速排序為宜琉苇;

(3)若n較大嘲玫,則應采用時間復雜度為O(nlgn)的排序方法:快速排序、堆排序或歸并排序并扇。

???  快速排序是目前基于比較的內(nèi)部排序中被認為是最好的方法去团,當待排序的關鍵字是隨機分布時,快速排序的平均時間最短穷蛹;

???  堆排序所需的輔助空間少于快速排序土陪,并且不會出現(xiàn)快速排序可能出現(xiàn)的最壞情況。這兩種排序都是不穩(wěn)定的肴熏。

???  若要求排序穩(wěn)定鬼雀,則可選用歸并排序。但本章介紹的從單個記錄起進行兩兩歸并的? 排序算法并不值得提倡蛙吏,通吃戳ǎ可以將它和直接插入排序結(jié)合在一起使用。先利用直接插入排序求得較長的有序子文件鸦做,然后再兩兩歸并之励烦。因為直接插入排序是穩(wěn)定 的,所以改進后的歸并排序仍是穩(wěn)定的泼诱。

---------------------


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末坛掠,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子坷檩,更是在濱河造成了極大的恐慌却音,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件矢炼,死亡現(xiàn)場離奇詭異系瓢,居然都是意外死亡,警方通過查閱死者的電腦和手機句灌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進店門夷陋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來欠拾,“玉大人,你說我怎么就攤上這事骗绕∶暾” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵酬土,是天一觀的道長荆忍。 經(jīng)常有香客問我,道長撤缴,這世上最難降的妖魔是什么刹枉? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮屈呕,結(jié)果婚禮上微宝,老公的妹妹穿的比我還像新娘。我一直安慰自己虎眨,他們只是感情好蟋软,可當我...
    茶點故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著嗽桩,像睡著了一般岳守。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上涤躲,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天棺耍,我揣著相機與錄音,去河邊找鬼种樱。 笑死蒙袍,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的嫩挤。 我是一名探鬼主播害幅,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼岂昭!你這毒婦竟也來了以现?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤约啊,失蹤者是張志新(化名)和其女友劉穎邑遏,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體恰矩,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡记盒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了外傅。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纪吮。...
    茶點故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡俩檬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出碾盟,到底是詐尸還是另有隱情棚辽,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布冰肴,位于F島的核電站屈藐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏熙尉。R本人自食惡果不足惜估盘,卻給世界環(huán)境...
    茶點故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望骡尽。 院中可真熱鬧,春花似錦擅编、人聲如沸攀细。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谭贪。三九已至,卻和暖如春锦担,著一層夾襖步出監(jiān)牢的瞬間俭识,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工洞渔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留套媚,地道東北人。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓磁椒,卻偏偏與公主長得像堤瘤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子浆熔,可洞房花燭夜當晚...
    茶點故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容