20172312 2018-2019-1 《程序设计与数据结构》第2周学习总结

学号 2017-2018-2 《程序设计与数据结构》第X周学习总结

教材学习内容总结

第三章

集合概述(栈)

1.集合是一种隐藏了实现细节的抽象。html

2.集合是一种汇集、组织了其余对象的对象。集合的使用者(软件系统中的另外一个类或对象)只能经过这些预约的方式和该集合进行交互。编程

3.(回顾)抽象数据类型是一种在程序设计语言中还没有定义其值和操做的数据类型。ADT必须对实现细节进行定义,且这些定义对用户是不可见的。数据结构

4.数据结构是一种用于实现集合的编程结构集。集合自己与实现集合的数据结构是分离的,能够用线性数据结构来实现非线性集合。ide

5.栈的基本使用就是颠倒顺序,这和它后进先出的特性有关。学习

6.栈的一个性质——全部操做都是在一端进行的,所以,在中间或者底部删除、增添就很困难。idea

7.ArrayList可用于存储任意类型的对象的缘由所在。由于全部对象都是与Object兼容的。设计

第四章

链式结构(栈)

1.对象引用变量能够用来建立链式结构,链式结构是一种数据结构。对象引用变量存放的是对象的地址,表示对象在内存中的存储位置。在链表中存储的对象一般泛称为该链表的结点,注:须要一个单独的引用变量来表示链表的首结点,链表终止于其next引用为空的结点3d

2.指针:引用变量;结点:储存的对象。指针

3.访问元素不能直接将指针移到要访问的元素处,这样会丢失以前全部的元素。插入结点前要先从新设置指向整个列表的引用。删除结点要特别注意首结点的删除方法。调试

4.栈能够用来模拟递归处理,以跟踪恰当的数据

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

  • 问题1:关于上文中的“访问元素不能直接将指针移到要访问的元素处,会丢失以前全部元素”问题不是很理解。
  • 问题1解决方案:百度搜索以后找到了链式存储结构的百科。(https://baike.baidu.com/item/链式数据存储/20956564?fr=aladdin)

    链式存储结构中每一个结点除了包含信息域以外,还至少包含 一个指针域。链式存储结构是用指针来体现数据元素之间的逻辑关系的。利用这种结构,各个数据元素的存储单元再也不要求是连续的,便可以把逻辑上相邻的两个元素存放在物理上不相邻的存储单元中,还能够在线性编址的存储器中表示非线性关系的结点。
      链式存储结构的主要特色为:
      结点中除包含保存数据元素的自身信息的信息域外,还有表示数据元素之间的连接信息的指针域,所以比顺序存储结构的存储密度低,存储空间的利用率也较低。
      逻辑上相邻的数据元素在物理上不必定相邻,可用于存储线性表、树、图等多种逻辑结构。
      插入、删除操做比较灵活,没必要移动数据元素,只要改变结点中的指针域的值便可。

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

  • 问题1:在编译pp3.2的时候出现了选择继续输入语句而退出,以下图。

     

  • 问题1解决方案:是两个String字符串之间使用“==”的问题,我回去查了一下==和equals的区别(http://www.javashuo.com/article/p-miqunfsw-mg.html
  • 也就是说此处改为equals或者在后面加个=ture也能够。(仍是选择equals)
  •  

码云连接

个人idea没法链接到码云,周三会去找老师解决码云没法链接的问题并在当天上传。

结对及互评 —— 见下方评论

参考资料

https://baike.baidu.com/item/链式数据存储/20956564?fr=aladdin

http://www.javashuo.com/article/p-miqunfsw-mg.html

相关文章
相关标签/搜索