1.靜態方法
靜態方法又稱爲類方法,能夠經過類名來激活。
在方法聲明中,能夠經過static修飾符就能夠把它聲明爲靜態的。html
2.泛型方法
git
3.線性查找法
即從列表頭開始依次比較每個值,直至找到該目標元素或到列表尾未找到,這是一種最簡單的查找方式,但它的效率並非高效的。算法
4.二分查找法
二分查找算法是在有序數組中用到的較爲頻繁的一種算法,就是不斷將數組進行對半分割,每次拿中間元素和目標進行比較。數組
排序是這樣一個過程,即基於某一標準,將某一組項目按照某個規定順序排列。具體可分爲如下幾種:
數據結構
當咱們渴望先知道排在前面的是誰時,咱們用選擇排序;當咱們不斷拿到新的數並想保持已有的數始終有序時咱們用插入排序;當給出的數列已經比較有序,只須要小幅度的調整一下時,咱們用冒泡排序。架構
2.插入排序
基本思想: 在要排序的一組數中,假設前面(n-1) [n>=2] 個數已是排好順序的,如今要把第n個數插到前面的有序數中,使得這n個數也是排好順序的, 如此反覆循環,直到所有排好順序。
算法步驟:
1.將第一待排序序列第一個元素看作一個有序序列,把第二個元素到最後一個元素當成是未排序序列。
2.從頭至尾依次掃描未排序序列,將掃描到的每一個元素插入有序序列的適當位置。(若是待插入的元素與有序序列中的某個元素相等,則將待插入元素插入到相等元素的後面。)學習
3.冒泡排序
冒泡排序是最經常使用的數組排序算法之一,它排序數組元素的過程老是小數往前放,大數日後放,相似水中氣泡往上升的動做,因此稱做冒泡排序。
算法步驟:
1.比較相鄰的元素。若是第一個比第二個大,就交換他們兩個。
2.對每一對相鄰元素做一樣的工做,從開始第一對到結尾的最後一對。這步作完後,最後的元素會是最大的數。
3.針對全部的元素重複以上的步驟,除了最後一個。
4.持續每次對愈來愈少的元素重複上面的步驟,直到沒有任何一對數字須要比較。
測試
4.快速排序
快速排序是由東尼·霍爾所發展的一種排序算法。在平均情況下,排序 n 個項目要Ο(n log n)次比較。在最壞情況下則須要Ο(n2)次比較,但這種情況並不常見。事實上,快速排序一般明顯比其餘Ο(n log n) 算法更快,由於它的內部循環能夠在大部分的架構上頗有效率地被實現出來。
算法步驟:
1 .從數列中挑出一個元素,稱爲 「基準」(pivot),
2 .從新排序數列,全部元素比基準值小的擺放在基準前面,全部元素比基準值大的擺在基準的後面(相同的數能夠到任一邊)。在這個分區退出以後,該基準就處於數列的中間位置。這個稱爲分區(partition)操做。
3.基準的位置將數列分爲左右兩部分,將左右兩部分按照上面的步驟重複(遞歸調用)便可。
遞歸的最底部情形,是數列的大小是零或一,也就是永遠都已經被排序好了。雖然一直遞歸下去,可是這個算法總會退出,由於在每次的迭代(iteration)中,它至少會把一個元素擺到它最後的位置去。.net
步驟2~5爲合併兩個有序區間設計
無
正確使用Markdown語法(加1分)
模板中的要素齊全(加1分)
教材學習中的問題和解決過程, (加3分)
感想,體會真切的(加1分)
點評認真,能指出博客和代碼中的問題的(加1分)
這一週花了點心思在這一章上面,也好好閱讀了不少內容,掌握的還算能夠。
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 0/0 | 1/1 | 10/10 | |
第二週 | 700/700 | 1/2 | 10/20 | |
第三週 | 700/1400 | 1/3 | 10/30 | |
第四周 | 500/1900 | 2/5 | 10/40 | |
第五週 | 569/2469 | 1/6 | 10/50 |
計劃學習時間:10小時
實際學習時間:10小時