zoukankan      html  css  js  c++  java
  • [算法导论 12章] 二叉查找树

    查找树search tree: 一种数据结构,支持多种动态集合操作。search, minimum, maximum, predecessor, successor, insert, delete等

    可以用作字典,也可以用作优先队列

    binary search tree中,执行基本操作的时间和树的高度成正比。

    随机构造的n节点bst,最坏情况运行时间是O(lg n)

    但如果树是n结点的线性链,这些操作的最坏情况运行时间是O(n)

    bst的问题:如何保证随机构造?或者,某些变种能使得最坏情况性能仍然不错?(红黑树)

    bst基本性质:

    设x是bst的某结点。则 key[LeftChild[x]]<=key[x]. key[RightChild[x]]>=key[x]. 

    Inorder. PreOrder. PostOrder. 时间是O(n)(n为bst的结点数)

    递归版本,非递归版本

    中序输出算法可以按顺序输出n个结点,时间是O(n)(假设bst已经构造好)

    与最小堆比较:能否在O(n)时间内,按序输出含有n个结点的树中的关键字?

  • 相关阅读:
    Linux基础优化(二)
    权限
    分页
    序列化
    forms
    redis
    Django缓存机制
    跨域问题
    Django的ORM
    模板层
  • 原文地址:https://www.cnblogs.com/chenhuanfa/p/2793083.html
Copyright © 2011-2022 走看看