第九周做業:圖、圖的幾種算法和實現策略php
自認爲寫得最好一篇博客是?爲何?
自認爲寫得最好的一篇博客,應該是第七週這篇吧。讀到這個問題時腦子裏第一反應就是這篇,倒不僅僅由於寫得多,若是拼字數的話,教材學習內容總結多抄一些教材上的知識點上去就行了,在寫博客這方面字數的量變很難引發質變,抄一堆又臭又長的東西馬虎了事,很難說對本身能有什麼幫助。選這篇的緣由正是由於我在學習並進行總結寫博客的時候真正領會到了一些東西,尤爲是紅黑樹那一部分,好像是抽風了同樣的就特別想把那一部分搞懂,一開始沒有讀懂書上的意思,結合其餘資料也不能徹底理解,而後就在博客上留下一堆未完成的學習總結,每隔一天就拿出來順着思路從新理解,天天都多理解透了一點,直到最後差很少理解徹底了,又結合書上的例子本身畫圖將紅黑樹的構造方法畫了幾回貼在博客上。好像在個人學習過程當中不多有這樣鑽牛角尖的狠勁,因此記憶猶新,自認爲最好。html
做業中閱讀量最高的一篇博客是?談談經驗
若是沒看錯的話是第六週這一篇,很重要的一點就是早發博客!若是在做業發佈的瞬間就將做業提交上去,別的同窗在看做業的時候就會看到你已提交,天然而然的就會點進去幫你刷閱讀量了。固然這篇博客閱讀量高我認爲很重要的一個緣由就是其中關於printTree方法的理解吧,當時理解這個方法的人並很少,我也是在讀了大佬的博客以後纔有所頓悟,因而一邊理解這個方法一邊寫下本身的理解,算是對這個方法有稍詳細的解讀,進而對別人也有幫助,因此閱讀量高吧。正經的經驗就是,把博客寫好,天然而然會有人來看!node
給出statistic.sh的運行結果,說明本學期的代碼量目標達到沒有?
其實Android Studio上團隊編程還有修修改改幾千行代碼,兩學期一萬行的代碼確定是達到了。git
積極主動敲代碼作到沒?教材實踐上有什麼經驗教訓?
基本上是完成了積極主動敲代碼了,教材實踐的經驗教訓就是要回歸教材知識,但又同時不侷限於教材,要學會借鑑別人的代碼,但不是抄襲別人的代碼web
實踐一:時間複雜度分析算法
(1)for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) (2)void fun(int n) { int i=l; while(i<=n) i=i*10; } (3)int i, j,sum; i=0; j=0; sum = i+j; (4)void fun (int n){ int i=0; while(i*i*i<=n) i++; }
實踐二:完成課本中ArrayStack類的實現,特別是完成peek、isEmpty、size和toString方法的實現,並完成四個方法的測試。數據庫
public T peek() throws EmptyCollectionException { } public boolean isEmpty() { // To be completed as a Programming Project } public int size() { // To be completed as a Programming Project } public String toString() { // To be completed as a Programming Project }
實踐三:寫出鏈表中節點插入的操做代碼(僞代碼)編程
public static void InsertNode(Student2 Head, Student2 node){ }
實踐四:鏈表練習,要求實現下列功能數組
- (1)經過鍵盤輸入一些整數,創建一個鏈表
- (2)實現節點插入、刪除、輸出操做
- (3)使用冒泡排序法或者選擇排序法根據數值大小對鏈表進行排序
實踐六:給出size、isEmpty和toString等方法的定義,以完成LinkedStack
- 1.可以運行
- 2.須要測試各個方法
- 3.把代碼上傳到碼雲,並將關鍵代碼和運行結果截圖加水印(學號)上傳。
實踐七:代碼檢查P72-P73
- 凱撒密碼程序。
- 把結果截圖,加學號水印,上傳到藍墨雲。
實踐八:使用循環隊列輸出楊輝三角
- (1)用數組實現循環隊列(要考慮擴容問題,不然不加分)
- (2)輸出楊輝三角
- (3)代碼運行結果添加學號水印,並上傳;代碼傳到碼雲,附上碼雲連接。
實踐九:棧隊列測試題
實踐十:運行PP6.8和PP6.11的程序,
實踐十一:定義一個商品類Product,須要包括商品名稱、價格等信息,使用鏈式存儲結構實現一個線性表,存儲商店中的商品。支持插入、刪除、選擇排序、查找等功能,並進行簡單測試。須要使用的知識點:
- 1.泛型 - 2.實現Comparable接口中的方法 - 3.鏈式存儲結構
實踐十二:已知線性表具備元素{5,13,19,21,37,56,64,75,80,88,92} 若是使用折半查找法,ASL是多少?
實踐十三:畫出存儲形式和asl的計算
實踐十四:把本身的學號加21,例如學號爲1,把22添加到序列後面,使用鏈地址法,解決衝突。編程實現,並測試。
- 要求計算asl,輸出衝突次數。
實踐十五:當D2等於2時,第2趟排序結果是?
實踐十六:計算題
- 1.有1023個結點的徹底二叉樹,其高度是多少?葉結點數是多少?
- 2.高度爲h的徹底二叉樹至少有多少個結點?至多有多少個結點?
- 3.已知一棵度爲m的樹中有n1個度爲1的結點,n2個度爲2的結點,…,nm個度爲m的結點,問該樹中有多少個葉結點?
實踐十七:參考下面葉子節點計算的僞代碼,計算課本中背部疼痛診斷器中決策樹的葉子節點個數?
int CountLeaf ( BiTree T, int &count ) { if ( T ) { if ( (!T->lchild) && (!T->rchild) ) count++; // 對葉子結點計數 CountLeaf( T->lchild, count); CountLeaf( T->rchild, count); } }
實踐十八:若已知中序和先序序列,計算二叉樹結構
- 例:已知一棵二叉樹的先序序列和中序序列分別爲ABDGHCEFI 和 GDHBAECIF,試肯定二叉樹結構。
- 根據課堂介紹的遞歸樹深度計算算法,計算決策樹的深度。
實踐十九:使用遞歸實現層次遍歷背部疼痛決策樹,並按照層次順序輸出每一個節點內容。
- 非遞歸的層次遍歷法算法以下:
- 根結點入隊;從隊頭取元素,並執行以下3個動做:
- (1)訪問該結點;
- (2)若是該元素有左孩子,則左孩子入隊;
- (3)若是該元素有右孩子,則右孩子入隊;
- 重複執行上述過程,直至隊列爲空。此時,二叉樹遍歷結束。按照上述算法,編程實現層序遍歷,按照層序的方法,遍歷並依次輸出每一個節點內容。(3分)
實踐二十:根據關鍵字序列:36,30,18,40,32,45,22,50,構造一顆小頂堆,並排序?畫出構造堆過程(樹+數組)
實踐二十一:根據關鍵字序列:36,30,18,40,32,45,22,50,利用數組構造一顆大頂堆,並排序。
要求:
- (1)輸出構造好的大頂堆序列(層序)
- (2)輸出每輪排序的結果(數組的結果)
- 把結果截圖並加學號水印上傳到藍墨雲,代碼上傳到碼雲。
實踐二十二:使用Dijkstra(迪傑斯特拉)算法計算單源(V1出發)最短路徑。
- (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)撰寫博客記錄實驗的設計和實現過程,並將源代碼傳到碼雲
課堂實踐上對老師有什麼教學建議?
但願老師更多的抓住同窗們的疑難問題進行講解,同時也能夠適當的講解一下教材實踐如何編寫,也就是能評講一下做業,提供一些比較優秀的解答
本身的收穫(投入,效率,效果等)
我自認爲這學期比上學期更加投入,雖然沒有像上學期那樣老是熬夜寫代碼,可是對於日常的各類項目、做業包括博客都是很投入的在作、在學,但是效果彷佛也不是多麼好,至少在成績上並無很明顯的提升,甚至還有些降低的趨勢。同時學到的東西也老是容易忘記,效果也不算好,在須要用到知識的地方老是很難觸類旁通,靈活運用到。
本身須要改進的地方
就是學以至用的方面作得很差,正如上一段回答說到的那些。敲代碼也須要更加積極主動
結對學習是否是真正貫徹了?寫一下你提供的幫助或接受了什麼幫助,並對老師提供參考建議
接受小組成員的幫助更多一點吧,畢竟成績在小組幾個中算是最差勁的了。好比博客的問題怎麼寫,編寫代碼時遇到的不少問題,以及日常測驗的糾錯,不少都是在與小組成員的討論中獲得的正確答案。沒有給老師的參考建議。
你以爲這門課老師應該中止作哪一件事情?
暫時沒有想好有什麼不太適合本課程的事情。
最後總結的說一下兩學期的學習的一些感覺,雖然具體的說不上來收穫到底有哪些,但確實一年的學習讓我有了一種十足的收穫感,至少我能更真切的瞭解作中學、自主學習是怎樣的一種學習方式。這些對之後其餘計算機方面課程的學習也確定能起到不小的幫助。
碼雲項目連接:
第一週博客:
第二週博客:
第三週博客:
第四周博客:
第五週博客:
第六週博客:
第七週博客:
第八週博客:
第九周博客:
...
實驗一 :
實驗二:
實驗三:
課堂測試一:
課堂測試二:
課堂測試三:
課堂測試四:
第一週:
第二週:
奔跑吧DKY——團隊Scrum衝刺階段-Day 1-領航:
奔跑吧DKY——團隊Scrum衝刺階段-Day 2:
奔跑吧DKY——團隊Scrum衝刺階段-Day 3:
奔跑吧DKY——團隊Scrum衝刺階段-Day 4:
奔跑吧DKY——團隊Scrum衝刺階段-Day 5:
奔跑吧DKY——團隊Scrum衝刺階段-Day 6:
奔跑吧DKY——團隊Scrum衝刺階段-Day 7:
實踐一:
實踐二:
實踐三:
實踐四:
實踐五:
實踐六:
實踐七:
實踐八:
實踐九:
實踐十:
實踐十一:
實踐十二:
實踐十三:
實踐十四:
實踐十五:
實踐十六:
實踐十七:
實踐十八:
實踐十九:
實踐二十:
實踐二十一:
實踐二十二:
實踐二十三:
實踐二十四: