第三章学习小结

第三章学习小结

一、本章内容小结

 第三章学习小结_第1张图片

    这是第三章内容的思维导图,本章的主要内容是栈和队列,栈和队列的表示和实现主要操作有初始化、出入栈、出入队等,栈和队列的案例主要包括数制转换、括号匹配、表达式求值还有舞伴问题,重点学习的内容是括号匹配,我认为这部分的难点在于如何用栈实现括号匹配的问题,它的主要思路是:在遍历字符串时,遇见左括号则入栈,遇见右括号则判断栈是否为空,不为空则弹出栈顶进行比对,如果配对则不作处理,不配对则将标记赋0,跳出;为空则将标记赋0,跳出;输出时判断标记是否为真且栈是否为空。其实我认为,这一章的内容相对于上一章的内容要好理解一些。在学习栈和递归时,我觉得相对于上学期,对于递归的理解又加深了一步。其次,我在自学表达式求值时觉得有些困难,但是思路还是不难理解的。

二、完成作业实践时的心得体会

    其实作业我在很早就开始尝试做了,但是很长一段时间都没有成功,主要原因是我完全照搬课本的例题,虽然看懂了课本的例题,但是课本只是提供了一种思路,所以在编程时就会出现各种各样的问题。后来,在上课听了老师的方法后,我便对自己的算法进行了改进,并且在网络上阅览了一系列关于括号匹配的文章,参考了多种思路,还了解到许多之前没有见到过的函数,例如exit(),这次的作业中我就用到了这种函数,其实它和return的主要区别在于main函数结束时也会隐式地调用exit函数。exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流、关闭所有打开的流并且关闭通过标准I/O函数tmpfile()创建的临时文件。在做实践题时,一开始我选择用队列实现银行业务的功能,但是做着做着思维就开始混乱,说明这部分还是我的薄弱点,要加强理解练习,但是后来经过我的深思熟虑,我认为在实现银行业务的功能方面,还是数组更为简便,所以我最后使用了数组,用数组来模拟队列。

三、值得分享的资料

https://www.cnblogs.com/noble/p/4144166.html

exit函数和return函数的区别

https://blog.csdn.net/Helloirbd/article/details/82250935

https://blog.csdn.net/qq_41611106/article/details/83002075

括号问题思路总结

四、上次确定的目标达成效果

上一次我的目标是熟练地掌握并运用单链表,多加练习,多多实践,多查阅资料。接下来的目标就是熟练掌握单链表,解决在编程过程中遇到的问题。所以课后我便多多翻阅了课本,遇到不懂的问题,及时询问了身边的人,并且阅读了更多关于单链表运用的博客,现在对于单链表我认为我有了较大的进步。

五、接下来的目标

接下来,我要继续巩固和学习栈和队列,争取在做像银行业务那样的题目时,首先想到的不是数组,而是如何用队列解决问题,在使用队列时,不再发生思维混乱的情况。课后我将多多阅读相关材料,多阅读借鉴他人的博客,完善自己的不足之处。

你可能感兴趣的:(第三章学习小结)