摘要:
在面向对象的语言中,大多引入了容器的概念。那么什么是容器?实质上就是一组相同类型对象的集合,但是它又不仅仅像数组那样简单,它实现了比数组更复杂的数据结构,当然也实现了比数组更强大的功能。C++标准模板库里提供了10种通用的容器类,它基本上可以解决程序中遇到的大多数问题。 现在我主要来说明这10种通用容器的功能用途以及相互之间的相同与异同。但是在这里,我不提倡一开始就着手从这10种容器开始,因为这样恐怕在随后的理解上产生很多困难。在此之前了解一下数据结构的基本概念是很有必要的,因为容器的概念是基于数据结构的基本知识,实际上这些容器就是对数据结构提炼的产物,或者说每一个容器就是对某一种数据结构的实 阅读全文
摘要:
红黑树是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。它是在1972年由鲁道夫·贝尔发明的,他称之为"对称二叉B树",它现代的名字是在 Leo J. Guibas 和 Robert Sedgewick 于1978年写的一篇论文中获得的。它是复杂的,但它的操作有着良好的最坏情况运行时间,并且在实践中是高效的: 它可以在O(logn)时间内做查找,插入和删除,这里的n是树中元素的数目。它的统计性能要好于平衡二叉树(有些书籍根红黑树据作者姓名,Adelson-Velskii和Landis,将其称为AVL-树),因此,红黑树在很多地方 阅读全文