每週做業連接彙總
- 第一週做業:學習教程第一章和第二章的內容,瞭解數據結構和算法分析相關知識。
- 第二週做業:首先探討集合以及用於實現集合的基本數據結構。定義了集合設計的相關問題和目標,這爲集合的研究打下了基礎。還將介紹一種稱爲棧的集合,而且以此爲例展現與集合的設計、實現和使用等有關的問題。
- 第三週做業:討論了一種建立數據結構的技術,利用引用來建立對象之間的連接。鏈式結構是軟件開發的基礎,尤爲對集合的設計與實現更是如此。與數組實現解決方案比較,鏈式結構既有優勢,也有缺點。
- 第四周做業:學習教材第6章,列表相關只是的學習,有序列表、無序列表、索引列表等。
- 第五週做業:學習了排序和查找相關知識及其算法。
- 第六週做業:學習瞭如何使用樹,以及樹相關的知識和如何進行遍歷。
- 第七週做業:學習二叉查找樹是如何實現的,及其各類操做。
- 第八週做業:將介紹二叉樹的另外一種有序擴展。咱們將考察堆(包括鏈表實現合數組實現),以及往堆中添加元素或從堆中刪除元素的算法。咱們還將考察堆的一些用途,包括基本使用和優先隊列。
第九周做業:介紹Java的Set和Map集合概念。咱們將探討這些集合,並與以前的實現進行比較和對比。本章還介紹了散列的概念。php
自認爲寫得最好一篇博客是?爲何?
自認爲寫的最好的博客是《程序設計與數據結構》第五週學習總結,由於對於學習內容總結很是到位,問題提出的較多,代碼完成較好,截圖較多。html
做業中閱讀量最高的一篇博客是?談談經驗
做業中閱讀量最高的一篇博客是《程序設計與數據結構》第一週學習總結,大概就是由於剛剛開始新的一學期,你們都想看看同窗都是如何寫博客的吧。git
實驗報告連接彙總
- 實驗一:學習線性結構之鏈表。
- 實驗二:學習如何實現二叉樹。
實驗三:學習如何進行查找與排序相關操做。web
團隊項目報告連接彙總
- 團隊做業第一週
衝刺博客彙總:設計並實現辦公軟件。算法
- 給出statistic.sh的運行結果,說明本學期的代碼量目標達到沒有?
![](http://static.javashuo.com/static/loading.gif)
代碼量應該勉強及格吧。。
- 加點代碼,改點代碼是理解的最好方式,參考編程的智慧,談談你的心得
仍是像上學期說的同樣,不要爲了寫代碼而寫代碼,即便保持着好學的心態,天天學習的很晚,最後發覺並無什麼用。理解,理解 ,理解比什麼都重要,思路要清晰,其餘都是浮雲。
積極主動敲代碼作到沒?教材實踐上有什麼經驗教訓?
這學期是作到了積極主動敲代碼,這學期發現了教材上有不少錯誤,因此我以爲咱們不能一味的對着書上的代碼死敲,要學會理解其中代碼的意義,不然你敲了代碼跟沒敲沒什麼區別。一旦你照着書上敲代碼發生了錯誤,你甚至不能找到是什麼緣由。編程
課堂項目實踐
20180907
時間複雜度分析,用大O記法寫出下面各題的時間複雜度。數組
ArrayStack類的實現和測試
完成課本中ArrayStack類的實現,特別是完成peek、isEmpty、size和toString方法的實現,並完成四個方法的測試。對象。數據結構
- 鏈表插入
寫出鏈表中節點插入的操做代碼
鏈表實踐
鏈表練習,要求實現下列功能:
(1)經過鍵盤輸入一些整數,創建一個鏈表(1分);
(2)實現節點插入、刪除、輸出操做(2分,3個知識點根據實際狀況酌情扣分);
(3)使用冒泡排序法或者選擇排序法根據數值大小對鏈表進行排序(2分);數據結構和算法
第4章代碼檢查
運行PP28,PP28頁的程序,根據我的學號輸入後綴表達式並計算。(例如,學號172301,輸入1 7 + 2 3 0 1 - + *)學習
PP4.1 LinkedStack補全
給出size、isEmpty和toString等方法的定義,以完成LinkedStack
類的實現。
要求:1.可以運行
2.須要測試各個方法
3.把代碼上傳到碼雲,並將關鍵代碼和運行結果截圖加水印(學號)上傳。
棧隊列測試題
完成第六題的分析
ASL測試
已知線性表具備元素{5,13,19,21,37,56,64,75,80,88,92},若是使用折半查找法,ASL是多少?
線性表實踐
定義一個商品類Product,須要包括商品名稱、價格等信息,使用鏈式存儲結構實現一個線性表,存儲商店中的商品。
支持插入、刪除、選擇排序、查找等功能,並進行簡單測試。
須要使用的知識點:
1.泛型
2.實現Comparable接口中的方法
3.鏈式存儲結構
第6章代碼檢查
運行PP6.8和PP6.11的程序,把結果截圖,加學號水印,上傳到藍墨雲。
哈希衝突處理實踐
把本身的學號加21,例如學號爲1,把22添加到序列後面,使用鏈地址法,解決衝突。
編程實現,並測試。
要求計算asl,輸出衝突次數。
三種查找算法練習
每種算法2分,包括畫出存儲形式和asl的計算。
層次遍歷法實踐
(1)使用遞歸實現層次遍歷背部疼痛決策樹,並按照層次順序輸出每一個節點內容。(2分)
(2)非遞歸的層次遍歷法算法以下:
根結點入隊;
從隊頭取元素, 並執行以下3個動做:
(1)訪問該結點;
(2)若是該元素有左孩子,則左孩子入隊;
(3)若是該元素有右孩子,則右孩子入隊;
重複執行上述過程,直至隊列爲空。 此時,二叉樹遍歷結束。
按照上述算法,編程實現層序遍歷,按照層序的方法,遍歷並依次輸出每一個節點內容。(3分)
中序和先序計算二叉樹結構
若已知中序和先序序列,計算二叉樹結構
例:已知一棵二叉樹的先序序列和中序序列分別爲ABDGHCEFI 和 GDHBAECIF,試肯定二叉樹結構。
- [樹的深度和葉子個數計算](https://www.mosoteach.cn/web/index.php?c=interaction_homework&m=homework_result_list&參考下面葉子節點計算的僞代碼,計算課本中背部疼痛診斷器中決策樹的葉子節點個數?
int CountLeaf ( BiTree T, int &count )
{ if ( T )
{ if ( (!T->lchild) && (!T->rchild) )
count++; // 對葉子結點計數
CountLeaf( T->lchild, count);
CountLeaf( T->rchild, count);
}
}
(2)根據課堂介紹的遞歸樹深度計算算法,計算決策樹的深度。
- 樹-計算題
計算題:
1.有1023個結點的徹底二叉樹,其高度是多少?葉結點數是多少?(2分)
2.高度爲h的徹底二叉樹至少有多少個結點?至多有多少個結點?(2分)
3.已知一棵度爲m的樹中有n1個度爲1的結點,n2個度爲2的結點,…,nm個度爲m的結點,問該樹中有多少個葉結點?(2分)
- 希爾排序測試
D2等於2時,第2趟排序結果是?
- 堆構造與排序
根據關鍵字序列:36,30,18,40,32,45,22,50,構造一顆小頂堆,並排序?
畫出構造堆過程(樹+數組)
- 堆排序測試
根據關鍵字序列:36,30,18,40,32,45,22,50,利用數組構造一顆大頂堆,並排序。
要求:
(1)輸出構造好的大頂堆序列(層序);(2)
(2)輸出每輪排序的結果(數組的結果);(2)
把結果截圖並加學號水印上傳到藍墨雲,代碼上傳到碼雲。
課堂上完成且結果正確,直接得5分;
課堂上未完成,課下完成且結果正確且撰寫博客,得4分;
- 十一鏈表練習
畫出十一鏈表結構
- 最小生成樹
1.畫出Prim算法的最小生成樹的生成過程
2.畫出Kruscal算法的最小生成樹的生成過程
3.計算最小權值
Dijkstra(迪傑斯特拉)算法測試
使用Dijkstra(迪傑斯特拉)算法計算單源(V1出發)最短路徑。
圖2是課堂介紹的示例。
要求
(1)寫出V1到各個頂點的最短路徑
(2)要求寫出最短路徑計算過程(相似於圖2)
- AOE練習
一、求關鍵路徑,v1和ve的值並寫出具體步驟
二、畫出圖一可能的拓撲序列
三、畫出圖二所示無向圖的鄰接矩陣、鄰接鏈表,並列出深度優先和廣度優先遍歷圖所得的頂點序列。
四、寫出圖三的鄰接矩陣,並用prim算法求最小生成樹,畫出產生過程
- 哈夫曼編碼測試
設有字符集:S={a,b,c,d,e,f,g,h,i,j,k,l,m,n.o.p.q,r,s,t,u,v,w,x,y,z}。
給定一個包含26個英文字母的文件,統計每一個字符出現的機率,根據計算的機率構造一顆哈夫曼樹。
並完成對英文文件的編碼和解碼。
要求:
(1)準備一個包含26個英文字母的英文文件(能夠不包含標點符號等),統計各個字符的機率
(2)構造哈夫曼樹
(3)對英文文件進行編碼,輸出一個編碼後的文件
(4)對編碼文件進行解碼,輸出一個解碼後的文件
(5)撰寫博客記錄實驗的設計和實現過程,並將源代碼傳到碼雲
(6)把實驗結果截圖上傳到雲班課
- 課堂實踐對提升應用能力有幫助嗎?
十分有幫助,俗話說得好,實踐得真知。因此我在此建議這門課繼續實行課堂實踐,並加大訓練量。
- 課堂實踐上本身有什麼經驗教訓?
要注意提升本身的速度以及自學能力,不然時間上就很趕。
課堂實踐上對老師有什麼教學建議?
就像上面說的這門課繼續實行課堂實踐,並加大訓練量。(最好作到一日一練)
課程收穫與不足
- 本身的收穫:在程序設計與數據結構這門課上真正的掌握了不少技巧,今後運用這一門知識也會駕輕就熟。
- 本身須要改進的地方:代碼的思路構建不夠快,寫一些實踐就很趕時間。
結對學習是否是真正貫徹了?寫一下你提供的幫助或接受了什麼幫助,並對老師提供參考建議:
貫徹的不是很到位,在結對過程當中,參與工做比較少,下次必定記得改進。
問卷調查
- 你平均每週投入到本課程有效學習時間有多少?
一半左右吧,但我以爲這點時間想要學好這門課仍是不夠的,建議老師增長這門課的課時。
- 每週的學習效率有提升嗎?你是怎麼衡量的?
有必定的提升,從完成實踐的速度來衡量。
- 藍墨雲班課的使用對你的學習有促進嗎?有什麼建議和意見嗎?
頗有促進,建議加大藍墨雲的使用,畢竟這麼好的東西不用就浪費了。
- 你以爲這門課老師應該繼續作哪一件事情?
每週寫博客,天天佈置實踐,課堂提問,檢查代碼。
- 你以爲這門課老師應該中止作哪一件事情?
中止課上講書本相關的知識,徹底靠自學。
你以爲這門課老師應該開始作什麼新的事情?
開始加大博客以及實踐的佈置。之前的量仍是太少了。開始進行每週課堂測驗。
給出你的總結中涉及到的連接的二維碼
按照順序:
一到九周做業:
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
一到三實驗:
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
碼雲:
![](http://static.javashuo.com/static/loading.gif)
實踐:
時間複雜度分析:![](http://static.javashuo.com/static/loading.gif)
ArrayStack類的實現和測試:![](http://static.javashuo.com/static/loading.gif)
鏈表插入:![](http://static.javashuo.com/static/loading.gif)
鏈表實踐:![](http://static.javashuo.com/static/loading.gif)
第4章代碼檢查:![](http://static.javashuo.com/static/loading.gif)
LinkedStack補全:![](http://static.javashuo.com/static/loading.gif)
第5章代碼檢查:![](http://static.javashuo.com/static/loading.gif)
棧隊列測試題:![](http://static.javashuo.com/static/loading.gif)
第6章代碼檢查:![](http://static.javashuo.com/static/loading.gif)
線性表實踐:![](http://static.javashuo.com/static/loading.gif)
ASL測試:![](http://static.javashuo.com/static/loading.gif)
三種查找算法練習:![](http://static.javashuo.com/static/loading.gif)
哈希衝突處理實踐:![](http://static.javashuo.com/static/loading.gif)
希爾排序測試:![](http://static.javashuo.com/static/loading.gif)
樹-計算題:![](http://static.javashuo.com/static/loading.gif)
樹的深度和葉子個數計算:![](http://static.javashuo.com/static/loading.gif)
中序和先序計算二叉樹結構:![](http://static.javashuo.com/static/loading.gif)
層次遍歷法實踐:![](http://static.javashuo.com/static/loading.gif)
堆構造與排序:![](http://static.javashuo.com/static/loading.gif)
堆排序測試:![](http://static.javashuo.com/static/loading.gif)
十字鏈表練習:![](http://static.javashuo.com/static/loading.gif)
最小生成樹:![](http://static.javashuo.com/static/loading.gif)
Dijkstra(迪傑斯特拉)算法測試:![](http://static.javashuo.com/static/loading.gif)
AOE練習(加分):![](http://static.javashuo.com/static/loading.gif)
哈夫曼編碼測試:![](http://static.javashuo.com/static/loading.gif)