
数据结构
文章平均质量分 79
小蜗牛1990
hi,大家好
展开
-
red and black trees(红黑二叉树)
一棵高度为 h 的二叉查找树可以实现任何一种基本的动态集合操作, 如 SEARCH, PREDECESOR, SUCCESSOR, MINIMUM, MAXIMUM, INSERT, DELETE 等, 其时间都是 O(h). 这样, 当树的高度较低时, 这些操作就会执行的较快; 但是, 当树的高度较高时, 这些操作的性能可能不比用链表好. 红黑树(red-black tree)是许多转载 2015-02-02 03:05:04 · 447 阅读 · 0 评论 -
数据结构:图的存储结构之邻接表
对于图来说,邻接矩阵是不错的一种图存储结构,但是我们也发现,对于边数相对顶点较少的图,这种结构是存在对存储空间的极大浪费的。因此我们考虑另外一种存储结构方式:邻接表(Adjacency List),即数组与链表相结合的存储方法。邻接表的处理方法是这样的。1、图中顶点用一个一维数组存储,另外,对于顶点数组中,每个数据元素还需要存储指向第一个邻接点的指针,以便于查找该顶点的边信息。转载 2015-02-03 11:55:43 · 470 阅读 · 0 评论 -
C++ STL MAP 使用方法与应用介绍
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有转载 2015-02-24 10:01:48 · 293 阅读 · 0 评论 -
String, StringBuffer, StringBuilder的区别
String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以转载 2015-02-28 05:25:49 · 531 阅读 · 0 评论 -
ArrayList的使用方法【转载】
1、什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处:动态的增加和减少元素实现了ICollection和IList接口灵活的设置数组的大小2、如何使用ArrayList 最简单的例子:ArrayList List = new ArrayList();for( int i=转载 2015-02-28 05:12:46 · 284 阅读 · 0 评论 -
探求C#.Net中ArrayList与Array的区别
ArrayList与Array的区别概述ArrayList 是数组的复杂版本。ArrayList 类提供在大多数 Collections 类中提供但不在 Array 类中提供的一些功能。例如:Array 的容量是固定的,而 ArrayList 的容量是根据需要自动扩展的。如果更改了 ArrayList.Capacity 属性的值,则自动进行内存重新分配和元素复制。Array转载 2015-02-28 05:09:08 · 391 阅读 · 0 评论