代码改变世界

随笔分类 -  ADS

Skpi List跳表

2014-07-27 14:47 by Loull, 255 阅读, 收藏, 编辑
摘要: 为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要参考网上的代码,相当麻烦。用... 阅读全文

Trie--字典树

2014-07-27 02:24 by Loull, 279 阅读, 收藏, 编辑
摘要: Trie--字典树在计算机科学中,trie,又称前缀树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的... 阅读全文

线段树 Interval Tree

2014-06-12 18:55 by Loull, 731 阅读, 收藏, 编辑
摘要: 一、线段树线段树既是线段也是树,并且是一棵二叉树,每个结点是一条线段,每条线段的左右儿子线段分别是该线段的左半和右半区间,递归定义之后就是一棵线段树。例题:给定N条线段,{[2, 5], [4, 6], [0, 7]}, M个点{2, 4, 7},判断每个点分别在几条线段出现过?1、构建线段树2、处... 阅读全文

树状数组

2014-06-12 14:58 by Loull, 940 阅读, 收藏, 编辑
摘要: 一、树状数组树状数组是一个优美小巧的数据结构,在很多时候可以代替线段树。一句话概括就是,凡是树状数组可以解决的问题,线段树都可以解决,反过来线段树可以解决的问题,树状数组不一定能解决。树状数组英文名称为Binary Index Tree,直译过来就是二进制索引树,我觉得二进制索引树更能说明其本质。树... 阅读全文

LCA和RMQ

2014-06-12 10:35 by Loull, 507 阅读, 收藏, 编辑
摘要: 下面写提供几个学习LCA和RMQ的博客,都很通熟易懂http://dongxicheng.org/structure/lca-rmq/这个应该是讲得最好的,且博主还有很多其他文章,可以读读,感觉认真读了这篇,都不太需要看别的资料了,百度和谷歌搜索的第一位都是他,好东西大家一起学习http://sct... 阅读全文

RMQ (Range Minimal Query) 问题 ,稀疏表 ST

2014-06-10 21:43 by Loull, 794 阅读, 收藏, 编辑
摘要: RMQ ( 范围最小值查询 ) 问题是一种动态查询问题,它不需要修改元素,但要及时回答出数组 A 在区间 [l, r] 中最小的元素值。RMQ(Range Minimum/Maximum Query):对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j= n) break; //如... 阅读全文

winner tree 胜者树

2014-06-10 19:01 by Loull, 1283 阅读, 收藏, 编辑
摘要: 在树形选择排序中,利用锦标赛思想建立的树称为胜者树。1、每个非终端节点存储的是左右孩子节点中的优胜者。2、通过减少比较次数,提高效率。3、胜者树就是一颗特殊的线段树。一、构建树Procedure buildmint; 复杂度 O(n)var i,j,k:longint;begin i:=N; j... 阅读全文
点击右上角即可分享
微信分享提示