- 博客(4)
- 资源 (3)
- 收藏
- 关注
原创 树的三种存储结构
6.2树的定义之前我们一直在谈的是一对一的线性结构,可现实中,还有很多一对多的情况需要处理,所以我们需要研究这种一对多的数据结构----"树",考虑它的各种特性,来解决我们在编程中碰到的相关问题。树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一棵非空树中:(1)有且仅有一个特定的称为根(Root)的结点;(2)当n>1时,其余结点可分为m(m>O)个互不相交
2017-03-19 19:46:38 37413 6
原创 串-KMP模式匹配算法
5.7 KMP 模式匹配算法你们可以忍受朴素模式匹配算法的低效吗?也许不可以、也许无所谓。但在很多年前我们的科学家们,觉得像这种有多个0和1重复字符的字符串,却需要挨个遍历的算法是非常糟糕的事情。于是有三位前辈,D.E.Knutb、J.H.Morris和Y.R.Pratt(其中Knuth和Pratt共同研究,Morris独立研究)发表一个模式匹配算法,可以大大避免重复遍历的情况,我们把它称
2017-03-17 22:47:43 1779
原创 串-定义和模式匹配算法
5.2 串的定义今天我们就是来研究"串"这样的数据结构。先来看定义。串( string )是由零个或多个字符组成的有限序列,又名叫字符串 。一般记为s= "a1a2......an"(n>0),其中,s是串的名称,用双引号(有些书中也用单引号)括起来的字符序列是串的值,注意单双引号不属于串的内容。ai(1串中的字符数目n称为串的长度,定义中谈到"有限"是指长度n是一个有限的
2017-03-12 21:38:59 2746
原创 线性表-链式存储结构
3.6 线性表的链式存储结构3.6.1 顺序存储结构不足的解决办法前面我们讲的线性表的顺序存储结构。它是有缺点的,最大的缺点就是插入和删除时需要移动大量元素,这显然就需要耗费时间。能不能想办法解决呢?要解决这个问题,我们就得考虑一下导致这个问题的原因。为什么当插入和删除时,就要移动大量元素,仔细分析后,发现原因就在于相邻两元素的存储位置也具有邻居关系。它们编号是1,2,
2017-03-12 17:52:10 3266
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人