欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

用python實現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)

 更新時間:2021年12月31日 10:06:51   作者:遲業(yè)  
這篇文章主要分享的是用python實現(xiàn)各種數(shù)據(jù)結(jié)構(gòu),快速排序、選擇排序、插入排序、歸并排序、堆排序heapq模塊等相關(guān)資料,感興趣的小伙伴可以參考一下

快速排序

    def quick_sort(_list):
            if len(_list) < 2:
                return _list
            pivot_index = 0
            pivot = _list(pivot_index)
            left_list = [i for i in _list[:pivot_index] if i < pivot]
            right_list = [i for i in _list[pivot_index:] if i > pivot]
        return quick_sort(left) + [pivot] + quick_sort(right)


選擇排序

    def select_sort(seq):
        n = len(seq)
        for i in range(n-1)
        min_idx = i
            for j in range(i+1,n):
                if seq[j] < seq[min_inx]:
                    min_idx = j
            if min_idx != i:
                seq[i], seq[min_idx] = seq[min_idx],seq[i]


插入排序

    def insertion_sort(_list):
        n = len(_list)
        for i in range(1,n):
            value = _list[i]
            pos = i
            while pos > 0 and value < _list[pos - 1]
                _list[pos] = _list[pos - 1]
                pos -= 1
            _list[pos] = value
            print(sql)


歸并排序

???

 def merge_sorted_list(_list1,_list2):   #合并有序列表
        len_a, len_b = len(_list1),len(_list2)
        a = b = 0
        sort = []
        while len_a > a and len_b > b:
            if _list1[a] > _list2[b]:
                sort.append(_list2[b])
                b += 1
            else:
                sort.append(_list1[a])
                a += 1
        if len_a > a:
            sort.append(_list1[a:])
        if len_b > b:
            sort.append(_list2[b:])
        return sort

    def merge_sort(_list):
        if len(list1)<2:
            return list1
        else:
            mid = int(len(list1)/2)
            left = mergesort(list1[:mid])
            right = mergesort(list1[mid:])
            return merge_sorted_list(left,right)


堆排序heapq模塊

    from heapq import nsmallest
    def heap_sort(_list):
        return nsmallest(len(_list),_list)


    from collections import deque
    class Stack:
        def __init__(self):
            self.s = deque()
        def peek(self):
            p = self.pop()
            self.push(p)
            return p
        def push(self, el):
            self.s.append(el)
        def pop(self):
            return self.pop()


隊列

    from collections import deque
    class Queue:
        def __init__(self):
            self.s = deque()
        def push(self, el):
            self.s.append(el)
        def pop(self):
            return self.popleft()


二分查找

    def binary_search(_list,num):
        mid = len(_list)//2
        if len(_list) < 1:
            return Flase
        if num > _list[mid]:
            BinarySearch(_list[mid:],num)
        elif num < _list[mid]:
            BinarySearch(_list[:mid],num)
        else:
            return _list.index(num)

到此這篇關(guān)于用python實現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)的文章就介紹到這了,更多相關(guān)python實現(xiàn)各種數(shù)據(jù)結(jié)構(gòu)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python 自動提交和抓取網(wǎng)頁

    python 自動提交和抓取網(wǎng)頁

    最近在研究怎么樣做個自動發(fā)帖器,要完成這個工具難度蠻大的,驗證碼就是一個大問題(還沒有想到解決辦法哦,不管了),先要解決的是如何抓取,分析和提交頁面的問題。
    2009-07-07
  • Python 的 with 語句詳解

    Python 的 with 語句詳解

    這篇文章主要介紹了Python 的 with 語句,本文詳細講解了with語句、with語句的歷史、with語句的使用例子等,需要的朋友可以參考下
    2014-06-06
  • windows+vscode穿越跳板機調(diào)試遠程代碼的圖文教程

    windows+vscode穿越跳板機調(diào)試遠程代碼的圖文教程

    本文通過圖文并茂的形式給大家介紹了windows+vscode穿越跳板機調(diào)試遠程代碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • python使用opencv實現(xiàn)馬賽克效果示例

    python使用opencv實現(xiàn)馬賽克效果示例

    這篇文章主要介紹了python使用opencv實現(xiàn)馬賽克效果,結(jié)合實例形式分析了Python使用cv2模塊操作圖片實現(xiàn)馬賽克效果的相關(guān)技巧,需要的朋友可以參考下
    2019-09-09
  • Python輸出列表(list)的倒序/逆序的幾種方法

    Python輸出列表(list)的倒序/逆序的幾種方法

    列表是一個有序的元素集合,而列表的倒序或逆序操作也是常見的需求之一,本文主要介紹了Python輸出列表(list)的倒序/逆序的幾種方法,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • pandas DataFrame 行列索引及值的獲取的方法

    pandas DataFrame 行列索引及值的獲取的方法

    這篇文章主要介紹了pandas DataFrame 行列索引及值的獲取的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python庫學(xué)習(xí)Tkinter制作GUI個性簽名設(shè)計軟件

    Python庫學(xué)習(xí)Tkinter制作GUI個性簽名設(shè)計軟件

    Tkinter 是 Python 中的標準 GUI 庫,使用 Tkinter 可以快速地創(chuàng)建 GUI 應(yīng)用程序。今天我們打算再用一個小案例,帶大家加深對Tkinter的理解
    2021-09-09
  • python基于tkinter實現(xiàn)gif錄屏功能

    python基于tkinter實現(xiàn)gif錄屏功能

    一直在思索實現(xiàn)一個透明的窗體,然后可以基于這個窗體可以開發(fā)出各種好玩的應(yīng)用,這一期,我們將實現(xiàn)有趣的GIF錄屏功能
    2021-05-05
  • 用Python復(fù)現(xiàn)二戰(zhàn)德軍enigma密碼機

    用Python復(fù)現(xiàn)二戰(zhàn)德軍enigma密碼機

    大家好,本篇文章主要講的是用Python復(fù)現(xiàn)二戰(zhàn)德軍enigma密碼機,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • 詳解Python如何生成詞云的方法

    詳解Python如何生成詞云的方法

    這篇文章主要介紹了詳解Python如何生成詞云的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06

最新評論