Python数据结构和算法
文章平均质量分 94
python 提供了很多现成的数据结构类型,系统定义好的称为内置数据结构,比如:列表 (list),元组 (tuple),字典 (dict),还有部分pythoh系统中没有直接定义,需要我们自己去定义实现的数据结构,称为python的扩展数据结构,比如,栈,队列等。
晚风(●•σ )
期待与你共同努力,感谢你的关注!
展开
-
Python数据结构学习笔记——树和图
目录一、树的相关概念二、二叉树的python代码实现(一)列表之列表(二)节点与引用三、一、树的相关概念树是一种数据结构,树由结点及连接结点的边组成,每个树有且只有一个根结点,除了根结点以外,其它每个结点都与其有唯一的父结点相连,其中根结点到其它每个结点也有且只有一条路径。1、二叉树若树中每个节点最多有两个子结点,则称为二叉树,即每个结点的子结点不超过两个,由根结点分叉的两个结点中,左边称为左子树,右边称为右子树,如下图:2、满二叉树若一个深度为k的树,具有2k-1个结点,则称该树为满二叉树,原创 2022-02-27 16:42:31 · 1491 阅读 · 0 评论 -
Python数据结构学习笔记——搜索与排序算法
目录一、搜索(一)搜索的方法(二)顺序搜索(三)二分搜索二、排序(一)内排序和外排序(二)冒泡排序(三)选择排序(四)插入排序(五)希尔排序(六)归并排序(七)快速排序一、搜索(一)搜索的方法搜索是指从元素集合中找到某个特定元素的算法过程,搜索过程通常返回True或False,分别表示元素是否存在。Python中通过运算符in来检查一个元素是否处于元素集合中,如下:print("C" in ["C", "S", "D", "N"])print("C" in (1, 2, 3))print("c"原创 2022-02-19 21:14:47 · 1014 阅读 · 2 评论 -
Python数据结构学习笔记——链表:无序链表和有序链表
目录一、链表二、无序列表 实现步骤分析三、无序列表的Python实现代码四、有序列表 实现步骤分析五、有序列表的Python实现代码结语一、链表链表中每一个元素都由为两部分构成:一是该链表节点的数据,二是指向下一个节点的引用。1、定义节点类,链表中的节点包含数据以及指向下一个节点的引用,在构造方法中定义一个变量data用于存储数据,另定义一个变量next等于None,即指向None的引用,代表传入的节点后面没有元素(由于不确定传入的元素数目),使其指向一个空值;# 节点类class Node:原创 2022-01-18 14:45:51 · 1662 阅读 · 2 评论 -
Python数据结构学习笔记——队列和双端队列
目录一、队列的定义二、实现分析步骤三、队列的Python实现代码四、队列的应用结语一、队列的定义队列和栈一样,也是元素的有序集合,其元素的顺序取决于添加顺序或移除顺序,它也有两端,称作头部和尾部,栈中元素的添加操作和移除操作与栈不一样,添加操作发生在队列的尾部,移除操作发生在队列的头部。队列中最先添加的元素将最先被移除,队列的排序原则被称作FIFO,即先进先出,最先添加的元素在队列头部,它最先最移出队列。这种排列方式可以比喻成日常的排队,很多人排成一队,所有的人从队的一端入队,从另一端出队。队原创 2022-01-14 17:47:02 · 4176 阅读 · 2 评论 -
Python数据结构学习笔记——栈
目录一、栈的定义和特性(一)栈的定义(二)栈的反转特性二、实现分析步骤三、栈的Python实现代码四、栈的应用(一)匹配圆括号(二)匹配符号(三)模2除法(十进制转二进制)(四)进制转换结语一、栈的定义和特性(一)栈的定义栈是一种线性数据结构,栈是元素的有序集合,其元素的顺序取决于添加顺序或移除顺序,它有两端,称作顶端和底端,即对应栈的栈顶和栈底,栈中元素的添加称为入栈,而元素的移除称为出栈,栈中元素的添加操作和移除操作都发生在其顶端。栈中最后添加的元素将最先被移除,栈的排序原则被称作LIFO,原创 2022-01-12 17:48:26 · 2164 阅读 · 0 评论