数据结构
十八分之一秒
这个作者很懒,什么都没留下…
展开
-
数据结构学习之四——栈与队列(二)
队列队列的定义队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出的线性表(First In First Out),其允许插入的一端是队尾,允许删除的一端为队头。【就像是日常生活中的排队一样,从队尾入队,从队头出队】循环队列队列身为一种特殊的线性表,也存在着顺序存储结构和链式存储结构,但是进行分析就会知道,如果按照一般线性表来对队列进行顺序存储结构的操作,时...原创 2019-12-02 20:31:16 · 429 阅读 · 0 评论 -
数据结构学习之四——栈与队列(一)
栈栈的定义栈是限定仅在表尾进行插入和删除操作的线性表。(注意:表尾,线性表)所以栈又被称为后进先出的线性表。(Last In First Out)【这也是栈的特点】我们将允许插入和删除的一端称为栈顶(top),另一端则称为栈底(bottom)。栈的插入操作,被称为进栈(也称压栈、入栈),栈的删除操作,被称为出栈(也称弹栈)。补充:先入栈的必然后出栈,顺序不能颠倒。栈的顺序存储结构栈...原创 2019-12-02 15:42:20 · 194 阅读 · 0 评论 -
数据结构学习之三——线性表(三)
静态链表用数组代替指针来描述单链表,这样的链表就是静态链表。(游标实现法)首先让数组的元素都由两个数据域构成,data和cur,即数组的每个下标都对应一个data和一个cur。data是数据域,用来存放数据元素,cur相当于指针域,用来存放后继元素在数组中的下标,所以又称cur为“游标”。综上所述,其代码描述如下:#define MAXSIZE 1000typedef struct{...原创 2019-12-02 12:30:50 · 244 阅读 · 0 评论 -
数据结构学习之三——线性表(二)
线性表的链式存储结构线性表的顺序存储结构定义顺序存储结构线性表主要使用数组进行存储,这也导致其在插入和删除的时候必然要移动大量的元素,耗费时间较长。为了解决这个问题,线性表的链式存储结构出现了。线性表的链式存储结构是用一组任意的存储单元存储线性表中的每一个数据元素,并且存储其后继元素的存储地址。这组存储单元可以是连续的,也可以是不连续的。这些数据元素可以存储在内存未被占用的任意位置。我们将...原创 2019-11-26 18:19:03 · 186 阅读 · 0 评论 -
数据结构学习之三——线性表(一)
线性表的定义线性表(List):零个或多个数据元素的有限序列。注意两个点:序列、有限。序列表示元素之间是拥有着顺序的,线性表的第一个元素无前驱,最后一个元素无后继,其余的元素均只有一个前驱和一个后继,这就是线性表。就像是排队一样,队头没有排在他前面的人,队尾也没有排在他身后的。线性表的元素个数就是线性表的长度,当其长度为0时,这个线性表就是空表。如同C语言中学习的结构体链表类似,在较为复...原创 2019-11-26 13:16:24 · 422 阅读 · 0 评论 -
数据结构学习之二——算法
算法定义算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。为了解决某类或者某个问题,将指令表示为一定的操作序列,操作序列包括一组操作,每个操作都完成特定的功能,这就是算法。所以没有哪个算法是所有问题通用的,每种算法都是是针对特定问题而产生的。算法的特性算法具有五个基本特性:输入、输出、有穷性、确定性和可行性。输入输出:一般来讲,算法可具有...原创 2019-11-25 15:44:08 · 301 阅读 · 0 评论 -
数据结构学习之一——绪论
#基本概念和相关术语##数据:数据是描述客观事物的符号,是计算机中可操作的对心,可被计算机识别并输入到计算机使其处理的符号集合。###数据必须具备的两个前提:1、可以输入到计算机中2、能够被计算机程序处理##数据元素:...原创 2019-11-25 12:35:36 · 247 阅读 · 0 评论