码迷,mamicode.com
首页 > 其他好文 > 详细

第三章总结

时间:2019-03-31 12:23:03      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:最大   top   简单   空间复杂度   基本操作   ack   结构   turn   代码   

第三章主要学习了栈和队列的表示以及基本操作,栈和队列都是操作受限的表,栈的特点是先进先后出,队列是先进先出,在栈与递归中,我学习到递归算法虽然结构清晰可读性强算法简单,但时间和空间复杂度都很大,所以好的方式是用迭代。循环队列:使用循环队列可以避免假溢出的问题,rear=(rear+1)%MAXSIZE,但这时队列的最大空间是MAXSIZE-1。

作业的心得体会:

 这次作业和时间暴露出一个很明显的的问题,程序的封装性。

 if(i==1&&S.base==S.top) {

   cout<<"yes";

  }else{

   cout<<"no";

  }     做作业时我在主程序中直接调用了栈的操作来判断栈空,正确的做法时将栈空的判断写成一个函数,再进行调用。

int emptysqstack(sqstack s)//判断栈空
{
     if(s.top==s.base)
     {
     return 1;
    }
    else return 0;     
}

  if(i==1&&emptysqstack(S)==1) {
      cout<<"yes";
  }else{
      cout<<"no";
  }
 }。封装可以使程序的结构更清晰,可读性强,有利于标注和debug。

上次确定的目标及接下来的目标:

上次的目标是提高独自完成代码的能力,但是在不接助书本或网络的情况下编码的效率很低,以后我会先借助书本的代码完成作业,然后在没有其他参考的情况下自己再将代码打出来。

 

第三章总结

标签:最大   top   简单   空间复杂度   基本操作   ack   结构   turn   代码   

原文地址:https://www.cnblogs.com/slrt/p/10630745.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!