20172315 2017-2018-2 《程序設計與數據結構》第二週學習總結

20172315 2017-2018-2 《程序設計與數據結構》第二週學習總結

教材學習內容總結

  • 集合是一種是一種彙集、組織了其餘對象的對象,提供了訪問和管理其元素的操做。
  • 集合分類:線性、非線性。
  • 抽象數據類型(ADT)是一種在程序設計語言中還沒有定義其值和操做類型的數據類型。
  • 數據類型是一組值及做用於這些數值上的各類操做。
  • 數據結構是一種用於實現集合編程結構集。
  • 棧是後進先出
  • 棧是一種線性集合,其元素的添加和刪除都是在同一端進行的。
  • 異常是一種對象,定義了一種非正常或錯誤的狀況。
  • Java接口定義了一個抽象方法集,有助於把ADT的概念及其實現分開。
  • Java中一旦建立,數組的大小沒法改變
  • pop:彈出;push:壓入;peek:返回(不刪除)
  • 鏈式結構是一種數據結構,它使用對象引用變量來建立對象之間連接。
  • 在鏈表中存儲的對象稱爲該鏈表的結點。
  • 鏈表沒有容量限制。
  • 訪問鏈表元素要從第一個元素開始,順着鏈表往下進行。
  • 存儲在集合中的對象不該該含有基本數據結構的任何實現細節。
  • Stack類是從Vector類派生而來的,並使用其繼承的容量來存儲棧的元素。html

    教材學習中的問題和解決過程

  • 問題1:泛型的概念
  • 問題1解決方案:泛型是程序設計語言的一種特性。容許程序員在強類型程序設計語言中編寫代碼時定義一些可變部分,那些部分在使用前必須做出指明。各類程序設計語言和其編譯器、運行環境對泛型的支持均不同。將類型參數化以達到代碼複用提升軟件開發工做效率的一種數據類型。泛型類是引用類型,是堆對象,主要是引入了類型參數這個概念。
  • 問題2:API究竟是什麼
  • 問題2解決方案:API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數,目的是提供應用程序與開發人員基於某軟件或硬件的以訪問一組例程的能力,而又無需訪問源碼,或理解內部工做機制的細節。java

代碼調試中的問題和解決過程

  • 問題1:在作pp3.2與pp3.8時沒有發現這兩個編程項目的區別
  • 問題1解決方案:在仔細研究後發現pp3.2與pp3.8的區別就是pp3.2不只顛倒了元素的順序,還顛倒了元素裏面的字符順序,而pp3.8不須要。我在pp3.8中利用 String[] d=a.split(" ");進行分割,問題得以解決。

代碼託管

(statistics.sh腳本的運行結果截圖)git

上週考試錯題總結

  • 錯題1及緣由,理解狀況

Issues related to the interaction between the user and system, including the design of such things as help options, meaningful messages, consistent layout, appropriate use of color, error prevention, and error recovery, are generally referred to as ____________.程序員

A . Correctness
B . Reliability
C . Robustness
D . Usability
正確答案: D
你的答案: C
與用戶和系統之間的交互相關的問題,包括幫助選項,有意義的消息,一致的佈局,適當的顏色使用,錯誤預防和錯誤恢復等設計,一般被稱爲可用性。算法

  • 錯題2及緣由,理解狀況

Software systems need only to work to support the work of developers, maintainers, and users.
A . True
B . Flase
正確答案: B
你的答案: A
軟件系統不僅須要支持開發人員,維護人員和用戶的工做。編程

  • 錯題3及緣由,理解狀況

A stack can be used to preserve the order of a set of data.api

A . True
B . Flase
正確答案: B
你的答案: A
堆棧可用於保存一組數據的相反順序。數組

  • 錯題4及緣由,理解狀況

The following code segment has ______ time complexity?數據結構

for(int i = 0; i < n; i++){app

for(int j = 0; j < n: j=j*2){

int val = (j*i);

System.out.println(val)

}

}

A . O(1)
B . O(n)
C . O(n2)
D . O(nlogn)
正確答案: D
你的答案: C
該時間複雜度是O(nlogn)

  • 錯題5及緣由,理解狀況

The order of an algorithm is found by eliminating constants and all but the dominant term in the algorithm’s growth function

A . True
B . Flase
正確答案: A
你的答案: B
算法的順序是經過消除算法的增加函數中的常數和除主導項之外的全部項來找到的

結對及互評

點評模板:

  • 博客中值得學習的或問題:
    • 版式精美
    • 對於書本的內容發掘不夠充分
  • 代碼中值得學習的或問題:
    • 代碼別具一格
    • 代碼量不太多

點評過的同窗博客和代碼

  • 本週結對學習狀況
    • 20172318

    • 結對學習內容
      • 第三章
      • 第四章
  • 上週博客互評狀況

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 0/0 0/0 0/0
第二週 800/800 2/2 18/18

參考資料

相關文章
相關標籤/搜索