文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么用python实现各种数据结构

2023-06-22 07:28

关注

这篇文章主要为大家展示了“怎么用python实现各种数据结构”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用python实现各种数据结构”这篇文章吧。

快速排序

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)

以上是“怎么用python实现各种数据结构”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