标签:table 存储 util tps 组元 pop 详细 大量 链表
队列:队列是一种线性集合,其元素从一端加入,从另一端删除,队列中的元素是按先进先出的方式处理的(FIFO)。一个队列一端为前端(front,head),
一端为末端(rear,tail)。
队列ADT所定义的操作
Java API中的队列
1.Java集合API提供了java.util.Stack类,它实现了栈集合。但它并没有提供队列类,而是提供了一个Queue接口,
由多个类(包括LikedList类)来实现的。(课本例题5.1,5.3的代码都使用了Queue接口)
2.java.util.Stack类提供了传统的push、pop和peek等操作。而Queue接口并没有实现传统的enqueue、dequeue和first操作。
Queue接口定义了另外两种方法,往队列中添加元素或从队列中删除元素。这些方法在异常类处理上有很大的不同。
一个是提供了一个布尔返回值,另一个是抛出一个异常。
队列的ADT
如同栈一样,可定义一个泛型的QueueADT接口,表示队列的操作,,是一般目标与各种实现方式分开。
用链表实现队列
可以在集合框架(Collection framework)中看到泛型的动机。
泛型只在编译阶段有效。
- 泛型的好处:ava语言引入泛型的好处是安全简单。泛型的好处是在编译的时候检查类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。
问题2解决方案:看了半天的资料,才发现其实这个问题可以说成是数组和链表的区别。
数组,在内存上给出了连续的空间.链表,内存地址上可以是不连续的,每个链表的节点包括原来的内存和下一个节点的信息
数组:
优点:使用方便 ,查询效率 比链表高,内存为一连续的区域
缺点:大小固定,不适合动态存储,不方便动态添加
链表:
优点:可动态添加删除 大小可变
缺点:只能通过顺次指针访问,查询效率低
顺序表的优点:查找方便,适合随机查找
顺序表的缺点:插入、删除操作不方便,因为插入、删除操作会导致大量元素的移动
链接表的优点:插入、删除操作方便,不会导致元素的移动,因为元素增减,只需要调整指针。
顺序表的缺点:查找方便,不适合随机查找
(statistics.sh脚本的运行结果截图)
一个高效的系统可以优雅地处理问题
太粗心了。
可以使用堆栈来保存一组数据的顺序
解析:一组地址采用连续的存储单元来依次存储线性表的各个数据元素称之为线性表的顺序存储结构,顺序存储结构就是把
一堆数据按照给定的地址连续存放。而链表是内存中随机存贮,只有数组这种静态的内存分配方式才是连续存贮的。
pp3.9是使用Android Studio没上传码云,现附上截图
这个星期又开始了敲代码之旅,数组,集合,栈这些内容其实上个学期都有学习到一些,但是经过这一个礼拜
的学习发现,这个学期的课程更加深入了(其实这是必然的),但是我也认识到上个学期的内容很多我都遗忘了,
所以有时间还是要去复习一下以前的课本了( ? ?ω?? )?
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | ||
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 10/10 | |
第二周 | 326/326 | 1/2 | 18/28 | 学习在一点点的深入 |
20172310 2017-2018《程序设计与数据结构》(下)第三周学习总结
标签:table 存储 util tps 组元 pop 详细 大量 链表
原文地址:https://www.cnblogs.com/Qiuxia2017/p/9703975.html