第4章 树

对于大规模输入,链表的线性访问时间是不可接受的。

在本章里,我们先介绍二叉搜索树这种简单的数据结构,其大部分操作的平均访问时间是O(\log N)。接着,我们从理论上给出了对二叉搜索树的第一种简单修改,保证了在最坏情形下的运行时间上界是O(\log N)。再接着,我们给出了对二叉搜索树的第二种修改,从本质上保证了对长指令的每种操作的运行时间都是O(\log N)

二叉搜索树是实现两个库集合类TreeSetTreeMap的基础,这两个库集合类被许多应用使用。由于树这种结构在计算机科学中是一种非常有用的抽象,所以我们会讨论如何在其他更普遍的应用中使用树的,比如

  • 如何应用树来实现几种流行的操作系统的文件系统。
  • 如何使用树来计算表达式的值。
  • 如何使用树来支持平均情形的O(\log N)的搜索时间,及如何优化为最坏情形下的O(\log N)上界,及当数据保存在硬盘上时,如何实现才能保证最坏情形下有O(\log N)的搜索时间上界。
  • 讨论如何使用集合类TreeSetTreeMap
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容