1.鏈表實現棧
data存放數據點
next下一節點
存儲地址 數據域
單鏈表:只含一個指針域的鏈表 a-》
雙向鏈表:《-a-》
地址不必定連續
要用鏈表實現棧,就要操做鏈表的兩端。因此除了一個指向鏈表首元素的引用(稱爲head)以外,還須要跟蹤另外一個指向鏈表末元素的引用(稱爲tail),還須要一個整型變量count來跟蹤隊列中的元素數目。java
2.尾插法
Student temp = Head;
while(temp.next!=null){
temp=temp.next}
temp.next=node;
return head;
用一個臨時指針(不能影響頭指針,頭指針移動則垃圾回收)等於頭指針temp=temp。next 若爲null,找到了鏈表結尾,則指向新插入的對象node
3.頭插法:新對象指向首個元素,head指針賦給新對象,則新鏈表完成
node.next=Head;
Head =node;
return Head;
刪除:1.temp.next=temp.next.next
2.兩個指針,p.next=q.next
循環鏈表
雙向鏈表
棧與鏈表
top即爲head
4.漸進複雜度(時間/空間複雜度)
又稱爲算法的階,符號計爲O(),它和增加函數有關
linux
5.簡單選擇排序算法,快速排序
6.棧:棧是一種數據結構,特色和電梯類似,元素從頂部壓入棧中,先進去的元素後出來,後進去的元素先出來。棧中的元素能夠寫入,也能夠讀出。棧可用數組,鏈表兩種形式實現。
7.後綴表達式:用代碼實現計算後綴表達式的思路以下:
將表達式字符串用StringTokenizer分隔,單獨提取,若提出來的是數字,則壓入一個棧中,如果運算符,則從數字棧中彈出兩個數字,用這個運算符進行計算,結果再次壓入棧中。android
問題1解決方案:全部泛型方法聲明都有一個類型參數聲明部分(由尖括號分隔),該類型參數聲明部分在方法返回類型以前(在下面例子中的)。
每個類型參數聲明部分包含一個或多個類型參數,參數間用逗號隔開。一個泛型參數,也被稱爲一個類型變量,是用於指定一個泛型類型名稱的標識符。
類型參數能被用來聲明返回值類型,而且能做爲泛型方法獲得的實際參數類型的佔位符。
泛型方法體的聲明和其餘方法同樣。注意類型參數只能表明引用型類型,不能是原始類型(像int,double,char等).git
問題3解決方案:add操做能夠確保隊列中有給定的元素。若是給定元素沒有添加到隊列中,該操做將拋出一個異常。
offer操做把給定元素插入到隊列中,若是插入成功,返回true,不然返回false。算法
問題1:使用IDEAgit到碼雲上的時候,出現以下錯誤:
小程序
問題2:安卓運行app時出現閃退的問題
數組
問題3:IDEA運行程序出現以下錯誤:
服務器
問題3解決方案:從新調試代碼後發現錯誤來源於代碼中的一個格式問題,修改後便可。數據結構
上週沒有進行考試,因此沒有錯題。
教材學習中的問題和解決過程, 一個問題加1分()
這兩週學習的內容較多,主要有安卓的一些內容和數據結構的一些內容,加上棧和隊列的內容,相對應的做業也就增長了。可是仍是要避免遺忘之前的知識。
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 10000行 | 30篇 | 400小時 | |
第一週 | 155/200 | 2/2 | 20/20 | 初步掌握linux命令、java小程序和jdb調試 |
第二 三週 | 470/625 | 2/4 | 20/40 | 學會scanner定義的使用,類的定義 |
第四周 | 1444/2069 | 2/4 | 20/60 | 下載安裝IDEA及其插件,學會TDD調試,編寫測試代碼 |
第五週 | 1917/3986 | 2/8 | 20/80 | 簡單的學會客戶端和服務器的編寫 |
第六週 | 1324/5310 | 1/9 | 20/100 | Java封裝,繼承,多態 |
第七週 | 2795/8105 | 3/12 | 40/140 | 棧,鏈表 |