20172322 2018-2019-1《程序設計與數據結構》課程總結

20172322 2018-2019-1《程序設計與數據結構》課程總結

每週做業連接彙總

  • 第一次做業:什麼叫高質量軟件;學習教材一、2章節。
  • 第二次做業:學習教材三、4章節,棧相關知識的學習,利用數組和鏈實現棧。
  • 第三次做業:學習教材第5章,隊列相關知識的學習;完成技能調查表。
  • 第四次做業:學習教材第6章,列表相關只是的學習,有序列表、無序列表、索引列表等。
  • 第五次做業:學習教材第9章,選擇與排序相關知識的學習。
  • 第六次做業:學習教材第10章,樹相關知識的學習。
  • 第七次做業:學習教材第11章,二叉查找樹相關知識的學習。
  • 第八次做業:學習教材第12章,堆相關知識的學習。
  • 第九次做業:學習教材第15章,圖相關知識的學習。

自認爲寫得最好一篇博客是?爲何?

  • 自認爲寫的最好的是:第七次做業,緣由以下:
    • 它是我本學期惟一一篇加分的博客。
    • 是本學期首次對博客的字體進行修改,使得博客總體看來更爲美觀。
    • 博客圖文並茂,在重點的地方加粗或改變顏色,使得博客輕重分明。

做業中閱讀量最高的一篇博客是?談談經驗

  • 本學期閱讀量最高的是第一次做業
    php

  • 經驗:
    • 想要閱讀量高,博客必定要交的早,這樣後面的同窗就能夠向着看一下別人寫的博客,這樣閱讀量就上去了。

實驗報告連接彙總

團隊項目報告連接彙總

代碼託管連接:

給出statistic.sh的運行結果,說明本學期的代碼量目標達到沒有?

  • 代碼量顯然已經達到,甚至接近代碼量目標的三倍。雖然在這14617行代碼中,有效代碼行數是9833行,這也接近目標的兩倍。
  • 雖然說代碼量這麼多,可是因爲這學期課程的緣由,許多代碼書上已經給出,須要本身實踐的代碼也就只有每週的PP項目和實驗項目。
  • 真正有用的代碼我以爲跟上學期差很少,也就2000行左右甚至更少。通過接近一年的學習,本身對於各類方法的利用又有了必定的提高。
  • 學無止境,或許IDEA的代碼量會停留在這個值,可是我相信在以後的學習中我會更多的動手實踐。

加點代碼,改點代碼是理解的最好方式,參考編程的智慧,談談你的心得

  • 編程的智慧中提到「反覆推敲代碼」與「寫簡單代碼」,通過近一年的學習我體會更深了,不少時候對於一個簡單的實現有很是多種方法,也有很是多種數據結構能夠利用,可是什麼樣的代碼是最簡單的代碼呢?或許就如書上所說的時間複雜度比較低的代碼運算較快,可是不少時候時間複雜度的較低是用空間複雜度的犧牲換來的,因此僅僅注重運算效率可能並非最簡單的代碼。在咱們如今的階段,咱們所學的知識,所能用到的方法與咱們的儲存相比很小,可是對於一些大項目來講,空間也是一個必須考慮的因素。路漫漫其修遠兮,咱們還有很是長的路須要走
  • 「加點代碼,改點代碼是理解的最好方式」這句話在上學期時我有些抵觸,可是在在這學期我徹底改變了本身的見解,當本身沒有思路去實現一些東西時,查查別人的想法,借鑑別人的代碼再加以修改真的可讓本身一會兒豁然開朗,不足就學,不要擔憂,咱們如今只是入門階段的新人,有優秀的代碼幫組理解,何樂而不爲呢?

積極主動敲代碼作到沒?教材實踐上有什麼經驗教訓?

  • 對於本學期來講,基本作到了積極主動敲代碼,佈置做業就會去完成,可是有的時候仍是有些鬆懈,「積極」便被放在一邊了。
  • 「書本是一位好老師」,雖然這學期教材上的代碼存在許多錯誤,或許這就是做者故意的呢?那些錯誤都不大,認真看看就能修改完成,可是若是你不修改的話就一直提示錯誤。這也讓我養成了每次敲入教材代碼後校對一遍的習慣。

