第一週:算法分析
第二週:棧
第三週:隊列
第四周:列表
第五週:查找和排序
第六週:樹
第七週:二叉查找樹
第八週:堆
第九周:圖php
第5周學習總結,寫得很詳細html
第5周學習總結,寫得好點就有人看吧java
實驗一 實驗名稱:線性結構實驗報告
實驗二 實驗名稱:樹實驗報告
實驗三 實驗名稱:查找與排序node
•【Alpha版本】衝刺階段——Day 6數據結構
達到了16000,不過不少都是課本上的
不少pp項目的代碼都是課本例子上就有的,只需在課本代碼的基礎上作些修改和延伸就能寫完
已經很強了,經驗就是先了解結構,再編寫代碼,效率會好不少
實踐一 實驗名稱: 時間複雜度分析
實踐內容:
•時間複雜度分析,用大O記法寫出所給出各題的時間複雜度。
實踐二 實驗名稱: ArrayStack的實現和測試
實踐內容:
•完成課本中ArrayStack類的實現,特別是完成peek、isEmpty、size和toString方法的實現,並完成四個方法的測試。
實踐三 實驗名稱: 鏈表插入
實踐內容:
•寫出鏈表中節點插入的操做代碼:
public static void InsertNode(Student2 Head, Student2 node){
}
•寫出僞代碼便可,須要邏輯正確。
實踐四 實驗名稱: 鏈表實踐
實踐內容:
•經過鍵盤輸入一些整數,創建一個鏈表(1分);
•實現節點插入、刪除、輸出操做(2分,3個知識點根據實際狀況酌情扣分);
•使用冒泡排序法或者選擇排序法根據數值大小對鏈表進行排序(2分);
實踐五 實驗名稱: 第四章代碼檢查
實踐內容:
•運行PP28,PP28頁的程序,根據我的學號輸入後綴表達式並計算。
•例如,學號172301,輸入1 7 + 2 3 0 1 - + *)
•把運行結果截圖上傳。
實踐六 實驗名稱:LinkedStack補全
實踐內容:
•給出size、isEmpty和toString等方法的定義,以完成LinkedStack類的實現。
•要求:1.可以運行
2.須要測試各個方法
3.把代碼上傳到碼雲,並將關鍵代碼和運行結果截圖加水印(學號)上傳。
實踐七 實驗名稱: 第五章代碼檢查-凱撒密碼
實踐內容:
•代碼檢查P72-P73,凱撒密碼程序。
•運行代碼並截圖,添加學號水印,上傳到碼雲。
實踐八 實驗名稱: 楊輝三角
實踐內容:
•使用循環隊列輸出楊輝三角(本題目是選作題,總分1分,計入加分。)。
+(1)用數組實現循環隊列(要考慮擴容問題,不然不加分);
+(2)輸出楊輝三角;
+(3)代碼運行結果添加學號水印,並上傳;代碼傳到碼雲,附上碼雲連接。
實踐九 實驗名稱: 棧隊列測試
實踐內容:
•完成第六題的分析
實踐十 實驗名稱: 第六章代碼檢查
實踐內容:
•運行PP6.8和PP6.11的程序,把結果截圖,加學號水印,上傳到藍墨雲。
實踐十一 實驗名稱: 線性表實踐
實踐內容:
•定義一個商品類Product,須要包括商品名稱、價格等信息,使用鏈式存儲結構實現一個線性表,存儲商店中的商品。
•支持插入、刪除、選擇排序、查找等功能,並進行簡單測試。
•須要使用的知識點:
1.泛型
2.實現Comparable接口中的方法
3.鏈式存儲結構
實踐十二 實驗名稱: ASL測試
實踐內容:
•已知線性表具備元素{5,13,19,21,37,56,64,75,80,88,92},若是使用折半查找法,ASL是多少?
實踐十三 實驗名稱: 三種查找算法練習
實踐內容:
•每種算法2分,包括畫出存儲形式和asl的計算。
實踐十四 實驗名稱:哈希衝突處理實踐
實踐內容:
•把本身的學號加21,例如學號爲1,把22添加到序列後面,使用鏈地址法,解決衝突。
•編程實現,並測試。
•要求計算asl,輸出衝突次數。
實踐十五 實驗名稱: 希爾排序測試
實踐內容:
•D2等於2時,第2趟排序結果是?
實踐十六 實驗名稱: 樹計算題
實踐內容:
•1.有1023個結點的徹底二叉樹,其高度是多少?葉結點數是多少?(2分)
•2.高度爲h的徹底二叉樹至少有多少個結點?至多有多少個結點?(2分)
•3.已知一棵度爲m的樹中有n1個度爲1的結點,n2個度爲2的結點,…,nm個度爲m的結點,問該樹中有多少個葉結點?(2分)
實踐十七 實驗名稱: 樹的深度和葉子個數計算
實踐內容:
•(1)參考下面葉子節點計算的僞代碼,計算課本中背部疼痛診斷器中決策樹的葉子節點個數?
int CountLeaf ( BiTree T, int &count )
{ if ( T )
{ if ( (!T->lchild) && (!T->rchild) )
count++; // 對葉子結點計數
CountLeaf( T->lchild, count);
CountLeaf( T->rchild, count);
}
}
•(2)根據課堂介紹的遞歸樹深度計算算法,計算決策樹的深度。
實踐十八 實驗名稱: 中序和先序計算二叉樹結構
實踐內容:
•若已知中序和先序序列,計算二叉樹結構
•例:已知一棵二叉樹的先序序列和中序序列分別爲ABDGHCEFI 和 GDHBAECIF,試肯定二叉樹結構。
實踐十九 實驗名稱: 層次遍歷法實踐
實踐內容:
•(1)使用遞歸實現層次遍歷背部疼痛決策樹,並按照層次順序輸出每一個節點內容。(2分)
•(2)非遞歸的層次遍歷法算法以下:
根結點入隊;
•從隊頭取元素, 並執行以下3個動做:
(1)訪問該結點;
(2)若是該元素有左孩子,則左孩子入隊;
(3)若是該元素有右孩子,則右孩子入隊;
•重複執行上述過程,直至隊列爲空。 此時,二叉樹遍歷結束。
•按照上述算法,編程實現層序遍歷,按照層序的方法,遍歷並依次輸出每一個節點內容。(3分)
實踐二十 實驗名稱: 堆構造與排序
實踐內容:
•根據關鍵字序列:36,30,18,40,32,45,22,50,構造一顆小頂堆,並排序?
•畫出構造堆過程(樹+數組)
實踐二十一 實驗名稱: 堆排序測試
實踐內容:
•根據關鍵字序列:36,30,18,40,32,45,22,50,利用數組構造一顆大頂堆,並排序。
要求:
(1)輸出構造好的大頂堆序列(層序);
(2)輸出每輪排序的結果(數組的結果);
•把結果截圖並加學號水印上傳到藍墨雲,代碼上傳到碼雲。
實踐二十二 實驗名稱: 十字鏈表練習
實踐內容:
•畫出十字鏈表結構
實踐二十三 實驗名稱: 最小生成樹
實踐內容:
•1.畫出Prim算法的最小生成樹的生成過程
•2.畫出Kruscal算法的最小生成樹的生成過程
•3.計算最小權值
實踐二十四 實驗名稱: Dijkstra(迪傑斯特拉)算法測試
實踐內容:
•任務詳情
使用Dijkstra(迪傑斯特拉)算法計算單源(V1出發)最短路徑。
圖2是課堂介紹的示例。
要求
(1)寫出V1到各個頂點的最短路徑
(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)把實驗結果截圖上傳到雲班課
.
實踐不少是書上沒有的內容,對於提升咱們自我學習和應用能力都有幫助
有時候聽不懂老師的課,能夠提早預習,這樣理解起來也很快
建議當場完成,不要有補博客就能加分的措施
已經很好了,建議以後不要再有衝刺的博客,沒什麼用