问题1:.优先级队列和队列有什么区别?html
问题1解决方案:
队列就像平时买东西排队同样,从一个队伍的后面进入这个队伍,而后排队,直到走到队伍最前面(队首)才能出去。
队列就是采用FIFO(first in first out )原则模拟现实生活中这种排队模型的一种数据结构。
优先队列是对队列的进一步抽象,好比五我的排队,其中有一个是老年人,那么老年人就会自动被排到最前面。git
问题2解决方案:
Java把内存划分红两种:一种是栈内存,另外一种是堆内存。在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的做用域后,Java 会自动释
放掉为该变量分配的内存空间,该内存空间能够当即被另做它用。
堆内存用来存放由 new 建立的对象和数组,在堆中分配的内存,由 Java 虚拟机的自动垃圾回收器来管理。在堆中产生了一个数组或者对象以后,还能够在栈中定义一个特殊的变量,让栈中的这个变量的取值等于数组或对象在堆内存中的首地址,栈中的这个
变量就成了数组或对象的引用变量,之后就能够在程序中使用栈中的引用变量来访问堆中的数组或者对象,引用变量就至关因而为数组或者对象起的一个名称。引用变量是普通的变量,定义时在栈中分配,引用变量在程序运行到其做用域以外后被释放。而数
组和对象自己在堆中分配,即便程序运行到使用 new 产生数组或者对象的语句所在的代码块以外,数组和对象自己占据的内存不会被释放,数组和对象在没有引用变量指向它的时候,才变为垃圾,不能在被使用,但仍然占据内存空间不放,在随后的一个不确
定的时间被垃圾回收器收走(释放掉)。数组
这也是Java比较占内存的缘由,实际上,栈中的变量指向堆内存中的变量,这就是 Java 中的指针!数据结构
无ide
The Java Collections API provides two implementations of balanced binary search trees, TreeSet and TreeMap, both of which use a ___________tree implementation.函数
A . AVL学习
B . red/black.net
C . binary search设计
D . None of the above
选B,他们都使用了红黑树3d
The best comparison sort in terms of order is:
A . O(1)
B . O(n)
C . O(log(n))
D . O(nlog(n))
选D,最复杂的是D,这题没看懂
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 8/8 | |
第二周 | 500/500 | 1/2 | 15/ 23 | |
第三周 | 802/1302 | 1/3 | 12/35 | |
第四周 | 1530/2832 | 2/5 | 15/50 | |
第五周 | 1165/3997 | 1/6 | 10/60 | |
第六周 | 1169/5166 | 1/7 | 15/75 | |
第七周 | 843/6039 | 1/8 | 15/90 | |
第八周 | 1804/7843 | 2/10 | 30/120 |