問題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 |