查找(一)
我们使用符号表这个词来描述一张抽象的表格,我们会将信息(值)存储在其中,然后按照指定的键来搜索并获取这些信息。键和值的具体意义取决于不同的应用。
符号表中可能会保存很多键和很多信息,因此实现一张高效的符号表也是一项很有挑战性的任务。
我们会用三种经典的数据类型来实现高效的符号表:二叉查找数、红黑树、散列表。
二分查找
我们使用有序数组存...
分类:
其他好文 时间:
2014-05-22 10:33:13
阅读次数:
403
红黑树概念
特殊的二叉查找树,每个节点上都有存储位表示节点的颜色是红(Red)或黑(Black)。时间复杂度是O(lgn),效率高。 特性:
(1)每个节点或者是黑色,或者是红色。 (2)根节点是黑色。 (3)每个叶子节点(NIL)是黑色。(只为空(NIL或null)的节点)
(4)如果一个节点是红...
分类:
其他好文 时间:
2014-05-18 01:38:25
阅读次数:
611
//rbtree.h /* Red Black Trees (C) 1999 Andrea
Arcangeli This program is free software; you can redistribute it and/or modify
it under the terms of the...
分类:
系统相关 时间:
2014-05-18 01:05:37
阅读次数:
489
性质导致了强约束,也导致了O(lgn)的高度性质1. 节点是红色或黑色。性质2.
根是黑色。性质3. 所有叶子都是黑色(叶子是NIL节点)。性质4.
每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)性质5. 从任一节点(不包括该节点)到其每个叶子的所有简单路径...
分类:
其他好文 时间:
2014-05-17 18:52:12
阅读次数:
397
项目进行中,使用到Map(std::map),Map要点整理如下: 1.
Map,也叫关联数组,提供key/value(键/值对),key用来索引,value是被存储和检索的数据。 2. key值唯一(Multimap除外)。 3.
Map的内部数据结构是红黑树。 3. 可以用下标操作符...
分类:
其他好文 时间:
2014-05-16 22:31:02
阅读次数:
379
红黑树是一个二叉搜索树,具有如下规则:
每个节点不是红色就是黑色。根节点必须为黑色。如果节点为红,其子节点必须为黑,父子节点不得同时为红。任一节点至NULL(NULL为黑色)的任何路径,所含黑节点数必须相同。
根据规则4,新增节点必须为红。
根据规则3,新增节点的父节点必须为黑。
因为新增节点必须是红,那么只有在父节点不为黑的时候才需要调整,父节点为黑则无需调整。
着...
分类:
其他好文 时间:
2014-05-14 15:29:28
阅读次数:
287
http://blog.163.com/jackie_howe/blog/static/199491347201231691525484/set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键...
分类:
编程语言 时间:
2014-05-13 21:45:21
阅读次数:
333
[QQ群: 189191838,对算法和C++感兴趣可以进来]
最近天下有一种颇不太平的感觉,各地的乱刀砍人,到处是贪官服法。京东准备上市了,阿里最近也提交申请了,猎豹也逆袭了,据说猎豹移动在国际市场上表现甚是抢眼。只有屌丝还在写着代码。花开花又谢,花谢花又开,为什么这么多人没有安全感呢?是转...
分类:
移动开发 时间:
2014-05-10 07:58:06
阅读次数:
480
STL--map用法map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力由于这个特性它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织map内部自建一颗红黑树(一种非...
分类:
其他好文 时间:
2014-05-10 00:06:51
阅读次数:
385
set、map、multiset、multimap四种关联式容器的内部都是由红黑树实现的。在STL中红黑树是一个不给外界使用的独立容器。既然是容器,那么就会分配内存空间(节点),内部也会存在迭代器。关于红黑树的一些性质,可以参考“数据结构”中的笔记,这里只记录STL中的红黑树是如何实现的。
和slist一样,红黑树的节点和迭代器均采用了双层结构:
节点:__rb_tree_no...
分类:
其他好文 时间:
2014-05-07 15:55:28
阅读次数:
487