
数据结构库
队列、链表、栈、二叉树的python实现方式,进行归纳整理
积跬步,慕至千里
知行合一!
想,都是问题;
做,才有答案!
展开
-
python实现:图(查找一条路径、全部路径、最短路径)
图 图是非线性的数据结构,由顶点和边组成。如果图中的顶点是有序的,那么图是有方向的,称之为有向图;否则,图是无向图。在图中,由顶点组成的序列称为路径。 在python中,可以采用字典的方式来创建图,图中的每个元素都是字典中的键,该元素所指向的图中其他元素组成键的值。 与树一样,对于图来说,也可以对其进行遍历。除了遍历外,还可以从图中搜索从一个顶点到另一个顶点的所有...原创 2019-04-09 16:18:42 · 22645 阅读 · 21 评论 -
python双指针问题——数组合并、二分查找、单链表和双链表的实现实例
'''双指针问题 指针最大的优点是可以有效利用零碎的内存空间 本部分内容主要涉及的三个问题: 1)数组合并:合并两个有序的数组 2)二分查找:在有序数组中查找元素 3)链表:链表的概念和应用'''一、用指针合并两个有序数组arr1 = [1,3,4,6,10]arr2 = [2,5,8,11]ind = 0ans = ar...原创 2019-02-18 16:23:39 · 867 阅读 · 0 评论 -
python哈希算法——两个数的和、三个数的和、单词模式匹配、猜词游戏、神奇的词根实现实例
哈希算法 哈希算法,又称为散列函数算法,是一种查找算法。简单来说,就是把一些复杂的数据,通过某种函数映射关系,映射成更加易于查找的方式。但是这种映射关系有可能会发生多个关键字映射到同一个地址的现象,称之为冲突。在这种特殊情况下,需要对关键字进行第二次或更多次的处理。 1)什么是哈希:简单介绍什么是哈希及哈希的原理 2)两个数的和:快速寻找两个数的和 3)单...原创 2019-02-19 14:50:50 · 1953 阅读 · 0 评论 -
python实现:队列
队列 队列和栈比较类似,可以和博文:https://blog.youkuaiyun.com/weixin_42521211/article/details/88946748参考学习。 队列的一个特性是:先进先出(First In First Out, FIFO),python中,同样可以使用列表来存储队列的数据。通过创建一个队列类,便可以方便的对队列进行操作。主要有:入队(In()...原创 2019-04-02 20:43:26 · 738 阅读 · 1 评论 -
python实现:二叉树
二叉树 和表、栈、队列等线性数据结构不同,树不是线性的。并且在处理较多的数据时,使用线性结构较慢,而使用树结构则可以提高处理速度。 三种遍历二叉树的方式:先序遍历、中序遍历、后序遍历先序遍历:如果二叉树不为空,则访问根节点,然后访问左子树,最后访问右子树;否则,程序退出。 中序遍历:如果二叉树不为空,则先访问左子树,然后访问根节点,最后访问右子树;否则,程...原创 2019-04-03 20:19:04 · 1470 阅读 · 0 评论 -
python实现:栈
栈 栈的一个特性:先进后出(First In Last Out, FILO)。python中,可以使用列表来存储栈的数据。通过创建一个栈类,便可以方便的对栈进行操作。主要有:进栈(push()) 出栈(pop()) 清空栈(empty()) 是否空栈(isEmpty()) 是否满栈(isFull()) 设置栈大小(setSize()) 获取栈顶位置(getTop(...原创 2019-04-01 14:09:44 · 560 阅读 · 0 评论 -
python深度优先算法——二叉树、小偷问题、二叉树中的最大路径和、最大的岛屿实现实例
本节涉及问题:什么是深度优先遍历 什么是二叉树、二叉树的类型、二叉树的遍历 怎么抓住小偷:树的深度优先搜索问题 二叉树中的最大路径和:树的深度优先搜索问题 最大的岛屿:连通性问题深度优先遍历算法:经典的图论算法,从某个节点v出发开始进行搜索,不断搜索直到该节点的所有边都被遍历完。当节点v的所有边都被遍历以后,深度优先遍历算法则需要回溯到v的前驱节点,来继续搜索这个前驱节点...原创 2019-02-20 15:45:11 · 1334 阅读 · 0 评论