摘要: 1 #include 2 #include 3 4 struct BTNode{ 5 char data;//数据域 6 struct BTNode * pLchild;//p是指针,L是左,child是孩子;即为左子树指针 7 struct BTNode * pRchild//右子树指针 8 } 9 //函数声明 10 struc... 阅读全文
posted @ 2019-08-20 22:36 孙晨c 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 注意事项: 1. 只有通过先序和中序 或者 中序和后序,可以还原出原始的二叉树(确定一个二叉树) 2. 已知先后中序的任意一个序列 或者 先序和后序,都不能还原出原始的二叉树 已知先序和中序,求后序: 思路: 先序里面,最先出现的是根节点,所以A就是根节点 中序里面,根节点A在中间,所以A的左边BD 阅读全文
posted @ 2019-08-20 14:42 孙晨c 阅读(1051) 评论(0) 推荐(0) 编辑
摘要: 二叉树操作: 一. 已知两种遍历序列求原始二叉树 二. 遍历: 1. 先序遍历(先访问根节点) 先访问根节点 再先序访问左子树 再先序访问右子树 访问左子树步骤: 1. 从根节点A开始 2. 访问A的左子树(以B为根节点的树) 3. 访问B的左子树(以D为根节点的树) 4. 访问D的左子树,为空 5 阅读全文
posted @ 2019-08-19 15:39 孙晨c 阅读(723) 评论(0) 推荐(0) 编辑
摘要: 树的存储: 二叉树的存储: 1. 连续存储(顺序存储)【完全二叉树】,以数组实现 优点: 查找某个节点的父节点和子节点(包括判断有没有子节点和父节点) 缺点: 耗用内存空间过大 2. 链式存储: 一个节点包含三个部分:左子节点地址、数据域、右子节点地址 优点:耗内存小 一般树的存储: 由于计算机的内 阅读全文
posted @ 2019-08-17 23:20 孙晨c 阅读(913) 评论(2) 推荐(0) 编辑
摘要: 非线性结构 树 定义: 1. 有且仅有一个称为根的节点 2. 有若干个互不相交的子树,这些子树本身也是一颗树 通俗的定义: 1. 树是有节点和边(指针)组成 2. 每个节点只有一个父节点但可以有多个子节点 3. 但有一个节点例外,该节点没有父节点,此节点称为根节点 双亲结点或父节点(parent): 阅读全文
posted @ 2019-08-17 22:20 孙晨c 阅读(999) 评论(0) 推荐(0) 编辑
摘要: 1 #include<stdio.h> 2 3 //函数的形参A、B、C不一定代表的是A、B、C柱子,递归传参的时候会变化! 4 void hanoit(int n,char A,char B,char C){ 5 if(n==1){ 6 //如果剩下一个盘子,直接将A柱上的盘子从A移到C(直接从初 阅读全文
posted @ 2019-08-16 14:27 孙晨c 阅读(527) 评论(0) 推荐(0) 编辑
摘要: 汉诺塔(Tower of Hanoi)源于印度传说中,大梵天创造世界时造了三根金钢石柱子,其中一根柱子自底向上叠着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。 伪算法(重点理解): 三个盘情况 阅读全文
posted @ 2019-08-16 00:51 孙晨c 阅读(1007) 评论(0) 推荐(0) 编辑
摘要: 函数的调用: 当一个函数的运行期间调用另一个函数时,在运行被调函数之前,系统需要完成三件事: 1. 将所有的实际参数、返回地址(被调函数下一条语句的地址)等信息传递给被调函数保存 2. 为被调函数的局部变量(也包括形参)分配存储空间 3. 将控制转移到被调函数的入口 从被调函数返回主调函数之前,系统 阅读全文
posted @ 2019-08-15 16:53 孙晨c 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 4 typedef struct Queue{ 5 int * pBase;//数组名就是第一个数组元素的地址 6 int front;//队首第一个元素下标 7 int rear;//队尾最后一个有效元素的下一个元素 8 }QUEUE; 9 10 //函数声明,此处可不写形参 1... 阅读全文
posted @ 2019-08-14 19:19 孙晨c 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 线性结构的两种常见应用之二: 队列 定义: 一种可以实现“先进先出”的存储结构,即“一端入,一端出”, 队首(front)出队,队尾(rear)入队(注:若front指向队首,则rear指向队尾最后一个有效元素的下一个元素;若rear指向队尾,则front指向队首第一个有效元素的下一个元素) 分类: 阅读全文
posted @ 2019-08-14 14:46 孙晨c 阅读(1569) 评论(0) 推荐(1) 编辑