数据结构第三章学习小结

第三章学习了栈和队列两种新的数据结构。整体上看是顺序表和链表的推广,结合指针对存储空间进行存取,并结合栈和队列各自对数据处理的顺序特点,

可具体应用在特殊的应用场景中。

 

栈分为顺序栈和链式栈两种,分别是顺序表和链式表结合指针,指向栈底和栈顶。

在栈的学习中,结合了递归和迭代算法。

通常把自底向上求解的编程方法称为迭代,把自顶向下的编程方法称为递归。

使用递归求解问题,分两步:1、写出递归公式 2、根据递归公式进行求解

以讨论的汉诺塔和爬楼梯算法为例。

 

 

队列有顺序表示和链式表示两种,以及定义了新的队列形式--循环队列,解决了由于队列先进先出的受限操作会造成的“假溢出”现象。

 

 

下面是我查到的几个关于栈和队列还有STL的相关博客。

栈:

https://blog.csdn.net/laifengyuan1/article/details/98516221

循环队列:https://blog.csdn.net/sinat_34450204/article/details/73607515

队列:

https://blog.csdn.net/laifengyuan1/article/details/98980244

STL:

https://blog.csdn.net/piaoxuezhong/article/details/54348787

http://c.biancheng.net/stl/

因为这一章基本是基于上一章的基础进行的推广,所以在第二章算是跨过链表这个大坎之后,这一章的难度也相对不高。

在这一次的小组作业中要深刻检讨自己的问题,没有明确小组三个人的方向导致最后结果并不可观。

在互评看到大家的代码中学习到了很多不一样的提高效率的算法,像是二分法和头尾往中间查询以及记录上一个查询位置以减少下一个查询进行重复的比对查询时间,

看到有小组开始使用类将数据对象和函数都封装到类里进行操作,这样处理使得主函数十分简洁且代码的可读性提高。能将当前学到的知识进行实时运用,

能起到练习和知识点融合使用的作用。

目标是,每一次的小组作业,不仅要学会使用自己小组的处理方法,也要将互评看到的别的结构处理的方法消化下来。要对课本和自己查询看到的博客的知识点进行归纳。

 

posted @ 2020-04-25 18:11  1905梁秋璇  阅读(153)  评论(0编辑  收藏  举报