数据结构
文章平均质量分 75
Phil Jackson
一直在学习的程序仔
展开
-
数据结构---第一章---绪论
1.数据结构的基本概念数据:数据元素:数据项:数据结构:数据对象:2.数据结构的三要素2.1数据的逻辑结构1.集合2.线性结构3.树型结构4.图型结构2.2数据的物理结构(存储结构)注:如果采用顺序存储,则各个数据元素在物理上必须是连续的;若采用非顺序存储结构,则各个数据元素在物理上是离散的。数据存储结构会影响存储空间分配的方便程度。数据的存储结构会影响对数据运算的速度。2.3数据的运算运算的实现是针对数据结构的,指出运算的具体操作步骤。3.数据类型,抽象数据类型数原创 2021-03-20 11:41:30 · 93 阅读 · 0 评论 -
由浅入深了解使用栈---逆波兰表达式
文章目录0.栈的一个实际需求1.栈的介绍2.栈的应用场景3.栈的快速入门3.1数组模拟栈3.2单链表模拟栈4.前缀,中缀,后缀表达式4.1前缀表达式(波兰表达式)4.2中缀表达式4.3后缀表达式4.4中缀转后缀0.栈的一个实际需求思考一个问题:计算机底层是如何运算得到结果的?注意这不是简单的把算式列出运算,因为我们看这个算式就是一个表达式,但是对于计算机而言,他接受到的就是一个字符串,我们讨论的是这个问题- - - >栈。1.栈的介绍[1].栈的英文为stack。[2].栈是一个先入后出的原创 2021-02-20 16:10:44 · 367 阅读 · 1 评论 -
链表
文章目录0.链表介绍1.单链表1.1单链表操作实现:1.2单链表的应用实例2.双向链表2.1双链表操作2.2双链表实例3.环形链表与约瑟夫问题3.1操作3.2约瑟夫问题实现0.链表介绍 链表是有序的列表,但是他在内存中是这样存储的:注:[1].链表是以节点的方式来存储的,是链式存储。[2].每个节点包含data域,next域:指向下一个节点。[3].如图发现,链表的的各个节点不一定是连续存储。[4].链表分带有头结点的链表和没有头结点的链表,根据实际的需求来确定。1.单链表 单链表(带原创 2021-02-14 19:58:13 · 308 阅读 · 4 评论 -
KMP快速字符串匹配
KMP匹配算法1.简介简单匹配算法虽然易于实现,但是时间复杂度比较高。Knuth、Morris和Pratt发明了快速字符串匹配算法,算法以这三个人的名字命名,即KMP算法。KMP算法的想法是,设法利用这个已知信息,不要把"搜索位置"移回已经比较过的位置,继续把它向后移,这样就提高了效率。2.match表[1].举例:字符串: bread前缀:b,br,bre,brea后缀:read,ead,ad,d生成方式:match[0] = -1;从i = 1遍历数组到i = patter原创 2021-01-22 21:54:07 · 177 阅读 · 4 评论 -
一元多项式的相加
一元多项式的表达和相加 使用单链表表示一元多项式,由于使用java语言自己编写实现,没有使用LinkedList集合实现。所以需要创建单链表的类,类中包含指数,系数和后继元素的地址。类的设计如下:public class SingleList { public double coef;//系数 public int expn;//指数 public SingleList next;//后继 //构造函数 public SingleList(double coef, int原创 2020-11-27 20:02:30 · 2661 阅读 · 1 评论