算法与数据结构
文章平均质量分 81
小王子殿下是个大帅哥
沉稳内敛kekekekkkeek
展开
-
浅谈拓扑排序
拓扑排序概念: 拓扑排序主要用于有向图,对有向图进行拓扑排序后得到节点的线性序列, 该序列中的后继结点都依赖于前继节点。 拓扑排序工程应用: 对一副相互关联的工程项目有向图进行拓扑排序,如果能得到包含所有节点的拓扑排序这说明 该工程项目是可行的,否则不能执行,因为存在环路。 拓扑排序算法: (1)从有向图中选择一个没有前驱(即入度为0)的顶点并且输出它. (2)从网中删去该顶点原创 2014-03-29 11:00:15 · 422 阅读 · 0 评论 -
trie树
Trie树 Trie树也称字典树,因为其效率很高,所以在在字符串查找、前缀匹配等中应用很广泛,其高效率是以空间为代价的。 一.Trie树的原理 利用串构建一个字典树,这个字典树保存了串的公共前缀信息,因此可以降低查询操作的复杂度。 下面以英文单词构建的字典树为例,这棵Trie树中每个结点包括26个孩子结点,因为总共有26个英文字母(假设单词都是小写字母组成)。转载 2014-03-21 16:45:28 · 322 阅读 · 0 评论 -
B树B-树B+树和B*树
原文link:http://blog.csdn.net/manesking/archive/2007/02/09/1505979.aspx B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;转载 2014-03-21 16:58:42 · 337 阅读 · 0 评论 -
简单的哈希表实现
// hashtable.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #define max 40 typedef struct hash_node{ const char* str; int frquency; struct hash_node *next; }hash_原创 2014-05-20 11:04:26 · 336 阅读 · 0 评论 -
大数据处理之bitmap
bitmap是一个十分有用的结构。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。 适用范围:可进行数据的快速查找,判重,删除,一般来说数据范围是int的10倍以下 基本原理及要点:使用bit数组来表示某些元素是否存在,比如8位电话号码 扩展:bloom filter可以原创 2014-06-25 13:48:10 · 929 阅读 · 0 评论 -
大数据处理之Trie树
Tire用于字符串统计,快速查找: 实例: // example_Trie.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include /************************************************************************/ /* 利原创 2014-06-25 13:58:23 · 369 阅读 · 0 评论