数据结构第三章小结

第三章学习的是栈和队列,分别学习了栈和队列的顺序结构和链式结构。栈和队列都是只能对它进行有限制的操作,在头尾的操作。栈只能是先进后出,队列是先进先出。我会把栈当作是在桌子上叠放书本,队列当作是排队买票,这样就能更好地理解。了解栈和队列都是从定义和初始化开始。顺序栈的定义和顺序表的定义很像,但是多了栈顶。链栈不需要设置头节点,这是和链表不一样的地方。接下来是栈和递归。其实之前是没有想到栈和递归是有关系的!然后在自己看书和视频的时候还没有很好的理解两者的关系,最后在老师的提问和解答中想清楚了。多个函数之间构成嵌套调用的时候,他们之间的数据调用等是通过栈来实现的,当前正在运行的函数必须在栈顶。然后是队列的学习,队列的顺序存储结构和循环队列,循环队列是解决假溢出的问题。队列的链式存储结构就是跟链表设置了头尾指针情况相同。最后是这次的小组作业。我们组还是没有敲出正确的代码!!这次的问题在我看来,是我不够了解顺序表的使用,然后输入的时候用了两个表,导致后面一度很混乱。归根到底应该是对各种表的知识掌握的只有理论知识,没有去多多的实践它!!然后我们组重新修改了代码,用了顺序存储和链式存储,改变了输入方式。后来我们在一个点过不去,就是我们的输入名称输入次数的时候,在整个表里只是查找了一次,没有一找到就break出来,导致输入只输入了一次。想了很久之后,重新修改,加了break,就通过了。但是第二次提交又有一个运行超时,开始感觉是pta崩了,然后发现是我们自己在查找的时候,忽略了升序的条件,每次都只是从头开始找,浪费了很多时间。后来修改之后,就成功了。总结下来,我下次应该更加仔细阅读题目,在敲代码的时候要头脑清醒,不要慌乱!!然后认真刻苦多敲代码,下次一定要过!!!!!

posted @ 2020-04-26 18:38  彭珊珊  阅读(125)  评论(0编辑  收藏  举报