-
Notifications
You must be signed in to change notification settings - Fork 146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
【0279_week1】学习总结 #122
Comments
great, 只记忆原理,理解了原理再把题目默写出来 |
总结的很清晰明了,看了别人的作业豁然开朗。 |
很棒,学习了!! |
遇到一些自己解决不了的问题不用死磕,之前我也是, 嗯嗯 |
课后作业很棒!任何东西最后都是找最近重复性,大家一起加油! |
mark 学习了 |
学习了 |
优秀,想你学习~ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
第一部分课后作业,第二部分学习总结’
第 4 课的课后作业:
1.用add first或add last这套新的API改写Deque的代码:
2.分析Queue和Priority Queue的源码:
Queue的源码示例地址:http://fuseyism.com/classpath/doc/java/util/Queue-source.html
首先Queue是一个Interface,Queue队列继承了Collection接口,并扩展了队列相关方法。是一种为了可以优先处理先进入的数据而设计的集合。
boolean add(E e);
在不超出规定容量的情况下可以将指定的元素立刻加入到队列,成功的时候返回success,超出容量限制时返回异常。
boolean offer(E e);
前面跟add()一样,就是与add相比,在容量受限时应该使用这个。
E remove();
检索并删除此队列的首元素,队列为空则抛出异常。
E poll();
检索并删除此队列的首元素,队列为空则抛出null。
E element();
检索但并不删除此队列的首元素,队列为空则抛出异常。
E peek();
检索但并不删除此队列的首元素,队列为空则抛出null。
我的理解就是:数据只能从队尾进来,从队首离开,跟人在实际生活中的排队很像,先进来的人先离开。Queue严格遵循了这个原则,使插队和提早离开变得不可能。
Priority Queue的源码示例地址:http://fuseyism.com/classpath/doc/java/util/PriorityQueue-source.html
PriorityQueue继承于Queue,相比于一般的队列,它的出队的时候可以按照优先级进行出队,PriorityQueue可以根据给定的优先级顺序进行出队。
主要属性:
private static final int DEFAULT_CAPACITY = 11;
默认的容量。
E[] storage;
元素存储的地方。
int used;
数组中的实际元素数量。
Comparator<? super E> comparator;
比较器。
主要方法:
6种构造函数:
清空队列:
比较器:
迭代器:
添加节点:
获取优先级队列头结点:
移除并获取优先级队列头节点:
移除指定元素:
队列中元素个数:
添加所有元素:
寻找插槽(没完全理解):
移除指定序号的元素:
冒泡排序的函数:
扩容:
学习总结
除了学会关于数组、链表、栈、队列、优先队列等算法与数据结构的知识与方法外,对我最重要的帮助是以下:
1.通过潭超老师的视频和实践,学会了快速查看源代码。
2.克服了看英文文档的恐惧。
3.使用日程提醒软件来帮助自己完成5次练习
4.世上原创的东西很少,都是模仿、归纳、重复,遇到一些自己解决不了的问题不用死磕(以前经常会,导致效率低下),不会的直接学习就好了,当你学得越多,手中的工具武器越多,相反越容易有创造性的东西出现,量变到质变。
5.默写题目只背原理不背细节,不要一句一句背。
The text was updated successfully, but these errors were encountered: