数据结构与算法
文章平均质量分 71
sahala_
life more..
展开
-
一个模拟strstr()函数的程序
strstr()函数是把主串中子串及子串以后的字符返回 eg:主串:“12345678”,子串:”234“,那么函数的返回值就是”2345678“ #include #include #include using namespace std; const char *my_strstr(const char *str, const char *sub_str) {原创 2015-05-18 17:18:35 · 552 阅读 · 0 评论 -
静态查找与动态查找结构
在计算机许多应用领域中,查找操作都是十分重要的研究技术。查找效率的好坏直接影响应用软件的性能。比如说: (1) 全文检索技术中对文本建立索引之后,对索引的查找效率将决定搜索引擎的质量。 (2) mysql数据库的索引就是B+树结构,查找效率极高。 (3) Windows OS的文件系统结构也是采用B+树进行存储的。 在《查找算法》系列文章中,我将主要介绍动态查找树转载 2015-07-30 11:34:04 · 1851 阅读 · 0 评论 -
二叉查找树 BST
当所有的静态查找结构添加和删除一个数据的时候,整个结构都需要重建。这对于常常需要在查找过程中动态改变数据而言,是灾难性的。因此人们就必须去寻找高效的动态查找结构,我们在这讨论一个非常常用的动态查找树——二叉查找树 。 二叉查找树的特点 下面的图就是两棵二叉查找树,我们可以总结一下他的特点: (1) 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值转载 2015-07-30 11:40:51 · 453 阅读 · 0 评论 -
红黑树 RBT
大部分转载:http://yanglongylj.blog.163.com/blog/static/563834532009113021438417/ 红黑树的性质与定义 红黑树(red-black tree) 是一棵满足下述性质的二叉查找树: 1. 每一个结点要么是红色,要么是黑色。 2. 根结点是黑色的。 3. 所有叶子结点都是黑色的(实际上都转载 2015-08-13 17:54:47 · 10346 阅读 · 0 评论 -
平衡二叉树 AVL
在上一个专题中,我们在谈论二叉查找树的效率的时候。不同结构的二叉查找树,查找效率有很大的不同(单支树结构的查找效率退化成了顺序查找)。如何解决这个问题呢?关键在于如何最大限度的减小树的深度。正是基于这个想法,平衡二叉树出现了。 平衡二叉树的定义 (AVL—— 发明者为Adel'son-Vel'skii 和 Landis) 平衡二叉查找树,又称 AVL树。 它除了具备转载 2015-08-13 17:53:00 · 521 阅读 · 0 评论