随笔分类 -  Data_Structure

Union Find
摘要:并查集并查集 :是一种树型的数据结构,常用语处理一些不相交集合的合并及查询问题。为了解释并查集的原理,我将举一个更有爱的例子。 话说江湖上散落着各式各样的大侠,有上千个之多。他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一路人的,就免不了要打一架。但大侠们有一个优点就是讲义气,绝对不... 阅读全文

posted @ 2014-12-31 17:24 M.D.LUFFI 阅读(241) 评论(0) 推荐(0)

BiTree
摘要:二叉树二叉树是每个节点最多有两个子树的树结构。通常子树被称作 左子树 和 右子树。二叉树常被用于实现二叉查找树。二叉树的每个节点至多只有2棵子树(不存在度大于2的节点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2i-1结点;深度为k的二叉树至多有2k - 1个结点;对任何一棵二叉树... 阅读全文

posted @ 2014-12-31 15:37 M.D.LUFFI 阅读(484) 评论(0) 推荐(0)

Trie
摘要:TrieTrie:又称前缀树或者字典树,是一种树形结构,是哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀节约存储空间,最大限度地减少无所谓的字符串比较,查询效率比哈希表高。字典树与字典很相似,当你... 阅读全文

posted @ 2014-12-29 15:56 M.D.LUFFI 阅读(333) 评论(0) 推荐(0)

Binary_Indexed_Tree (BIT)
摘要:树状数组树状数组:是一种设计新颖的数组结构,它能够高效地获取数组中连续n个数的和。线性结构只能逐个扫描元素,而树状结构可以实现跳跃式扫描。概括说:树状数组通常用于解决以下问题:数组{a}中的元素可能不断地被修改,怎样才能快速地获取连续几个数的和?一般讲到树状数组都会少不了下面这个图:下面来解析该图,... 阅读全文

posted @ 2014-12-27 18:17 M.D.LUFFI 阅读(201) 评论(0) 推荐(0)

Doubly_Linked_List
摘要:1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 8 struct Dulist 9 {10 int data;11 Dulist *prior;12 Dulist *n... 阅读全文

posted @ 2014-12-27 14:48 M.D.LUFFI 阅读(194) 评论(0) 推荐(0)

导航