数据结构之广义表
摘要:当广义表LS非空时,称第一个元素a1为LS的表头(Head),称其他元素组成的广义表(a2,a3,…,an)为LS的表尾(Tail)。 注:表头和表尾是在LS非空的前提下定义的,所以对于一个空表(),没有表头与表尾的说法。 值得提醒的是,列表()和(())不同,前者为空表,长度为n=0;后者长度n=
阅读全文
posted @
2017-06-29 00:04
Arthurian
阅读(511)
推荐(0) 编辑
递归
摘要:递归是一个很重要的概念,我们在编码过程中经常会用到递归,那么递归是什么呢? 简单的说,递归就是函数自己调用自己。在数据结构里面会经常使用递归,因为递归代码比较简洁优雅,易懂。 编写递归程序时主要注意三点 (1)递归总有一个最简单的情况,方法的第一条语句总是包含return的条件语句 (2)递归调用总
阅读全文
posted @
2017-05-10 15:22
Arthurian
阅读(402)
推荐(0) 编辑
字符串匹配KMP算法中Next[]数组和Nextval[]数组求法
摘要:数据结构课本上给了这么一段算法求nextval9[]数组 1 int get_nextval(SString T,int &nextval[ ]) 2 { 3 //求模式串T的next函数修正值并存入数组nextval。 4 i=1; nextval[1]=0; j=0; 5 while(i<T[0
阅读全文
posted @
2017-02-13 21:00
Arthurian
阅读(2412)
推荐(1) 编辑
通过图片对比带给你不一样的KMP算法体验
摘要:KMP 算法,俗称“看毛片”算法,是字符串匹配中的很强大的一个算法,不过,对于初学者来说,要弄懂它确实不易。 笔者认为,KMP 算法之所以难懂,很大一部分原因是很多实现的方法在一些细节的差异。体现在几个方面: next 数组,有的叫做“失配函数”,其实是一个东西; next 数组中,有的是以下标为
阅读全文
posted @
2016-12-29 22:08
Arthurian
阅读(458)
推荐(1) 编辑
图的广度优先遍历和深度优先遍历
摘要:图是一种很重要的数据结构,在我们的编程生活中应用极其广泛
阅读全文
posted @
2016-12-11 16:46
Arthurian
阅读(607)
推荐(0) 编辑