Data structure and Algorithm
  • 序言
  • 大O表示法
  • 递归
  • 线性表
    • 数组
    • 链表
    • 栈
    • 队列
  • 散列表
    • 哈希表
  • 树
    • 简介
    • 前缀树(字典树)
    • 二叉树
  • 图
    • 广度优先搜索
    • 狄克斯特拉算法
  • 算法-查找
    • 二分查找
    • K最近邻算法
    • 贪婪算法
    • 动态规划算法
  • 算法-排序
    • 交换类排序法
    • 插入类排序法
  • 算法-搜索
    • Untitled
  • 算法-复杂度分析
    • Untitled
  • 算法-字符串匹配
    • Untitled
    • Untitled
  • 算法-基本算法思想
    • 其他算法
Powered by GitBook
On this page
  • 概念解释
  • 常见的树代码面试题

Was this helpful?

  1. 树

简介

Previous哈希表Next前缀树(字典树)

Last updated 6 years ago

Was this helpful?

概念解释

树(Tree)是一个分层的数据结构,由节点和连接节点的边组成。树是一种特殊的图,它与图最大的区别是没有循环。

树被广泛应用在人工智能和一些复杂算法中,用来提供高效的存储结构。

下图是一个简单的树以及与树相关的术语:

树有很多分类:

  • N叉树(N-ary Tree)

  • 平衡树(Balanced Tree)

  • 二叉树(Binary Tree)

  • 二叉查找树(Binary Search Tree)

  • 平衡二叉树(AVL Tree)

  • 红黑树(Red Black Tree)

  • 2-3树(2–3 Tree)

其中,二叉树和二叉查找树是最常用的树。

常见的树代码面试题

计算树的高度
查找二叉平衡树中第K大的元素
查找树中与根节点距离为k的节点
查找二叉树中某个节点所有祖先节点