20182305 2019-2020-1 《数据结构与面向对象程序设计》第七周学习总结

20182305 2019-2020-1 《数据结构与面向对象程序设计》第七周学习总结

教材学习内容总结

这一周的学习内容包括教材第十二章、第十四章和第十五章。html

  • 第十二章内容有算法分析,包括效率,方法调用、以及递归,主要用来比较不一样算法之间效率的高低不一样,增加函数显示了与问题大小相关的时间或空间利用率。即时间复杂度用于表示这个算法耗时的变化快慢。
  • 第十四章讲的是栈。这一章内容多的一批。首先从集合引入,引出栈的概念。栈就相似一摞本子,先放进去的元素被放在下面,后方的在上面。取出时先进栈的元素后出栈,后进栈的元素先出栈。栈经常使用的方法包括入栈(push),弹出栈顶元素(pop),显示栈顶元素(不弹出)(seek),判断是否为空(isEmpty)等等,在这个一过程还学了泛型 。栈能够用多种方法实现,包括链表,数组。
  • 第十五章学习了队列。也是能够用多种方法来实现。与栈不一样,队列只能从队尾入队,从队列的头出队,因此是一个严格的顺序结构。
  • 在十四十五章学习过程当中,链表是一个难点,也是重点。由于链表的形式也些许复杂,须要多加注意。

教材学习中的问题和解决过程

  • 问题一:链表和数组各有什么优缺点?两者相比较有哪些特色?git

    数组比链表好在:能根据下标随机读取,更加方便灵活,而链表要访问一个结点须要一个个按顺序进行读取,直到读取到想要的元素;链表比数组好在:链表比数组节省空间,并且在面对屡次循环,元素数量不肯定时,链表能比数组更方便地开空间。同时链表也比数组更灵活、方便的增长、删除元素,尤为是体如今中间插入时,数组须要依次向后移动元素,而链表只须要改变插入位置前一个元素的next指向就能够。
  • 问题二:对泛型的理解不够清楚,不明白如何使用。算法

    泛型其实就能够看成一种普通的变量类型来使用,只不过它的使用不肯定具体某种类型,使程序更加灵活。
  • 问题三:怎么判断front = rear 时,队列到底是空仍是满?编程

    能够经过打印队列的方式,来判断队列中是否有内容。有同窗提出能够判断rear靠近front的方向,我认为有些麻烦。

    代码调试中的问题和解决过程

  • 问题一:在使用stack.pop()方法时提示空栈异常。数组

    这个问题实际上是出在我对程序的循环控制上,出栈次数大于入栈操做次数,使得最后一次出栈时,栈内没有任何元素。因此会抛出异常。
  • 问题二: 链表的使用。对链表的使用不清楚,出现空指针异常,不明白怎样连接链表。数据结构

    反复实验和学习后,发现必需要先实例化一个头,这个头要在整个连接过程当中保持不变,其余元素的都要连在他的后面。

    代码托管

## 结对学习同窗博客(20182327)函数

  • 博客中值得学习的或问题:
    • 分点分章节总结学习内容,全面、真实的写出了本身这周的学习状况。
    • 添加了图片和代码片断,很好的记录了学习过程当中出现的问题,记录了学习中的点子和想法。有助于记录本身的学习过程、代码出错的状况,便于后续学习纠错总结。也能够更好的总结这一周的学习状况。
  • 代码中值得学习的或问题:
    • 善于利用Java语言代码复用性高的特色,不须要重复敲代码,善于使用继承,使用之前瞧过的代码。
  • 基于评分标准,我给本博客打分:11分。得分状况以下:正确使用Markdown语法+1.教材学习中的问题和解决过程+2.代码调试中的问题和解决过程+3.感想,体会不假大空+1.点评认真,能指出博客和代码中的问题+1.结对学习状况真实可信+1.课后题有验证+1,进度条有记录+1.

点评过的同窗博客和代码

其余(感悟、思考等,可选)

随着课程深刻,最近的学习内容愈来愈多也愈来愈难,须要占用不少时间,并且使用的教材和辅导书也有好多本,有时候找资料都会十分麻烦。最近的学习真的好累,也好艰难,感受学习效率都有所降低。学习

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 6000行 30篇 400小时
第一周 200/200 2/2 17/17
第2、三周 556/756 3/5 31/48 明白了类与方法的关系,对Java编程的思想的了解有了一些进步
第四周 673/1429 2/7 12/60 对两段代码之间的关系了解了一些
第五周 1308/2737 2/9 25/85
第六周 800/3537 2/11 18/103
第七周 4195/7732 2/13 27/130
相关文章
相关标签/搜索