第3章内容小结

 

1.栈和队列:都是操作受限的线性表,插入与删除的时间复杂度都是O1),在空间复杂度上两者也一样删除数据元素的位置不同,栈的删除操作在表尾进行,队列的删除操作在表头进行

 

2.PTA选择题出现)共享栈:利用栈底位置相对不变的特性,可以让两个顺序栈共享一个一维数据空间,将两个栈的 栈底分别设置在共享空间的两端,两个栈顶向共享空间的中间延伸两个栈的栈顶指针都指向栈顶元素,top1=-1 1号桟为空,top2=MAXSIZE2号栈为空;仅当两个栈顶指针相邻(top2-top1=1) 时,判断为栈满

 

完成作业时一开始我是按照书本上的方法用switch语句,后来老师在课堂上分析了方法给了另一种思路,再打代码就比较容易了。用老师讲的方法做时,一开始只分了左边括号、右边括号的情况,没有考虑到不是括号的字符读取情况,造成了死循环,所以运行的时候总显示超时,一开始我把while循环改成了if,不知道是没能遍历整个字符串导致的循环没法结束,后来请教之后才知道是造成了死循环这种情况。而且一开始的书本上的方法因为运行超时就没有再管它,但是这样就放一边不去解决就只是打字练习了没有意义,所以要多问,注释详细也可以检查出一些问题。实践题我一开始是想用flag标记,输出两个奇数后令flag=1,输出一个偶数后令flag=0循环输出,但是这种只适用于刚好可以21偶的情况,而且最后一个数后面的空格也没有办法解决。后来我将奇数存在一个队列里,偶数一个队列,再按21偶的顺序(不能21偶就先放奇数再放剩下的偶数)放在一个数组里,其中参考了网上一些方法也问了同学。一开始我觉得直接用两个数组就可以解决,但是这一章学习了队列就没有尝试了。我觉得请教别人是一种很好的解决方法,虽然现在问的还不多,但希望自己之后能发现问题,主动提出问题,更主动学习。

posted @ 2019-03-31 20:24  咸鱼汤  阅读(137)  评论(2编辑  收藏  举报