数据结构基础--二叉树

二叉树

  • 树的深度是O(log n)
  • 有左孩子,右孩子
  • 满二叉树,每个分支都是满的
  • 完全二叉树,去除满二叉树靠后的一些节点,保证最后一个节点之前的节点都是完整的
  • 可使用数组或链表表示

二叉树使用数组时的定位方法

当前节点n
左孩子 2n+1
右孩子 2
n+2

反之,当前节点为其父节点左孩子,父节点(n-1)/2;右孩子,父节点(n-2)/2

二叉树应用

二叉查找树(二叉排序树),根节点大于左孩子,小于右孩子
1.查找
从根节点开始依次对比,类似二分查找,故复杂度O(log n)

2.维持相对顺序
按大小插入数据

二叉树遍历

1.深度优先

  • 前序
  • 中序
  • 后序
    适合使用迭代或者同样拥有“回溯”属性的来写代码

2.广度优先

  • 层序遍历
    适合使用队列来写
posted @ 2019-09-18 17:39  中庭之园  阅读(172)  评论(0编辑  收藏  举报