26.树

1.介绍

为什么要有树呢?这是因为数组存在插入和删除效率比较低的缺点,由此提出了链表,但链表还是存在查找效率比较低的问题,因此提出了树。树具有增删改查效率都比较高的特点。

2.术语介绍

image.png

重点有

  • 叶子节点:没有子节点的节点
  • 节点的权:节点的值
  • 路径:从root节点到该节点的路线

二叉树:每个节点最多只能有两个节点,例:

image.png


满二叉树:所有叶子节点都在最后一层,并且节点数=2^n-1,例如:


image.png

完全二叉树:所有的叶子节点都在最后一层或者在倒数第二层,并且最后一层的叶子节点从左到右都是连续的,倒数第二层从右往左都是连续的


image.png

前序、中序、后序遍历
前序遍历:先输出父节点,再遍历左子树,最后遍历右子树
中序遍历:先遍历左子树,再输出父节点,最后遍历右子树
后序遍历:先遍历左子树,再遍历右子树,最后输出父节点
小结:可以根据父节点的位置来判断是前中后序

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容