B(B-)树、B+树、字典(trie)树、外部多路归并排序、败者树外部排序
来源:互联网 发布:如何找淘宝店代销 编辑:程序博客网 时间:2024/06/05 02:09
B(B-)树、B+树、字典(trie)树、外部多路归并排序
B树和B-树
http://blog.csdn.net/gukesdo/article/details/7439865
从B树(也就是中文译的B-树)到B+、B*树再到R树
http://blog.csdn.net/v_JULY_v/article/details/6530142
trie树
http://www.cnblogs.com/cherish_yimi/archive/2009/10/12/1581666.html
从trie树(字典树)到后缀树
http://blog.csdn.net/v_july_v/article/details/6897097
外排序多路归并的讲解在这篇博客的中间部分(第二节)
http://blog.csdn.net/v_JULY_v/article/details/6451990
归并排序可以分为多路归并排序和两路归并排序。如果归并的有序表有两个,则为二路归并,若归并的有序表有k个,则成为k路归并。二路归并最为简单和常用,既适合于内部排序,也适合于外部排序(时间复杂度为O(m+n-1));而k路归并多应用于外部排序。
思想是:首先把大文件分割成多个内存可以容纳的小文件,之后先将每个小文件进行排序;最后从每个小文件中的最开始的第一个数中再选取最小的数,依次写到一个文件中去,直至所有小文件中数据处理完毕即可。
败者树(归并完全二叉树)
http://blog.sina.com.cn/s/blog_6407c0c60100qjjw.html
其实他是一个比较经典的外部排序方法,也就是将n个已经排序好的文件归并为一个有序序列。它和胜者树都是一个完全二叉树。它可以用数组实现的原理是相同的,唯一的区别是堆的所有节点都是数据节点,而败者树只有叶子节点时数据节点,所有非叶子节点只是存储的叶子的下标。2个子节点比较之后失败的放入它们的父节点,而胜者则送到父节点的父节点中再进行比赛,直至得到一个最终的胜利者。经常用在k路外部平衡排序中。
败者树所需要的空间是堆的一倍,但是比较次数会相对减少一些,是一个拿空间换时间的算法。在这一点上和字典树trie有点类似。
- B(B-)树、B+树、字典(trie)树、外部多路归并排序、败者树外部排序
- 关于多路归并排序 外部排序 败者树
- 外部排序、归并排序、败者树等等。。。
- 败者树实现多路平衡归并外部排序算法
- 败者树实现多路平衡归并外部排序算法
- 模拟外部排序--败者树
- 胜者树与败者树, 多路平衡归并外部排序
- C++外部排序(选择置换+败者树)
- 外部排序--胜者树与败者树
- 选择置换+败者树搞定外部排序
- C++代码,数据结构-外部排序-败者树
- 选择置换+败者树搞定外部排序
- 归并排序-败者树
- 胜者树 败者树 K-路最佳归并树 高效外部排序
- B - Trie树 (trie)(字典树的拓展)
- 败者树 多路归并排序
- 第16周外部排序之【项目2】败者树归并模拟
- 败者树 K-路归并排序
- linux上创建ASM实例
- 出口函数
- OpenCV中的内存泄露问题(cvLoadImage,cvCloneImage)
- keyboard按键按下keyboard-led点亮2s
- 有空必须要看的文章(没空也要看)
- B(B-)树、B+树、字典(trie)树、外部多路归并排序、败者树外部排序
- MyBatis详解 与配置MyBatis+Spring+MySql
- Linux进程的层次关系
- PMON链接脚本ld.script分析
- VC中的debug和release(精华)
- VC include 路径解析
- 【C++ Primer】 神秘的 sizeof(union) 、sizeof(struct) 和内存对齐技术
- order by 也可用函数来排序
- sql 补全空缺部分