数据结构
zhuoya_
在光亮中,世界始终是我们最初和最后的爱。
展开
-
字符串匹配--朴素算法
假设有两个字符串M="abcdefabcdx";T="abcdx";想要找到T串在M串中的位置,要怎么找呢?通过画图来看比较过程:也就是说,从主串M的第一个字符开始分别与子串从开头进行比较,当发现不匹配时,主串回到这一轮开始的下一个字符,子串从头开始比较。直到子串所有的字符都匹配,返回所在主串中的下标。写出代码:#include<iostream>#include<string...原创 2018-05-02 18:08:15 · 6738 阅读 · 0 评论 -
字符串匹配--KMP算法
在上一篇文章中讲了朴素算法(点击打开链接),可以看出在大多数情况下,这种比较显得很慢,要做很多次不必要的比较。因此有了KMP算法,可以减少一些不必要的比较,还是上篇文章的栗子,分析一下:KMP正是这种思想:主串下标不需要回退,需要变化的就是子串的下标。子串下标只需要回退到合适的位置即可。需要明白两个概念:前缀和后缀假设字符串为"hello"前缀有:h , he , hel , hell 后缀有:e...原创 2018-05-03 22:29:51 · 237 阅读 · 0 评论 -
二叉树的三种遍历(一)--- 链式存储
如下有一颗树:树的三种遍历结果分别为:先序遍历:==》根、左、右ABCDEFGH中序遍历:==》左、根、右CBEDFAGH后序遍历:==》左、右、根CEFDBHGA将代码贴上来以便好查找:二叉树的定义:typedef char elemtype;#define END '#'typedef struct BtNode{ struct BtNode* leftchild; struct B...原创 2018-05-26 11:12:27 · 2926 阅读 · 0 评论 -
树的基本概念
本篇目录:******************************* 树的基本概念 *** 二叉树: *** 二叉树的特点 *** 二叉树的形态 *** 特殊的二叉树 *** ...原创 2018-05-22 22:06:36 · 6751 阅读 · 0 评论 -
完全二叉树的三种遍历(二)--- 顺序存储
在上篇文章中已经贴了二叉树三种遍历的递归及非递归的实现代码,那这篇文章是干什么的呢?嗯,虽然不论是二叉树的顺序存储还是二叉树的链式存储,三种遍历的思路都是一样的,但是在写代码的时候仍然还要注意边界,所以决定也贴出来吧,好查找呗^O^来,继续上篇文章的树,二叉树的顺序存储就是在数组中存储。在代码上看起来就是一个数组,我们之所以说它是二叉树,意味着,在这篇文章中,逻辑意义上我们将它看成一颗树!!你会注...原创 2018-05-29 13:00:45 · 10434 阅读 · 0 评论 -
红黑树的插入
本篇目录****************************************************************** 红黑树的概念及性质 ******** 利用图示法介绍红黑树的插入是怎么实现的 ********************...原创 2018-07-12 23:36:18 · 3382 阅读 · 7 评论