第五章——树(数据结构)
二 二叉树
二叉树的存储
顺序存储
链式存储
二叉树的定义
typedef struct BiTNode{int data;struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
二叉树的遍历
先序遍历
//先序遍历
int preTree(BiTree T){if(T==NULL) return 0;else{printf("%d ",T->data);preTree(T->lchild);preTree(T->rchild);}return 1;
}
中序遍历
//中序遍历
int inTree(BiTree T){if(T==NULL)return 0;else{inTree(T->lchild);printf("%d ",T->data); inTree(T->rchild);}
}
后序遍历
//后序遍历
int postTree(BiTree T){if(T==NULL)return 0;else{postTree(T->lchild);postTree(T->rchild);printf("%d ",T->data);}
}
例题解析
#include<stdio.h>
#include<stdlib.h>
typedef struct BiTNode{int data;struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;BiTree createTree(){BiTree T;int data;scanf("%d",&data);if(data==-1)return 0;else{T=(BiTree)malloc(sizeof(BiTNode));T->data=data;printf("请输入%d左子树的值:",data);T->lchild=createTree();printf("请输入%d右子树的值:",data);T->rchild=createTree();return T;}
} //先序遍历
int preTree(BiTree T){if(T==NULL) return 0;else{printf("%d ",T->data);preTree(T->lchild);preTree(T->rchild);}return 1;
}
//中序遍历
int inTree(BiTree T){if(T==NULL)return 0;else{inTree(T->lchild);printf("%d ",T->data); inTree(T->rchild);}
}
//后序遍历
int postTree(BiTree T){if(T==NULL)return 0;else{postTree(T->lchild);postTree(T->rchild);printf("%d ",T->data);}
}int main(){BiTree S;printf("输入第一个结点的数据");S=createTree();preTree(S);printf("\n");inTree(S);printf("\n");postTree(S); return 0;
}
运行结果
第五章——树(数据结构)相关推荐
- 【数据结构总结】第五章 树和二叉树(非线性结构)
第五章 树和二叉树(非线性结构) 提示:本文主要是以思维导图的形式概括数据结构第一章的精华内容,基本不会用到文字性的内容,目的是为了给大家梳理每个重要的知识点的相关概念,方便大家在复盘的时候快速阅读和 ...
- 第五章 Python数据结构
第五章 Python数据结构 本章更详细地讨论一些已经讲过的数据类型的使用,并引入一些新的类型. 5.1 列表 列表数据类型还有其它一些方法.下面是列表对象的所有方法: insert(i, x) -- ...
- 第五章 树16 AcWing 1628. 判断红黑树
第五章 树16 AcWing 1628. 判断红黑树 原题链接 AcWing 1628. 判断红黑树 算法标签 平衡树 思路 代码 #pragma GCC optimize(2) #pragma GC ...
- 数据结构(C语言第2版) 课后习题答案之第五章 树和二叉树
目录 第5章 树和二叉树 一.选择题 二.应用题 (1)试找出满足下列条件的二叉树 (2)设一棵二叉树的先序序列: A B D F C E G H ,中序序列: B F D A G E H C (3 ...
- 408数据结构考研笔记——第五章树与二叉树(重点)
目录 一.基本概念 1.定义 2.基本术语 3.性质(重点!!) 二.二叉树 1.定义 2.特殊二叉树 1.满二叉树 2.完全二叉树 3.二叉排序树 4.平衡二叉树 3.性质 4.存储结构 1.顺序存 ...
- 王道408数据结构——第五章 树与二叉树
文章目录 一.树的基本概念 树的性质 二.二叉树 满二叉树 完全二叉树 二叉排序树 平衡二叉树 二叉树的性质 完全二叉树的性质 三.二叉树的储存结构 顺序储存 链式存储 四.树的储存方式 双亲表示法 ...
- (王道408考研数据结构)第五章树-第四节2:平衡二叉树(AVL)及其旋转
文章目录 一:AVL树基本概念 二:AVL树实现原理 (1)构建AVL树 (2)构建演示 (3)旋转方法 A:右单旋转调整(插入到较高左子树左侧) B:左单旋转调整(插入到较高右子树右侧) C:先左后 ...
- (王道408考研数据结构)第五章树-第三节1:二叉树遍历(先序、中序和后序)
文章目录 一:二叉树遍历概述 二:二叉树深度优先遍历 (1)先序遍历-根左右(NLR) (2)中序遍历-左根右(LNR) (3)后序遍历-左右根(LRN) 总结:三种遍历方式动图演示 三:二叉树的层序 ...
- 王道数据结构课代表 - 考研数据结构 第五章 树和二叉树 究极精华总结笔记
本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对数据结构知识点的理解的总结.希望对新一届的计算机考研人提供帮助!!! 关于对 树和二叉树 章节知识点总结的十分全面,涵括了<王道 ...
- C语言数据结构【手抄版】第五章 树和二叉树【上篇】
注意:文中彩色代码均在Visual Studio 2022编译器中编写,本文为C语言数据结构手抄版,文中有部分改动,非原创. 目录 5.1.树的基本概念和术语 1.树的定义 2.树的表示法 3.基本术 ...
最新文章
- 铅笔芯为什么点不着?
- 无论腾讯是自主开放还是被开放,我们都表示欢迎和支持
- Java 洛谷 P1055 ISBN号码
- word文档打印 自动编码_职场老油条才知道的3个Word打印技巧,一年能节省几百张打印纸!...
- 魔兽世界工程学技能1-375冲级攻略
- java 类 加载 初始化_java中类的初始化和加载
- Linux---用户与用户组管理
- 北京科技大学 工科物理实验 大二下
- VB6各类源码开源 - 开源研究系列文章
- 安全中心服务器已关闭啥意思,启用windows安全中心服务是什么意思,windows安全中心服务关闭方法...
- sis最新地址获取方法_微信表情悄悄更新,获取最新表情方法!
- 计算机网络管理工程师证书考试试题,(信息化知识)国家信息化人才考试计算机网络工程师模拟试题.pdf...
- scheme唤醒app-抖音
- Cohort Analysis Using Python
- JavaScript的String的replace和replaceAll的差别
- pyecharts主题theme风格推荐
- 在自己电脑上建立SVN服务器
- 来自一位十余年工作经验的老电子工程师的心里话:该出手时便出手!
- [数据分析与可视化] 数据绘图要点9-颜色的选择
- 一文详解:双向ESD二极管型号及选型
热门文章
- css设置兄弟元素样式-兄弟选择器
- Python--print(xx)内容为空,打印不出内容;原因是文件句柄对象在迭代后,对象内的数据会逐渐清空
- 云计算基础-基本概念(一)
- iOS中Mach异常和signal信号介绍,以及当APP崩溃时做线程保活弹出程序异常提示框
- 清华大学2001年机试-字符串排序-1066
- $F $ 等符号的意思
- Java基础语法学会了,JavaScript瞄一眼就行,瞅第二眼我看不起你!
- 图片翻译如何操作?图片翻译的方法分享.
- JAVA制作网页的软件有哪些,html5开发工具(开发html5网页的软件有哪些)
- jQuery 即点即改