搜狗 C++工程師筆試題

時間:2020-12-20 15:07:19 筆試題目 我要投稿

搜狗2016 C++工程師筆試題

  快速排序在下面哪種情況下優勢最明顯()

搜狗2016 C++工程師筆試題

  A 數據有多個相同數值

  B 數據基本有序

  C數據基本無序

  D 數據無任何相同數值

  先思考一下再看答案吧!

  因為總是會有人一看題目就看到答案了

  這樣就很影響自己的思考

  既然這樣

  我們就思考一下再往下看

  參考答案:C

  快速排序屬于內部排序;

  快速排序的.實現基于分治法,具體分為三個步驟。假設待排序的序列為L[m..n]。

  分解:序列L[m .. n]被劃分成兩個可能為空的子序列L[m .. pivot-1]和L[pivot+1 .. n],使L[m .. pivot-1]的每個元素均小于或等于L[pivot],同時L[pivot+1.. n]的每個元素均大于L[pivot]。其中L[pivot]稱為這一趟分割中的主元(也稱為樞軸、支點)。

  解決:通過遞歸調用快速排序,對子序列L[m .. pivot-1]和L[pivot+1 .. r]排序。

  合并:由于兩個子序列是就地排序的,所以對它們的合并不需要操作,整個序列L[m .. n]已排好序。

  快速排序每次將待排序數組分為兩個部分,在理想狀況下,每一次都將待排序數組劃分成等長兩個部分,則需要logn次劃分。

  而在最壞情況下,即數組已經有序或大致有序的情況下,每次劃分只能減少一個元素,快速排序將不幸退化為冒泡排序,所以快速排序時間復雜度下界為O(nlogn),最壞情況為O(n^2)。在實際應用中,快速排序的平均時間復雜度為O(nlogn)。

【搜狗2016 C++工程師筆試題】相關文章:

威盛公司軟件C++工程師筆試題12-17

2016年c++經典面試題及答案10-03

嵌入式C/C++面試題201611-12

2016年華為認證C/C++筆試題目11-06

華為C++筆試題12-25

聯想C++筆試題12-24

Sony C++筆試題12-19

C++筆試題目分享12-20

華為c/c++筆試題12-19

亚洲制服丝袜二区欧美精品,亚洲精品无码视频乱码,日韩av无码一区二区,国产人妖视频一区二区
日本老熟女久久久久久久久 | 亚洲中文字幕乱码影院在线 | 在免费的视频在线观看婷婷 | 色婷婷综合精品中文在线 | 天天欧美日韩在线一区 | 午夜美女福利视频 |