第3次作业 栈和队列

1.学习总结

到现在为止,已经学习了数据结构绪论、线性表、栈和队列等知识点。尝试使用思维导图将这些碎片化的概念、知识点组织起来。使用Xmind画出知识点及知识点之间的联系。步骤如下:
1.1 写出你认为本周学习中比较重要的知识点关键词,如逻辑结构、栈、队列、存储结构等。
1.2 使用思维导图将这些关键词组织起来。

2.PTA实验作业

题目1:7-3 表达式转换

设计思路(伪代码或流程图)

中缀表达式到后缀表达的转换思路:

1. 若是数字则直接放到输出;

2. 若是操作符‘+’/‘-’/’*‘/’、’, 则放入一个运算符堆栈,放入之前判断当前运算符优先级是否大于栈顶运算符,是则直接压入,不是则将栈顶元素出栈放入输出中,指到当前运算符优先级大于栈顶元素或栈为空后,讲当前运算符入栈;这里要注意,‘+’、-、符号若是前面不是运算因子,则只是作为正负数的标识,并不是运算符;

3. 若是‘(’,则直接入栈,入栈后‘(’的优先级降至最低;

4. 若是‘)’, 将栈顶元素出栈放入输出中,指到遇到栈顶元素为‘(’为止;

5. 输入全部读完后,若是栈中还有元素,全部出栈病放入输出中。

代码截图(注意,截图、截图、截图。代码不要粘贴博客上。不用用···语法去渲染)

PTA提交列表说明。

没有想到利用堆栈的先进后出特性,结合算术优先级情况进行编程

题目2:7-1 jmu-字符串是否对称

设计思路(伪代码或流程图)

 判断一个字符串是否是对称字符串
 例如:"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
  分析:
 判断一个字符串是否是对称的字符串,我只需要把第一个和最后一个比较第二个和倒数第二个比较,比较字数是长度以2;

代码截图(注意,截图、截图、截图。代码不要粘贴博客上。不用用···语法去渲染)

PTA提交列表说明

题目3:7-3 银行排队问题之单队列多窗口服务

设计思路(伪代码或流程图)

先通过输入将队列保存在数组中,之后用队列头元素的到达时间跟窗口的完成时间对比,因为题中说优先考虑近的窗口,所以可以遍历窗口。如果队首的到达时间比这个窗口的完成时间大,就不需要等待,更新这个窗口的等待时间,并且这个窗口人数加一,如果这个窗口无法服务,就求出这个窗口的最快完成时间。如果三个窗口都无法满足,就需要等待,并且求出等待的时间并且用下表记录。最后将需要等待的时间和完成的时间都记录下来。最后将题目要求的数据输出就行。

代码截图(注意,截图、截图、截图。代码不要粘贴博客上。不用用···语法去渲染)

PTA提交列表说明

 

3.截图本周题目集的PTA最后排名

本次2个题目集总分:125+215=340分

必做题共:205分

3.1 栈PTA排名

3.2 队列PTA排名

3.3 我的总分:137

4. 阅读代码

5. 代码Git提交记录截图

原文地址:https://www.cnblogs.com/hmya/p/8734760.html

时间: 2024-10-11 18:25:54

第3次作业 栈和队列的相关文章

第03次作业-栈和队列

第03次作业-栈和队列 1.学习总结 2.PTA实验作业 2.1题目一 7-3 表达式转换(25 分) 2.2 设计思路(伪代码或流程图) 定义变量result[100]存储需要输出的式子. 定义变量str[100]存储输入的表达式 for i=0 to strlen(str) if(str[i] 为 '-' 并且 str[i-1]不是数字) then result[r++]=str[i]; elseif (str[i]不是数字) then while str[i]为数字或为"." d

第三次作业-栈和队列

1.学习总结 2.PTA实验作业 2.1 题目1:7-1 jmu-字符串是否对称(20 分) 2.2 设计思路(伪代码或流程图) 2.3 代码截图   2.4 PTA提交列表说明. 题目2:7-2 符号配对(20 分) 2.2 设计思路(伪代码或流程图) 循环中判断是否读到左符号,是则进栈, 读到右符号判断是否为空,若不为空则出栈,直到循环结束若是不配对则输出NO反之则输出YES 2.3 代码截图 2.4 PTA提交列表说明 题目3:7-1 jmu-报数游戏(15 分) 2.2 设计思路(伪代码

图解堆算法、链表、栈与队列(Mark)

原文地址: 图解堆算法.链表.栈与队列(多图预警) 堆(heap),是一类特殊的数据结构的统称.它通常被看作一棵树的数组对象.在队列中,调度程序反复提取队列中的第一个作业并运行,因为实际情况中某些时间较短的任务却可能需要等待很长时间才能开始执行,或者某些不短小.但很重要的作业,同样应当拥有优先权.而堆就是为了解决此类问题而设计的数据结构.--

【万字总结】图解堆算法、链表、栈与队列(多图预警)

转自:http://blog.csdn.net/nomasp/article/details/50349172 堆算法 什么是堆 堆(heap),是一类特殊的数据结构的统称.它通常被看作一棵树的数组对象.在队列中,调度程序反复提取队列中的第一个作业并运行,因为实际情况中某些时间较短的任务却可能需要等待很长时间才能开始执行,或者某些不短小.但很重要的作业,同样应当拥有优先权.而堆就是为了解决此类问题而设计的数据结构. 二叉堆是一种特殊的堆,二叉堆是完全二叉树或者近似完全二叉树,二叉堆满足堆特性:父

《数据结构与算法分析:C语言描述_原书第二版》CH3表、栈和队列_reading notes

表.栈和队列是最简单和最基本的三种数据结构.基本上,每一个有意义的程序都将明晰地至少使用一种这样的数据结构,比如栈在程序中总是要间接地用到,不管你在程序中是否做了生命. 本章学习重点: 理解抽象数据类型(ADT)的概念 学习如何对表进行有效的操作 熟悉栈ADT及其在实现递归方面的应用 熟悉队列ADT及其在操作系统和算法设计中的应用 ADT 抽象数据类型(abstract data type)是一个操作的集合,是数学的抽象,在ADT中不涉及如何实现操作的集合,这可以看作是模块化设计的扩充. 对于每

栈和队列数据结构博客园

1.本周学习总结(0--1分) 谈谈你对栈和队列结构的认识及学习体会. 体会:本章学习了栈和队列,堆栈和队列都是特殊的线性表,其数据元素以及数据元素之间的逻辑关系完全相同, 区别在于:线性表的插入和删除操作不受限制,堆栈只能在栈顶插入和删除,队列只能在队尾插入,在队头删除. 栈的特点还是非常有意思的,对于解决迷宫问题时有很好的 作用,栈的结构能保证迷宫问题中指针神时候进 去什么时候出来,通过保存从入口到当前位置的路径上走过的方块,可以保证所有位置可以原路返回.总之, 对于栈和队列的知识的初步了解

栈和队列数据结构的基本概念及其相关的Python实现

先来回顾一下栈和队列的基本概念: 相同点:从"数据结构"的角度看,它们都是线性结构,即数据元素之间的关系相同. 不同点:栈(Stack)是限定只能在表的一端进行插入和删除操作的线性表. 队列(Queue)是限定只能在表的一端进行插入和在另一端进行删除操作的线性表.它们是完全不同的数据类型.除了它们各自的基本操作集不同外,主要区别是对插入和删除操作的"限定". 栈必须按"后进先出"的规则进行操作:比如说,小学老师批改学生的作业,如果不打乱作业本的顺

快速记忆数组栈和队列函数push()和shift()

在js中,对数组的操作是比较常见的,有时候,我们需要模拟栈和队列的特性才能实现需求,今天来给大家用通俗易懂.简洁明了的几行文字,来告诉大家栈和队列的几个函数,如何快速记住. 首先,概念还是要知道的: 栈(stack)又名堆栈,它是一种运算受限的线性表.其限制是仅允许在表的一端进行插入和删除运算.这一端被称为栈顶,相对地,把另一端称为栈底.向一个栈插入新元素又称作进栈.入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素:从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻

3-3-行编辑程序-栈和队列-第3章-《数据结构》课本源码-严蔚敏吴伟民版

课本源码部分 第3章  栈和队列 - 行编辑程序 ——<数据结构>-严蔚敏.吴伟民版        源码使用说明  链接??? <数据结构-C语言版>(严蔚敏,吴伟民版)课本源码+习题集解析使用说明        课本源码合辑  链接??? <数据结构>课本源码合辑        习题集全解析  链接??? <数据结构题集>习题解析合辑        本源码引入的文件  链接? SequenceStack.c        相关测试数据下载  链接? 无数据