iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >用python实现各种数据结构
  • 622
分享到

用python实现各种数据结构

2024-04-02 19:04:59 622人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录快速排序选择排序插入排序归并排序堆排序heapq模块栈队列二分查找快速排序 def quick_sort(_list): if len(_li

快速排序


    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实现各种数据结构的文章就介绍到这了,更多相关Python实现各种数据结构内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 用python实现各种数据结构

本文链接: https://www.lsjlt.com/news/161333.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 用python实现各种数据结构
    目录快速排序选择排序插入排序归并排序堆排序heapq模块栈队列二分查找快速排序 def quick_sort(_list): if len(_li...
    99+
    2024-04-02
  • 怎么用python实现各种数据结构
    这篇文章主要为大家展示了“怎么用python实现各种数据结构”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用python实现各种数据结构”这篇文章吧。快速排序def quick_s...
    99+
    2023-06-22
  • redis各种数据类型底层数据存储结构
    redis 的数据类型使用不同的底层存储结构:字符串:简单动态字符串(sds)哈希:哈希表,使用链表或跳跃表处理哈希碰撞列表:双向链表集合:哈希表或整数集合,使用布隆过滤器有序集合:跳跃...
    99+
    2024-04-19
    redis
  • Python: 实现bitmap数据结构
    http://my.oschina.net/goal/blog/200347  bitmap是很常用的数据结构,比如用于Bloom Filter中、用于无重复整数的排序等等。bitmap通常基于数组来实现,数组中每个元...
    99+
    2023-01-31
    数据结构 Python bitmap
  • 用Python实现数据结构之栈
    栈是最简单的数据结构,也是最重要的数据结构。它的原则就是后进先出(LIFO),栈被使用于非常多的地方,例如浏览器中的后退按钮,文本编辑器中的撤销机制,接下来我们用Python来具体实现这个数据结构。 栈中的方法 作为一个栈(用S来表示...
    99+
    2023-01-30
    数据结构 Python
  • 用Python实现数据结构之树
    树是由根结点和若干颗子树构成的。树是由一个集合以及在该集合上定义的一种关系构成的。集合中的元素称为树的结点,所定义的关系称为父子关系。父子关系在树的结点之间建立了一个层次结构。在这种层次结构中有一个结点具有特殊的地位,这个结点称为该树...
    99+
    2023-01-30
    数据结构 之树 Python
  • JavaScript数据结构之链表各种操作详解
    目录1 数组与链表的优缺点2 什么是链表3 封装链表结构4 向链表尾部添加一个新的项5 向链表某个位置插入一个新的项6 获取对应位置的元素7 获取元素在链表中的索引8 修改某个位置的...
    99+
    2022-11-13
    JavaScript链表 JavaScript数据结构 JS链表
  • 用Python实现数据结构之链表
    链表与栈,队列不一样,它是由一个个节点构成的,每个节点存储着本身的一些信息,也存储着其他一个或多个节点的引用,可以从一个节点找到其他的节点,节点与节点之间就像是有链连在一起一样,这种数据结构就叫做链表 单向链表是链表的最简单形式,链表...
    99+
    2023-01-30
    数据结构 链表 Python
  • 用Python实现数据结构之队列
    队列与栈的类型很相似,但它遵循的原则是先进先出(FIFO),也就是元素插入的时候只能在该数据结构的末端,而删除只能删除最前面的元素。队列同样应用广泛,例如打印机的队列或者是一个web服务器响应请求。 关于队列的方法 作为一个队列,同样...
    99+
    2023-01-30
    数据结构 队列 Python
  • Java Iterator 和 Iterable 实战解析:巧妙处理各种数据结构
    1. 数组 数组是最简单的数据结构之一,它可以存储一系列元素,元素的类型必须相同。要迭代数组,可以使用以下代码: int[] numbers = {1, 2, 3, 4, 5}; for (int number : numbers) {...
    99+
    2024-02-14
    Java Iterator Iterable 数据结构 数组 列表 集合 映射
  • 关于数据结构单向链表的各种操作
    目录关于节点数据添加:尾添加头添加一次性添加n个x数据节点:关于查找:根据指定数据:根据下标查找:删除头节点:删除尾节点:删除中间节点:删除全部节点:关于节点数据添加: 尾添加 最核...
    99+
    2023-05-15
    数据结构 数据结构单向链表
  • Python数据分析 | 各种图表对比总结
    本期将带领大家一起对在数据可视化的过程中常用的一些图表进行下总结: 条形图 【适用场景】 适用场合是二维数据集(每个数据点包括两个值x和y),但只有一个维度需要比较,用于显示一段时间内的数据变化或显示各项之间的比较情况。 【优势】 条形图...
    99+
    2023-08-30
    数据分析 python 信息可视化
  • 学习如何使用各种数据结构的Go语言技巧
    掌握Go语言中各种数据结构的使用技巧,需要具体代码示例 在Go语言中,数据结构是程序中非常重要的一部分。通过合理地使用数据结构,我们可以提高程序的效率和可读性。本文将介绍Go语言中常用的各种数据结构,并给出具...
    99+
    2024-01-18
    Go语言 数据结构 使用技巧
  • python三种数据结构及13种创建方法总结
    目录字符串的3种创建方式列表的5种创建方式字典的5种创建方式Python常用的数据结构,有如下几种。但是我们用的最多的,还是字符串、列表、字典这3种。 其实学习任何一门编程语言,最...
    99+
    2024-04-02
  • 数据结构:链表(Python语言实现)
    链表分为单链表、双链表、循环单链表和循环双链表。 本文以单链表为例,用python创建一个单链表数据结构,同时定义链表节点的增加、删除、查询和打印操作。 一、创建节点类 创建一个名为Node的节点类,节点类里面包含2个属性和1个方法。...
    99+
    2023-09-24
    链表 数据结构 python 算法 Powered by 金山文档
  • redis五种数据结构的底层实现方法
    本篇内容主要讲解“redis五种数据结构的底层实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“redis五种数据结构的底层实现方法”吧!实现方法:1、每种数据结构都有自己底层的内部编码实现...
    99+
    2023-06-20
  • EasyExcel实现导入+各种数据校验
    实现的功能 实现的功能 1.导入非xls和xlsx格式的文件2.导入空数据的excel文件3.数据缺失4.导入的excel文件中有重复的数据5.导入的excel文件数据错误6.导入的模板不是正确模板 1.导入非xls和xlsx...
    99+
    2023-08-23
    java excel 开发语言
  • python 实现树结构的七种遍历
    class BTree(object): def __init__(self, value=None, left=None, right=None): self.val = value se...
    99+
    2023-01-31
    遍历 七种 结构
  • python 数据结构
    list(列表)创建list方式1  : 直接创建  theList = [1,2,3,4,5,6,7,8,9]                    ==> [1,2,3,4,5,6,7,8,9]方式2 : 使用内建方法list()...
    99+
    2023-01-31
    数据结构 python
  • 用Python对PDF实现各种操作
    本篇内容主要讲解“用Python对PDF实现各种操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“用Python对PDF实现各种操作”吧!Portable Document  Form...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作