綜合排序總結

2021-09-24 14:52:08 字數 840 閱讀 3100

最好情況下(基本有序),高效的演算法是:

直接插入排序、氣泡排序。

無序情況下,高效的演算法是:

堆排序、快速排序、歸併排序

初始序列無關的排序演算法:簡單選擇

如果給你乙個陣列,長度很長,綜合排序會先進行乙個判斷,判斷陣列裡面放的資料型別是什麼樣的,是基礎型別(int,double,char,float,short)還是你自定義的型別(student)。

如果裝的是基礎型別的資料,則會用快排(不穩定);

原因是:基礎型別根本不用區分原始順序,相同值無差異。

如果資料的型別是你自己定義的(student)型別,則會用歸併排序(穩定)。

原因是:對乙個班級,先按照整個分數排序,再按照班級排序,此時相同班級的個體可能是不一樣的,是有差別的。

如果你的陣列長度很短,不管存放的是什麼型別的資料,綜合排序根本不會選擇快排或者歸併排序,它會直接用插入排序

原因是:插入排序的常數項極低,在樣本模數小於60的情況下直接用插入排序,為啥?因為,雖然插入排序是o(n2)的排序,但是當樣本量在極小的情況下,o(n2)的劣勢表現不出來,反而插入排序的常數項很低,導致在小樣本的情況下插入排序會飛快!

seo知識綜合總結

鷹潭seo針對之前跟大家分享的seo知識今天做乙個大體總結,想要了解具體的內容大家可以進入鷹潭seo www.jxytseo.com。第一篇 搜尋引擎與優化 seo基礎知識 什麼是搜尋引擎?搜尋引擎是指根據一定的策略 運用特定的電腦程式從網際網路上蒐集資訊,在對資訊進行組織和處理後,為使用者提供檢索...

設計模式綜合總結

定義 動態地給物件新增一些額外的職責,就像是在牆上刷油漆,使用decorator模式相比生成子類方式達到功能的擴充顯得更為靈活.為什麼使用 我們通常使用繼承來實現功能的擴充套件,如果這些需要擴充套件的功能種類繁多,那麼勢必生成很多子類,增加系統的複雜性 同時,使用繼承實現功能拓展,我們必須可以預見這...

漏洞綜合利用總結

目錄遍歷 繞過 常見的編碼方式 base64編碼和url編碼 防範 資料淨化,對 使用者提交過來的檔名進行硬編碼或者統一編碼,對檔案字尾進行白名單控制,對包含了惡意的符號或者空位元組進行拒絕。web應用程式可以使用chrooted環境訪問包含被訪問檔案的目錄,或者使用絕對路徑 引數來控制訪問目錄,使...