DS第3章学习小结

  1. 你对本章内容的小结
  2. 完成作业或实践时解决困难的经验分享
  3. 这段时间,你参考了哪些值得向大家分享的资料?每一项推荐都请说明推荐理由及列出相关链接(或书目名称,具体页码)
  4. 目前学习过程中存在的困难,待解决或待改进的问题
  5. 上次博客确定的目标达到了吗?如果没达到,请分析原因
  6. 接下来的目标

一、你对本章内容的小结

  第3章主要学习了队列

  是一种后进先出(LIFO)的线性表,而队列是一种先进先出(FIFO)的线性表

  只允许对栈顶进行操作,而队列只允许对队尾队头进行操作

  队列的引入简化了程序设计的问题,划分了不同的关注层次,使思考范围缩小了,而不用像数组那样关注下标等的细节问题

  的基本操作有:

  InitStack(&S)、StackEmpty(S)、GetTop(S)、Push(&S,e)、Pop(&S)

  队列的基本操作有:

  InitQueue(&Q)、QueueEmpty(Q)、GetHead(Q)、EnQueue(&Q,e)、DeQueue(&Q)

  

  还学了栈与递归递归负责解决本层问题,一般的算法框架为

  void p(参数表)

  {

    if (递归终止条件) 直接求解;// 递归终止

    else p(较小的参数);// 递归求解

  }

  递归的优点:结构清晰,程序易读

     缺点:时间开销大

二、完成作业或实践时解决困难的经验分享

  ‘\b’代表退格但是和按下退格键不一样,它只是移动当前的光标向前移动一位,所以在pta做题时  

  不可以像我下面这样,若是这样做了,答案肯定是错的!!!

1     for(int i=0; i<n; i++)
2     {
3         cout<<data[i]<<" ";
4     }
5     cout<<'\b';

三、这段时间,你参考了哪些值得向大家分享的资料?每一项推荐都请说明推荐理由及列出相关链接(或书目名称,具体页码)

  https://www.cnblogs.com/wft1990/p/5861529.html

  这个博客介绍了各种输入流的用法和不同,有时候做题时出现  “以......标志着输入结束”  可能会用到。

四、目前学习过程中存在的困难,待解决或待改进的问题

  对一些算法进行具体实现的时候还是不太能得心应手,有时候写的算法有点乱,也不够结构化、层次化。

五、上次博客确定的目标达到了吗?如果没达到,请分析原因

  达到了吧,老师给的高质量c++编程指南1~30页看了,课程也基本听懂了?

  虽然那1~30页说的都是平时打代码时的一些很基础的习惯,但我还是觉得很有用,写程序规范化一点能使程序更容易读嘛~

六、接下来的目标

  以后的算法都要结构化,划分不同的关注层次,尽量简化程序设计的问题。

  看老师给的高质量c++编程指南31~60页。

 

posted on 2019-03-31 20:45  J丶2000  阅读(131)  评论(2编辑  收藏  举报

导航