在这一章里,我们重点讨论6个有关实用性的数据结构。 首先,我们讨论AVL树的替代数据结构,包括优化版本的伸展树、红黑树、treap,以及用于在大...

在这一章里,我们重点讨论6个有关实用性的数据结构。 首先,我们讨论AVL树的替代数据结构,包括优化版本的伸展树、红黑树、treap,以及用于在大...
关键词 均摊界分析 在这一章,我们会分析在第4章和第6章里介绍过的若干种高级数据结构的运行时间,比如伸展树、平衡树、队列、堆等。 在这一章,我们...
截止现在,我们一直在关心算法的有效实现。我们看到:当给出一个算法时,并不需要说明所需要的数据结构,由程序员来选择合适的数据结构使得运行时间尽可能...
在这一章里,我们讨论几种解决图论常见问题的算法。这些算法不仅在实践中很有用,而且也很有趣,因为在实际生活的应用中,如果不花费精力来仔细地选择数据...
在这一章,我们将描述不相交的集合类来解决等价性问题。 这种数据结构实现起来很简单。每个例程仅需几行代码,可使用简单的数组。该实现也非常快,每个操...
在本章里,我们讨论对数组元素的排序问题。 为了简化问题,我们会假设数组中只包含整数。本章大部分内容假设排序能在内存完成,以便数组元素的个数相对较...
虽然通常都是将发送给打印机的作业放进队列里,但这并不是最好的做法。比如 作业A可能非常重要,期望的是只要有打印机可用,就立马运行作业A。 当打印...
在第4章,我们讨论了抽象数据类型搜索树,树允许对集合元素的许多操作。 在本章里,我们讨论抽象数据类型哈希表,哈希表支持的仅是二叉搜索树允许的操作...
这一章会讨论本书的主旨和目标,简短回顾下编程相关概念和离散数学。 我们将会 理解一个程序在大规模输入时的性能跟中等输入规模是的性能是同等重要的。...
一个算法就是解决某个问题需要遵循的一套描述清晰的指令集。 一旦给出某个问题的算法且判断该算法是正确的后,一个非常重要的步骤就是分析该算法需要多少...