学了线性表,操作过栈与队列,略过串、数组和广义表,建过树,搜过图,现在到了查找——对于大数据的查找优化。 这一节,是以往知识的总结提高。 一、首先是最简单的查找——顺序查找 要求:顺序存储结构。 方法思路:对于给定值(如 key ),在已有的存储中依次比对关键字。 结果:(1)查找成功,返回所需要的 ...
分类:
其他好文 时间:
2019-06-03 00:12:05
阅读次数:
115
双栈模拟队列 基本思路:队列是先进先出,栈是先进后出。用一个输入栈存进队元素,用一个输出栈将输出栈中的元素倒置,再出栈。这就实现了队列的先进先出。 注意:队满的条件为输入栈S1满且输出栈S2非空。并非输入栈满就代表队列满,因为如果输入栈满但输出栈空,可以将输出栈中的元素全部压入输出栈中,这就相当于队 ...
分类:
其他好文 时间:
2019-05-12 22:29:05
阅读次数:
160
一、顺序表引入 1什么是线性表 2 什么是顺序表 二、顺序表的基本形式 基本存储形式 元素外置的顺序表 三 顺序表的结构与实现 1 顺序表的结构 2 顺序表的两种基本实现方式 l 一体式存储,类似于数组,不可变长度 l 分离式存储,类似于列表,可变长度 3 扩容的两种策略 四、顺序表的操作 1 插入 ...
分类:
其他好文 时间:
2019-04-29 18:56:36
阅读次数:
169
存在问题: 1.对于简单的问题,因为思维惯性,常常更愿意用旧的方法去解决,从而导致无法熟悉站与队列的实现。 2.拿到题目时,常常会急着下手,而没有一个十分明确的算法,导致代码看起来思路十分混乱。 3.编程习惯不够好,缩进有问题,所用字符可读性不强。 总结: 栈分为顺序栈和链栈,实际上只是在原有数据存 ...
分类:
其他好文 时间:
2019-04-01 01:14:38
阅读次数:
127
首先是两者的定义: 栈也称为堆栈,是一种线性表。 栈的特性: 最先放入栈中的内容最后被拿出来,最后放入栈中的内容最先被拿出来, 被称为先进后出、后进先出。 队列也是一种特殊的线性表。不同于栈所服从的先进后出的原则,队列的原则是先进先出。 队列在队头做删除操作,在队尾做插入操作。 然后是两者的异同点 ...
分类:
其他好文 时间:
2019-03-31 23:25:39
阅读次数:
371
第三章小结 第三章我们主要学习了栈和队列。经过第一次的写博客,与课后的学习与借鉴。我看到很多其他的同学在整理知识的时候采用了画大纲图,架构图的方法。不得不说,那样子确实比纯粹的文字更加简单明了。于是我决定也学习和效仿一下。 以下便是图解: 通过大图来看,很明显,和前面学习的顺序表,链表栈和队列的操作 ...
分类:
其他好文 时间:
2019-03-30 10:32:12
阅读次数:
160
1. 栈: - 后进先出 2. 队列: - 先进先出 ...
分类:
编程语言 时间:
2019-03-21 00:56:24
阅读次数:
149
栈 队列 栈的实现 顺序表实现 换个姿势,链表实现 队列 双端队列 操作: ...
分类:
其他好文 时间:
2019-03-16 19:15:40
阅读次数:
141
数据结构算法(1) 栈与队列 =================== 总结并记录学习数据结构过程中遇到的问题及算法. 一些常见算法: Note: 基础应用. 递归的非递归转化. 阶乘 递归实现: include include using namespace std; int main() { in ...
分类:
编程语言 时间:
2019-02-28 13:10:30
阅读次数:
145
一.栈一.顺序栈的实现A.栈的定义1.栈是一种特殊的线性表2.栈仅能在线性表的一端进行操作a.栈顶:允许操作的一端b.栈底:不允许操作的一端B.栈的特性后进先出(图示)C.栈的操作1.创建栈2.销毁栈3.清空栈4.进栈5.出栈6.获取栈顶元素7.获取栈的大小D.栈的实现template<typenameT>classStack:publicObject{public:virtualvo
分类:
其他好文 时间:
2019-01-28 12:01:06
阅读次数:
213