摘要:排序算法索引待更數(shù)據(jù)結(jié)構(gòu)與算法桶排序數(shù)據(jù)結(jié)構(gòu)與算法快速排序時(shí)間復(fù)雜度算法的時(shí)間復(fù)雜度是一個(gè)函數(shù),其定量的描述了一個(gè)算法運(yùn)行時(shí)間和輸入規(guī)模之間的關(guān)系。總結(jié)在介紹排序算法之前,本篇先對(duì)后面排序算法的基本概念說(shuō)叨說(shuō)叨,打下一個(gè)基礎(chǔ)鋪墊。
聲明:碼字不易,轉(zhuǎn)載請(qǐng)注明出處,歡迎文章下方討論交流。
前言:Java數(shù)據(jù)結(jié)構(gòu)與算法專題會(huì)不定時(shí)更新,歡迎各位讀者監(jiān)督。在介紹各類排序算法之前,本篇先聊聊算法中的一些必備知識(shí)。
0、排序算法索引(待更)Java數(shù)據(jù)結(jié)構(gòu)與算法——桶排序
Java數(shù)據(jù)結(jié)構(gòu)與算法——快速排序
算法的時(shí)間復(fù)雜度是一個(gè)函數(shù),其定量的描述了一個(gè)算法運(yùn)行時(shí)間和輸入規(guī)模之間的關(guān)系。通常用O表示,且不包括這個(gè)函數(shù)的低階和首項(xiàng)系數(shù)。如果一個(gè)算法的執(zhí)行時(shí)間為2n^2+5n+4,那么該算法時(shí)間復(fù)雜度就可以表示為O(n^2)。
一般的時(shí)間復(fù)雜度,由好到壞大概有這么幾種O(1)、O(logn)、O(n)、O(nlogn)、O(n^k)(k>=2),一般情況下,當(dāng)算法時(shí)間復(fù)雜度高于O(n^2)時(shí),性能就變得相當(dāng)差,此時(shí)就該想辦法尋求更優(yōu)的方案。
O(n^2)的情形for(int i=0;iO(nlogn)的情形 for(int i=0;iO(logn)的情形 for(int i=0;iO(1)的情形 //與n無(wú)關(guān)的有限次的表達(dá)式,例如賦值,簡(jiǎn)單的運(yùn)算等2、空間復(fù)雜度空間復(fù)雜度是一個(gè)算法執(zhí)行過(guò)程中所消耗的臨時(shí)空間的一個(gè)度量。同時(shí)間復(fù)雜度一樣,也不包括這個(gè)度量函數(shù)的低階項(xiàng)和首項(xiàng)系數(shù)。相對(duì)的應(yīng)的,空間復(fù)雜度也有O(1)、O(logn)、O(n)、O(nlogn)、O(n^k)(k>=2)。
3、穩(wěn)定性在排序算法中,評(píng)估一個(gè)算法的優(yōu)劣,除了時(shí)間復(fù)雜度和空間復(fù)雜度以外,還有一個(gè)衡量指標(biāo)就是穩(wěn)定性。在一個(gè)待排序的序列中,可能存在多個(gè)相等的項(xiàng),經(jīng)過(guò)排序后如果這些項(xiàng)的相對(duì)次序保持不變,則我們說(shuō)這個(gè)算法是穩(wěn)定的,否則就是不穩(wěn)定的。
研究穩(wěn)定性的意義在于,如果算法是穩(wěn)定的,那么第一個(gè)元素排序的結(jié)果可以被第二個(gè)等值的元素在排序時(shí)所用,也就是說(shuō)可以避免多余的比較。
4、總結(jié)在介紹排序算法之前,本篇先對(duì)后面排序算法的基本概念說(shuō)叨說(shuō)叨,打下一個(gè)基礎(chǔ)鋪墊。
排序算法索引(待更)
Java數(shù)據(jù)結(jié)構(gòu)與算法——桶排序
Java數(shù)據(jù)結(jié)構(gòu)與算法——快速排序
碼字不易,如對(duì)您有幫助,歡迎點(diǎn)贊收藏打賞^_^
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/71060.html
摘要:穩(wěn)定與不穩(wěn)定算法示例以下圖片解釋了穩(wěn)定和不穩(wěn)定的排序是如何工作的這就是穩(wěn)定和不穩(wěn)定排序算法之間的區(qū)別。穩(wěn)定排序算法的一些常見(jiàn)示例是合并排序,插入排序和冒泡排序。 showImg(https://segmentfault.com/img/remote/1460000018913243); 來(lái)源 | 愿碼(ChainDesk.CN)內(nèi)容編輯 愿碼Slogan | 連接每個(gè)程序員的故事 網(wǎng)...
摘要:技術(shù)之類加載機(jī)制掘金類加載機(jī)制是語(yǔ)言的一大亮點(diǎn),使得類可以被動(dòng)態(tài)加載到虛擬機(jī)中。玩轉(zhuǎn)仿探探卡片式滑動(dòng)效果掘金講起本篇博客的歷史起源,估計(jì)有一段歷史了。 Java 技術(shù)之類加載機(jī)制 - Android - 掘金類加載機(jī)制是 Java 語(yǔ)言的一大亮點(diǎn),使得 Java 類可以被動(dòng)態(tài)加載到 Java 虛擬機(jī)中。 這次我們拋開(kāi)術(shù)語(yǔ)和概念,從例子入手,由淺入深地講解 Java 的類加載機(jī)制。 本文...
摘要:結(jié)構(gòu)型模式適配器模式橋接模式裝飾模式組合模式外觀模式享元模式代理模式。行為型模式模版方法模式命令模式迭代器模式觀察者模式中介者模式備忘錄模式解釋器模式模式狀態(tài)模式策略模式職責(zé)鏈模式責(zé)任鏈模式訪問(wèn)者模式。 主要版本 更新時(shí)間 備注 v1.0 2015-08-01 首次發(fā)布 v1.1 2018-03-12 增加新技術(shù)知識(shí)、完善知識(shí)體系 v2.0 2019-02-19 結(jié)構(gòu)...
閱讀 2741·2023-04-25 14:21
閱讀 1176·2021-11-23 09:51
閱讀 4019·2021-09-22 15:43
閱讀 612·2019-08-30 15:55
閱讀 1561·2019-08-29 11:28
閱讀 2448·2019-08-26 11:44
閱讀 1684·2019-08-23 18:15
閱讀 2883·2019-08-23 16:42