review

時(shí)間復(fù)雜度所耗費(fèi)的時(shí)間從小到大依次是
O(1)< O(logn) < O(n) < O(n*logn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)

斐波那契數(shù)列

# encoding=utf-8
def fun(n):
    a, b = 0, 1
    while a < n:
        print(a)
        a, b = b, a+b

if __name__ == '__main__':
    fun(1000)

冒泡排序

時(shí)間復(fù)雜度O(n^2)

# encoding=utf-8
def bubble_sort(data_list):
    for i in range(len(data_list)-1):  # i代表需要冒泡循環(huán)比較的次數(shù)
        for j in range(len(data_list)-i-1):  # j代表循環(huán)到的下標(biāo)位置
            if data_list[j] > data_list[j+1]:  # 判斷相鄰大小修肠,并進(jìn)行交換
                data_list[j], data_list[j+1] = data_list[j+1], data_list[j]
    return data_list


if __name__ == '__main__':
    a = [10, 17, 50, 7, 30, 24, 27, 45, 15, 5, 36, 21]
    data = bubble_sort(a)
    print(data)

選擇排序

時(shí)間復(fù)雜度O(n^2)

# encoding=utf-8
def select_sort(data_list):
    for i in range(len(data_list)-1):
        min_index = i
        for j in range(i+1, len(data_list)):
            if data_list[j] < data_list[min_index]:
                min_index = j
        if min_index != i:
            data_list[i], data_list[min_index] = data_list[min_index], data_list[i]
    return data_list


if __name__ == '__main__':
    a = [10, 17, 50, 7, 30, 24, 27, 45, 15, 5, 36, 21]
    data = select_sort(a)
    print(data)

插入排序

時(shí)間復(fù)雜度O(n^2)

# encoding=utf-8
def insert_sort(data_list):
    for i in range(1, len(data_list)):
        for j in range(i, 0, -1):
            if data_list[j] > data_list[j-1]:
                data_list[j], data_list[j-1] = data_list[j-1], data_list[j]
    return data_list


if __name__ == '__main__':
    a = [10, 17, 50, 7, 30, 24, 27, 45, 15, 5, 36, 21]
    data = insert_sort(a)
    print(data)

快速排序

# encoding=utf-8
def quick_sort(data_list, start, end):
    """
    快速排序
    :param data_list: 未排序的list
    :param start: 起始元素下標(biāo)
    :param end: 結(jié)束元素下標(biāo)
    :return: 排序后的list
    """
    if start >= end:
        return

    mid = data_list[start]

    low = start

    high = end

    while low < high:
        while low < high and data_list[high] >= mid:
            high -= 1
        data_list[low] = data_list[high]

        while low < high and data_list[low] < mid:
            low += 1
        data_list[high] = data_list[low]

    data_list[low] = mid

    quick_sort(data_list, start, low-1)
    quick_sort(data_list, low+1, end)
    return data_list


if __name__ == '__main__':
    a = [10, 17, 50, 7, 30, 24, 27, 45, 15, 5, 36, 21, 20, 21, 21, 3294, 100]
    data = quick_sort(a, 0, len(a)-1)
    print(data)

希爾排序

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末磅网,一起剝皮案震驚了整個(gè)濱河市唉铜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌菠红,老刑警劉巖第岖,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異试溯,居然都是意外死亡蔑滓,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)遇绞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)键袱,“玉大人,你說(shuō)我怎么就攤上這事摹闽√憧В” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵付鹿,是天一觀的道長(zhǎng)澜汤。 經(jīng)常有香客問(wèn)我,道長(zhǎng)舵匾,這世上最難降的妖魔是什么银亲? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮纽匙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拍谐。我一直安慰自己烛缔,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布轩拨。 她就那樣靜靜地躺著践瓷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪亡蓉。 梳的紋絲不亂的頭發(fā)上晕翠,一...
    開(kāi)封第一講書(shū)人閱讀 49,144評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼淋肾。 笑死硫麻,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的樊卓。 我是一名探鬼主播拿愧,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼碌尔!你這毒婦竟也來(lái)了浇辜?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤唾戚,失蹤者是張志新(化名)和其女友劉穎柳洋,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體叹坦,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡熊镣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了立由。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片轧钓。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖锐膜,靈堂內(nèi)的尸體忽然破棺而出毕箍,到底是詐尸還是另有隱情,我是刑警寧澤道盏,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布而柑,位于F島的核電站,受9級(jí)特大地震影響荷逞,放射性物質(zhì)發(fā)生泄漏媒咳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一种远、第九天 我趴在偏房一處隱蔽的房頂上張望涩澡。 院中可真熱鬧,春花似錦坠敷、人聲如沸妙同。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)粥帚。三九已至,卻和暖如春限次,著一層夾襖步出監(jiān)牢的瞬間芒涡,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留费尽,地道東北人赠群。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像依啰,于是被迫代替她去往敵國(guó)和親乎串。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

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

  • 以Niklus Wirth的觀點(diǎn)速警,程序等于什么?程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法 算法的重要特性有窮性 確切性 輸入 ...
    _Felix__閱讀 609評(píng)論 0 0
  • 一組N個(gè)亂序數(shù)中尋找第K大的數(shù) 冒泡或者簡(jiǎn)單排序(時(shí)間復(fù)雜度:O(K * N))for(int i == 0 ; ...
    by666閱讀 130評(píng)論 0 0
  • 原文: 算法復(fù)雜度(一)[https://www.xiefayang.com/2021/01/12/%E7%AE%...
    i蝸居年華_謝謝謝閱讀 978評(píng)論 0 0
  • 樹(shù)的遍歷 先序:父左右 中序:左父右(在二叉查找樹(shù)中做此遍歷可以得到一個(gè)有序數(shù)列) 后序:左右父 二叉查找樹(shù): 遵...
    久病成醫(yī)__閱讀 389評(píng)論 0 0
  • 一叹誉、基本介紹 排序也稱排序算法(Sort Algorithm),排序是將一組數(shù)據(jù)闷旧,依指定的順序進(jìn)行排列的過(guò)程长豁。 排...
    Patarw閱讀 333評(píng)論 0 0