你看到的是今天的我,昨天的我已经死了

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

随笔分类 -  数据结构与算法

数据结构与算法的Python实现
二叉树的遍历非递归实现
摘要:二叉树的遍历非递归实现 二叉树的非递归遍历使用栈来实现 由于才用先跟序,遇到节点就应该访问,下一步应该沿着该树的左支下行。 但节点的又支还没有访问,因此需要记录,将又节点压入栈中。 遇到空树就溯回,取出栈中的一个又分支,像一颗二叉树一样遍历它。 代码: 1 def preorder(t, proc) 阅读全文

posted @ 2019-08-26 13:13 橘子味的猫啊 阅读(145) 评论(0) 推荐(0) 编辑

大顶堆的实现
摘要:大顶堆的实现 1.什么是堆 堆结构就是一种完全二叉树。堆可分为最大堆和最小堆,区别就是父节点是否大于所有子节点。最大堆的父节点大于它的子节点,而最小堆中子节点大于父节点。看图有个清晰的认识: 2. 堆的表示 堆可以使用list实现,就是按照层序遍历顺序将每个节点上的值存放在数组中。父节点和子节点之间 阅读全文

posted @ 2019-08-25 13:43 橘子味的猫啊 阅读(853) 评论(0) 推荐(0) 编辑

二叉树的实现(补充)
摘要:二叉树的实现(补充) 本次实现的二叉树包括二叉树的先序遍历,中序遍历和后序遍历以及二叉树的层序遍历,还包括二叉树的高度,叶子节点以及反转二叉树 二叉树的层序遍历依然是使用Python内置的deque实现一个队列,根据队列先进先出(FIFO)的性质,先把二叉树的根节点放入队列中,判断队列是否为空,如果 阅读全文

posted @ 2019-08-25 13:21 橘子味的猫啊 阅读(282) 评论(0) 推荐(0) 编辑

二叉树的实现
摘要:二叉树的实现 1.二叉树的节点类 由于二叉树由一组节点组成,首先定义一个表示二叉树节点的类。节点通过链接引用其子节点,没有子节点时python用None表示,也就是说空二叉树直接用None表示。 下面是用python定义的二叉树节点的类: 1 class BinTreeNode: 2 def __i 阅读全文

posted @ 2019-08-25 13:05 橘子味的猫啊 阅读(266) 评论(0) 推荐(0) 编辑

导航