第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提交记录截图