這一週的學習內容爲教材第十三章,包括查找和排序兩部分。html
查找:包括線性查找,折半查找等。java
問題一:線性查找時設置哨兵在數組第一位有什麼意義。git
經過設置哨兵,可使查找過程得到一個必定能夠找到的結果,此時只須要判斷找到元素的位置是否是在哨兵位置,就能夠判斷原來序列中到底是否含有這個元素。而這一過程可使循環減小一個判斷語句,循環次數多了之後就能夠顯著提升效率
問題二:排序算法的穩定性究竟有什麼意義。算法
其實有不少算法如今看着沒什麼不一樣,可是當放在大數據雲計算的條件下它的穩定性很是重要。舉個例子來講,對淘寶網的商品進行排序,按照銷量,價格等條件進行排序,它的數據服務器中的數據很是多,所以,當時用一個穩定性效果很差的排序算法,如堆排序、shell排序,當遇到最壞情形,會使得排序的效果很是差,嚴重影響服務器的性能,影響到用戶的體驗。
問題三:對於經常使用的排序方法,究竟哪一種方法效率更高?shell
1.冒泡算法效率最低。 2.插入算法效率最高。 3.選擇算法是冒泡算法的3.3倍。 4.插入算法是冒泡算法的4.7倍。 5.插入算法是選擇算法的1.4陪。
問題一:==,equals和compareTo的區別?編程
==:通常比較兩個變量的值,返回true和false,比較對象的地址,不比較對象的內容, equals:比較兩個對象的內容,通常用於比較字符串。 compareTo:在API中,java.lang包下面的基本數據類型(Integer,Float,Byte,Short,Character 等)的封裝類都實現了對應的compareTo方法。例如對應Interger實現了數值大小判斷;對應String按照字典排序實現字符串的判斷,返回的是字符串長度差或者是字符間在碼錶上的差距。compareTo返回int值,大於返回大於0的整數,等於返回0,小於返回小於0的整數。
## 結對學習同窗博客(20182327)數組
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 6000行 | 30篇 | 400小時 | |
第一週 | 200/200 | 2/2 | 17/17 | |
第2、三週 | 556/756 | 3/5 | 31/48 | 明白了類與方法的關係,對Java編程的思想的瞭解有了一些進步 |
第四周 | 673/1429 | 2/7 | 12/60 | 對兩段代碼之間的關係瞭解了一些 |
第五週 | 1308/2737 | 2/9 | 25/85 | |
第六週 | 800/3537 | 2/11 | 18/103 | |
第七週 | 4195/7732 | 2/13 | 27/130 | |
第八週 | 489/8221 | 1/14 | 6/136 |