1. 线性表简介 线性表是一种线性结构,它是由零个或多个数据元素构成的 有限序列 。线性表的特征是在一个序列中,除了头尾元素,每个元素都有且只有一个直接前驱,有且只有一个直接后继,而序列头元素没有直接前驱,序列尾元素没有直接后继。 数据结构中常见的线性结构有数组、单链表、双链表、循环链表等。线性表中 ...
分类:
编程语言 时间:
2019-04-05 14:00:09
阅读次数:
141
第三章 栈和队列 本章我们学习了线性结构的另外两种表现形式:栈和队列。 栈:只限定仅在表尾进行插入或删除的线性表。表尾段称作栈顶,表头端称作栈底,它的修改原则是后进先出,用于按照保存数据时的相反顺序来使用数据。类似于我们生活中放书拿书,最后叠上去的最早被抽出来。 队列:是一种先进先出的线性表,它只允 ...
分类:
其他好文 时间:
2019-04-01 00:55:47
阅读次数:
164
不知不觉,学完了栈和队列。栈和队列是两种不同的线性结构,它们可以通过两种不同的存储结构去实现。本章的难点在于,做题的时候,在读懂题目的基础上,如何从几种结构中做出最准确的选择。 在这段学习时间中,我渐渐发现,多打出来的几行代码要比课本上的概念有用得多,这句话还是挺对的。还记得老师在某一节课下课前让我 ...
分类:
其他好文 时间:
2019-04-01 00:49:25
阅读次数:
136
设计函数分别求两个一元多项式的乘积与和。 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式: 输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空 ...
分类:
其他好文 时间:
2019-03-18 13:59:26
阅读次数:
172
1、线性结构分类: 直接访问型: 向量、记录 顺序访问型: 顺序文件、广义表、栈、队列 目录索引型: 字典、散列表 2、数组 插入: 元素总个数为k,各个位置插入的概率为1/k; 平均移动元素次数:求和1/k*(k-i)约等于k/2; 总时间开销约为o(k); 查询: 读取非常方便,时间代价为o(1 ...
分类:
其他好文 时间:
2019-03-18 13:36:03
阅读次数:
248
1、数据结构的3大方面: 1.1 逻辑结构: 线性结构: 栈、队列、数组、字符串等; 非线性结构: 图、树等; 1.2 存储结构: 顺序: 一块无空隙的存储区域; 链接: 结点分为2部分: 一部分放结点本身的数据; 另一部分存放指针,指向下个结点; 索引: 散列: 1.3 运算: ...
分类:
其他好文 时间:
2019-03-18 01:44:39
阅读次数:
190
在数据结构这门课中,数据的逻辑结构会包括线性结构和非线性结构,线性表就是线性结构的一种。根据不同的存储结构,线性表可以分为顺序表和链表。链表包括单链表、循环链表、双向链表。下面是顺序表和单链表实现的不同点的比较。 (一)初始化 顺序表:为顺序表分配一个大小确定的数组空间,空表时长度为0; 链表:构造 ...
分类:
其他好文 时间:
2019-03-16 23:24:12
阅读次数:
202
数据结构 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中。 比如:列表、集合与字典等都是一种数据结构。 N.Wirth: “程序=数据结构+算法” 分类 数据结构按照其逻辑结构可分为线性结构、树 ...
分类:
其他好文 时间:
2019-03-15 09:20:43
阅读次数:
110
堆栈是一种经典的后进先出的线性结构,相关的操作主要有“入栈”(在堆栈顶插入一个元素)和“出栈”(将栈顶元素返回并从堆栈中删除)。本题要求你实现另一个附加的操作:“取中值”——即返回所有堆栈中元素键值的中值。给定 N 个元素,如果 N 是偶数,则中值定义为第 N/2 小元;若是奇数,则为第 (N+1) ...
分类:
其他好文 时间:
2019-03-13 19:52:50
阅读次数:
228
一.双端队列(Deque) - 概念:deque(也称为双端队列)是与队列类似的项的有序集合。它有两个端部,首部和尾部,并且项在集合中保持不变。 - 特性:deque 特殊之处在于添加和删除项是非限制性的。可以在前面或后面添加新项。同样,可以从任一端移除现有项。在某种意义上,这种混合线性结构提供了单 ...
分类:
其他好文 时间:
2019-03-13 19:47:22
阅读次数:
187