20172319 《程序设计与数据结构》 第三周学习总结

20172319 2018.09.17-09.23

《程序设计与数据结构》第3周学习总结

目录


教材学习内容总结

第五章 队列:

  • 5.1 概述:
  • 队列(queue): 一种线性集合,其元素从一端加入,从另一端删除。处理方式: 先进先出(First In First Out, FIFO)。
  • 比较FIFO与LIFO两种处理方式:
    • 栈中:处理过程只在栈的某一端;
    • 队列中:处理过程可在两端进行。
  • 队列的操作:
操作 代码行数(新增/累积)
enqueue 向队列末端添加一个元素
第一周 0/0
第二周 935/935
  • 5.2 JavaAPI中的队列: 线性集合
  • 后进先出(Last in , first out, LIFO) : 栈的基本使用就是用于颠倒顺序;

  • 5.3 使用队列:代码密钥: 已在之前的博客中提过,这里不再重复叙述。

  • 5.4 使用队列:售票口模拟:
  • 中缀表达式:6 - 9
  • 后缀表达式:6 9 -
  • 计算过程:由左至右,将扫描到的操作符应用与前面相邻的两个操作数

  • 5.5 队列ADT:
  • 异常是一个对象,其定义了一种非正常或错误的情况,但其不同于错误(无法恢复),其可以被捕获或适当地处理。

  • 5.6 用链表实现队列:
  • java接口定义了一个抽象方法集,可以将抽象类型的概念与实现分隔开

  • 5.6.1 enqueue操作:
  • 链式结构: 使用对象引用变量(指针)来创建对象之间的链接。
  • 链表由许多对象构成,每个对象指向了链表中的下一个对象。

  • 5.6.2 dequeue操作:
  • 访问元素:从第一个链表元素开始,顺着链表往下进行。

  • 5.6.3 其他操作:
  • 访问元素:从第一个链表元素开始,顺着链表往下进行。

  • 5.7 用数组实现队列:
  • 容量:数组的单元数量,数组一旦创建好,其不可变。

  • 5.7.1 enqueue操作:
  • 链式结构: 使用对象引用变量(指针)来创建对象之间的链接。
  • 链表由许多对象构成,每个对象指向了链表中的下一个对象。

  • 5.7.2 dequeue操作:
  • 访问元素:从第一个链表元素开始,顺着链表往下进行。

  • 5.7.3 其他操作:
  • 访问元素:从第一个链表元素开始,顺着链表往下进行。

  • 5.8 双端队列:
  • 数组实现栈的一个应用实例,包含栈的一些基本操作。

返回目录


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

  • 问题1:无。
  • 解决:

返回目录


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

  • 问题1:无法对链表的首节点做操作。



  • 解决:可以看到,return获得的Head本是677,但在实际应用时又变为676,最终使用


System.out.println
  • 直接输出,虽然面板上能看见其在链表的头部,但在内部并没有接上链表,只是先于链表前打印。

返回目录


代码托管

返回目录


上周考试错题总结

  • 错题1:

  • 解决: 误选,堆栈可用于保存数据。

  • 错题2:

  • 解决:分不清是2n还是2的n次方。

返回目录


结对及互评

点评过的同学博客和代码

  • 本周结对学习情况

返回目录


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


学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积)
目标 3000行 15篇 300小时
第一周 0/0 1/1 12/12
第二周 935/935 1/2 24/36

返回目录


参考资料

数据结构(Java实现)之单向链表的节点表示、插入、删除、单向链表反转和串联
【数据结构】链表的原理及java实现
java集合包总结(添加、删除等操作实现原理)

返回目录

猜你喜欢

转载自www.cnblogs.com/Tangcaiming/p/9703809.html