《数据结构》严蔚敏版(java解)
文章平均质量分 71
《数据结构》严蔚敏版,原版是c语言实现的代码样例,为了方便更多对c语言不慎了解的同学跨过语言的障碍,作者采用比较流行的java来实现,希望能与大家共同交流探讨学习。
风中追风风
博客内容只做个人笔记,博客时间不代表实践时间,内容仅供参考,我1925432244,nifi大师群:492666008
展开
-
《数据结构》严蔚敏版(java解)——第四章 串01 串的模式匹配KMP算法
概念:KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n)。特点:相比一般简单的字符串匹配效率高很多,省去了许多不必要的比较。原理解析(此处摘录网上的例子):(1)简单的字符串匹配算法:从主串的第pos位置字符开始和模式子串字符比较,如果相等,则继续逐个比较后续字符原创 2017-03-09 16:48:55 · 1216 阅读 · 0 评论 -
《数据结构》严蔚敏版(java解)——第三章 栈和队列04 链式队列操作
代码实现:package csdn.wj.linear;import csdn.wj.assistant.Node;import csdn.wj.assistant.Queue;import csdn.wj.assistant.Queue.QueueEmptyException;public class Queue02 implements Queue { private N原创 2017-02-17 11:45:21 · 1007 阅读 · 0 评论 -
《数据结构》严蔚敏版(java解)——第三章 栈和队列03 顺序队列操作
概念:队列(queue)简称队,它同堆栈一样,也是一种运算受限的线性表,其限制是仅允许在表的一端进行插入,而在表的另一端进行删除。特点:由于队列的插入和删除操作分别在队尾和队首进行,每个元素必然按照进入的次序离队,也就是说先进队的元素必然先离队,所以称队列为先进先出表(First In First Out,简称FIFO)。代码实现:package csdn.wj.assista原创 2017-02-15 10:37:17 · 395 阅读 · 0 评论 -
《数据结构》严蔚敏版(java解)——第三章 栈和队列02 链式栈操作
概念:链栈即采用链表作为存储结构实现的栈。特点:当采用单链表存储线性表后,根据单链表的操作特性选择单链表的头部作为栈顶,此时,入栈、出栈等操作可以在Ο (1)内完成。代码实现:package csdn.wj.linear;import csdn.wj.assistant.Node;import csdn.wj.assistant.Stack;public class Stac原创 2017-02-14 16:07:00 · 472 阅读 · 0 评论 -
《数据结构》严蔚敏版(java解)——第三章 栈和队列01 顺序栈操作
待续原创 2017-02-14 15:41:18 · 634 阅读 · 0 评论 -
《数据结构》严蔚敏版(java解)——第二章 线性表05 双端链表操作
概念:双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。特点:已知一个节点的位置,可以找到它的上一个节点和下一个节点的信息。是双向的代码实现:package csdn.wj.linear;import csdn.wj.ass原创 2017-02-10 16:47:06 · 760 阅读 · 0 评论 -
《数据结构》严蔚敏版(java解)——第二章 线性表04 顺序单链表合并
代码实现:package csdn.wj.linear;import csdn.wj.assistant.Node;public class Linear04 { public Node combineLinkList(Node leftFirst,Node rightFirst){ Node midiumFirst = new Node(-99); while(le原创 2017-02-10 16:48:44 · 579 阅读 · 0 评论 -
《数据结构》严蔚敏版(java解)——第二章 线性表03 单链表操作
概念:单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。特点:链表中结点的逻辑次序和物理次序不一定相同。为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须存储指示其后继结点的地址(或位置)信息(称为指针(pointer)或链(link))代码实现:package csdn.wj.assistant;//节点类 public cl原创 2017-02-08 17:24:09 · 499 阅读 · 0 评论 -
《数据结构》严蔚敏版(java解)——第二章 线性表02 顺序线性表操作
概念:线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素。特点:假设线性表的每个元素需占用l个存储单元,并以所占的第一个单元的存储地址作为数据元素的存储位置。则线性表第i+1个数据元素的存储位置的表示为:第i+1的存储位置=第i的存储位置+l;代码实现:package csdn.wj.linear;import java.util.ArrayList;im原创 2017-02-08 16:12:34 · 716 阅读 · 3 评论 -
《数据结构》严蔚敏版(java解)——第二章 线性表01 基本操作
概念:(1)存在唯一的一个被称作“第一个”的数据元素;(2)存在为一个一个被称作“最后一个”的数据元素;(3)除第一个之外,集合中的每个元素均只有一个前驱;(4)除最后一个之外,集合中每个数据元素均只有一个后继。特点:线性表是一个相当灵活的数据结构,它的长度可根据需要增长或缩短,即对线性表的数据元素不仅可以进行访问,还可进行插入和删除等。操作:(1)创建线性表原创 2017-02-08 11:55:58 · 2035 阅读 · 3 评论