接着上一篇, 上一篇主要说了各种排序算法, 但对几个常用的数据结构还未提及,所以这一篇主要讲二叉树, 二叉树已经包括很多链表的知识了。所有代码都是测试过的, 可以直接撸.
二叉树
这里不举太多数字方面的东西, 我们直接看图, 直观感性的认识满二叉树和完全二叉树:
有一点性质需要牢记:具有n个结点的完全二叉树的最大高度为log2n+1
二叉树的二叉链式存储
二叉树的二叉链式存储方案的代码表示:
1 | typedef struct BinaryTreeNode |
二叉树的创建
下面代码写法是基于二叉树的先序遍历来创建二叉树的.
基于中序或者后序的写法都类似.
1 |
|