課堂項目實踐

  • 時間複雜度分析:計算時間複雜度,用大O記法進行表示。
  • ArrayStack類的實現和測試:實現ArrayStack類中的peek、isEmpty、size和toString方法,並完成四個方法的測試。
  • 鏈表插入:寫出鏈表中節點插入的僞代碼。
  • 鏈表實踐:經過鍵盤輸入一些整數,創建一個鏈表;實現節點插入、刪除、輸出操做;使用冒泡排序法或者選擇排序法根據數值大小對鏈表進行排序。
  • 第4章代碼檢查:運行PP28,PP28的程序,根據我的學號輸入後綴表達式並計算。
  • LinkedStack補全:實現size、isEmpty和toString等方法並進行測試。
  • 第5章代碼檢查:運行課本P72-P73凱撒密碼程序。
  • 楊輝三角(選作題):使用循環隊列輸出楊輝三角。
  • 棧隊列測試題:完成第六題的分析。html

  • 第6章代碼檢查:運行PP6.8和PP6.11的程序。
  • 線性表實踐:定義一個商品類Product,須要包括商品名稱、價格等信息,使用鏈式存儲結構實現一個線性表,存儲商店中的商品,同時支持插入、刪除、選擇排序、查找等功能,並進行簡單測試。
  • ASL測試:已知線性表具備元素{5,13,19,21,37,56,64,75,80,88,92},若是使用折半查找法,計算其ASL。
  • 三種查找算法練習:畫出三種算法的存儲形式和並計算ASL。java

  • 哈希衝突處理實踐:把本身的學號加21,例如學號爲1,把22添加到序列{11,78,10,1,3,2,4,21}後面,使用鏈地址法,解決衝突,同時計算ASL,輸出衝突次數。
  • 希爾排序測試:當D2等於2時,寫出第2趟排序結果。git

  • 樹-計算題:計算下列三道題
    • 1.有1023個結點的徹底二叉樹,其高度是多少?葉結點數是多少?
    • 2.高度爲h的徹底二叉樹至少有多少個結點?至多有多少個結點?
    • 3.已知一棵度爲m的樹中有n1個度爲1的結點,n2個度爲2的結點,…,nm個度爲m的結點,問該樹中有多少個葉結點?
  • 樹的深度和葉子個數計算:參考下面葉子節點計算的僞代碼,計算課本中背部疼痛診斷器中決策樹的葉子節點個數,並根據課堂介紹的遞歸樹深度計算算法,計算決策樹的深度。
  • 中序和先序計算二叉樹結構:已知一棵二叉樹的先序序列和中序序列分別爲ABDGHCEFI 和 GDHBAECIF,試肯定二叉樹結構。
  • 層次遍歷法實踐:使用遞歸和非遞歸的方法實現層序遍歷,遍歷背部疼痛決策樹,並按照層次順序輸出每一個節點內容。
  • 堆構造與排序:根據關鍵字序列:36,30,18,40,32,45,22,50,構造一顆小頂堆排序,並畫出構造堆過程(樹+數組)
  • 堆排序測試:根據關鍵字序列:36,30,18,40,32,45,22,50,利用數組構造一顆大頂堆,並排序。
  • 十字鏈表練習:依照圖畫出十字鏈表結構。web

  • 最小生成樹:依照圖完成下列操做算法

    • 1.畫出Prim算法的最小生成樹的生成過程
    • 2.畫出Kruscal算法的最小生成樹的生成過程
    • 3.計算最小權值
  • Dijkstra(迪傑斯特拉)算法測試:使用Dijkstra(迪傑斯特拉)算法計算單源(V1出發)最短路徑。要求:(1)寫出V1到各個頂點的最短路徑(2)要求寫出最短路徑計算過程。編程

  • AOE練習(加分):完成下圖中四道題。後端

  • 哈夫曼編碼測試:設有字符集: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個英文字母的文件,統計每一個字符出現的機率,根據計算的機率構造一顆哈夫曼樹,並完成對英文文件的編碼和解碼。
  • 實驗記錄博客:172322 2018-2019-1 《程序設計與數據結構》哈夫曼編碼測試報告數組

  • 課堂實踐對提升應用能力有幫助嗎?數據結構

    • 課堂實踐的內容都是一些比較簡單的編程時間或者代碼檢查,對於知識的理解有幫助,對於應用能力的提升也有必定的做用。
  • 課堂實踐上本身有什麼經驗教訓?

    • 上課必定要認真聽講,特別是書上沒有的知識,不認真聽課上實踐作起來有一些困難。
  • 課堂實踐上對老師有什麼教學建議?

    • 相較於上學期的課上實踐,本學期的課上實踐更加合理了,但願給學弟學妹們也以一樣的方式教學。

課程收穫與不足

本身的收穫(投入,效率,效果等)

  • 本學期對於這個課程來講投入的時間可能比上學期少了一些,可是效率我我的認爲是提升了的,效果也是顯著的,對數據結構的各類知識如今都有了一個清晰的認識。

本身須要改進的地方

  • 遇到問題仍是喜歡找理由,不習慣去直面問題。同時也有一些懶惰的心理。這都須要改進

結對學習是否是真正貫徹了?寫一下你提供的幫助或接受了什麼幫助,並對老師提供參考建議

  • 我以爲是的,真正貫徹了。
  • 咱們在平常的學習會互相給對方講對方沒有聽懂的知識,也會對對方的一些代碼提出建議,對於一些大型的任務也會分工合做,真的很棒。

問卷調查

你平均每週投入到本課程有效學習時間有多少?

  • 大概在8個小時左右,14-16周最多,由於在團隊項目編程,由於學期中和學期初相對較低。這是有效學習時間,實際所用的學習時間確定比這個多不少。

每週的學習效率有提升嗎?你是怎麼衡量的?

  • 有提升,特別是在學期末和任務多的時間,有一句話頗有趣「百分之八十的工做都是由百分之二十的時間完成的」,時間越緊,效率越高。

藍墨雲班課的使用對你的學習有促進嗎?有什麼建議和意見嗎?

  • 有促進做用,但這學期藍墨雲的課上實踐和實驗在開始沒有打分,致使同窗們對於本身的分數不清楚。

你以爲這門課老師應該繼續作哪一件事情?

  • 博客、課堂實踐、編程演示、算法講解

你以爲這門課老師應該中止作哪一件事情?

  • 我想不到了,我以爲本學期作的事都比較合理。

你以爲這門課老師應該開始作什麼新的事情?

  • 提供更多的答疑機會。

其餘

百詞斬的單詞

  • 這學期基本上天天都背了單詞,只漏了一天。

給出你的總結中涉及到的連接的二維碼

相關文章
相關標籤/搜索