数据结构基础篇--树

本文介绍了树的基础知识,包括定义、名词理解,如结点、结点的度等。还阐述了二叉树的定义、性质,如第i层至多有2^(i - 1)个结点等,介绍了满二叉树、完全二叉树及其性质,最后讲解了二叉树的三种遍历方法及复杂度。

树的基础知识

定义:树是一个n(n>=0)个结点的有序合集

名词理解:
结点:指树中的一个元素;
结点的度:指结点拥有的子树的个数,二叉树的度不大于2;
数的度:指树中的最大结点度数;
叶子:度为0的结点,也称为终端结点;
高度:叶子节点的高度为1,根节点高度最高;
层:根在第一层,以此类推;

二叉树的定义:由一个结点和两颗互不相交、分别称为这个根的左子树和右子树的二叉树构成(递归定义)

二叉树的性质:
1:二叉树的第i层上至多有2^(i-1)个结点
2:深度为k的二叉树,至多有2^k-1个结点

满二叉树:叶子节点一定要在最后一层,并且所有非叶子节点都存在左孩子和右孩子;
最特别的二叉树:完全二叉树:从左到右、从上到下构建的二叉树;

完全二叉树的性质:
1:结点 i 的子结点为2*i 和 2*i+1(前提是都小于总结点数)
2:结点 i 的父结点为 i/2 

二叉树的遍历(要有递归的思想!!!):
1:先序遍历:根->左子树->右子树(先序)
2:中序遍历:左子树->根->右子树(中序)
3:后序遍历:左子树->右子树->根(后序)

这三种遍历方法只是访问结点的时机不同,访问结点的路径都是一样的,时间和空间复杂度皆为O(n)
 

 

基本概念篇:

https://blog.youkuaiyun.com/misayaaaaa/article/details/68941912

 

 

 

 

 

 

http://www.360doc.com/content/17/1119/22/49770339_705402099.shtml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值