摘要: 遍历方案 从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。因此,在任一给定结点上,可以按某种次序执行三个操作: 1).访问结点本身(N) 2).遍历该结点的左子树(L) 3).遍历该结点的右子树(R) 有次序: NLR、LNR、LRN 遍历的命名 根据访问结点操作发生 阅读全文
posted @ 2019-10-05 17:45 百家齐鸣 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 先建立二叉树节点,有一个data数据域,left,right 两个指针域 建立树: 手动建立二叉树 然后会生成下面的二叉树 除了 手动一个个的制定 node 节点,还可以创建一个 create 方法,接受用户输入添加二叉树节点。。。使用前续方式添加 ,代码如下: 使用create创建二叉树 通过 c 阅读全文
posted @ 2019-10-05 17:24 百家齐鸣 阅读(4614) 评论(0) 推荐(0) 编辑
摘要: 一、树的定义 树形结构是一类重要的非线性结构。树形结构是结点之间有分支,并具有层次关系的结构。它非常类似于自然界中的树。树的递归定义:树(Tree)是n(n≥0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件:(1)有且仅有一个特定的称为根(Root)的结点;(2)其余的结点可分为m(m 阅读全文
posted @ 2019-10-05 16:53 百家齐鸣 阅读(396) 评论(0) 推荐(0) 编辑
摘要: python双向链表和单链表类似,只不过是增加了一个指向前面一个元素的指针,下面的代码实例了python双向链表的方法 示意图: python双向链表实现代码: 输出: 5644056 阅读全文
posted @ 2019-10-05 16:31 百家齐鸣 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 链表由一系列不必在内存中相连的结构构成,这些对象按线性顺序排序。每个结构含有表元素和指向后继元素的指针。最后一个单元的指针指向NULL。为了方便链表的删除与插入操作,可以为链表添加一个表头。 删除操作可以通过修改一个指针来实现。 插入操作需要执行两次指针调整。 1. 单向链表的实现 1.1 Node 阅读全文
posted @ 2019-10-05 16:05 百家齐鸣 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 先来回顾一下栈和队列的基本概念: 相同点:从"数据结构"的角度看,它们都是线性结构,即数据元素之间的关系相同。 不同点:栈(Stack)是限定只能在表的一端进行插入和删除操作的线性表。 队列(Queue)是限定只能在表的一端进行插入和在另一端进行删除操作的线性表。它们是完全不同的数据类型。除了它们各 阅读全文
posted @ 2019-10-05 15:08 百家齐鸣 阅读(244) 评论(0) 推荐(0) 编辑