1. 程式人生 > >20172311《程序設計與數據結構》第二周學習總結

20172311《程序設計與數據結構》第二周學習總結

image head 學習內容總結 創建 pac code tps 鏈表實現 試圖

20172311《程序設計與數據結構》第一周學習總結

教材學習內容總結

第三章 集合概述 ——棧

  • 集合是一種聚集、組織了其他對象的對象,它定義了一種特定的方式,可以訪問、管理所包含的對象(稱為該集合的元素)
  • 集合可以分為兩大類:線性集合和非線性集合
  • 元素彼此之間的組織形式通常由元素添加到集合的次序、元素自身之間的一些內在關系決定
  • 集合是一種隱藏了實現細節的抽象
  • 對象是用於創建集合的一種完美機制
  • 數據類型是一組值及作用於這些數值上的各種操作
  • 集合是一種抽象數據類型
  • 數據結構是一種用於實現集合的基本編成結構
  • 棧的元素是按後進先出的方法進行處理的,最後進入棧中的元素最先被移出
  • 多態引用是一個引用變量,它可以在不同地點引用不同類型的對象
  • 一個Object引用可用於引用任意對象,因為所有類最終都是從Object類派生而來的
  • 使用多態引用的數組實現棧行不通
  • 泛型不能被實例化,它只是一個占位符,允許我們去定義管理特定類型的對象的類,且只有當該類被實例化時,才創建該類的對象
  • 異常就是一個對象,它定義了一種非正常或錯誤的情況。錯誤與異常類似,只不過錯誤往往表示一種無法恢復的情況,且不必去捕獲它
  • 錯誤和異常表示不正常或不合法的處理

    第四章 鏈式結構——棧

  • 鏈式結構是一種數據結構,他使用對象引用變量來創建對象之間的鏈接
  • 引用變量有時又稱為指針
  • 需要一個單獨的引用變量來表示鏈表的首結點
  • 鏈表由一些對象構成,其中每個對象指向了鏈表中的下一個對象
  • 在處理鏈表的首結點時需特別小心,以正確維護指向整個鏈表的引用
  • 訪問鏈表的唯一方式是從第一個元素開始,順著該鏈表往下進行
  • 棧的鏈表實現是從鏈表的一端添加和刪除元素

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

  • 問題1:泛型不能被實例化什麽意思?如何使用泛型創建一個可以儲存所有類型數據的數組?
  • 問題1解決方案:
    泛型不能被實例化的意思可理解為:

試圖創建一個泛型數組是錯誤的,錯誤代碼如下:

Stack stack =new T(initialCapaciry);

使用泛型創建一個可以儲存所有類型數據的數組:

首先實例化一個Object數組,然後把它轉換為一個泛型數組,代碼如下:

Stack stack =(T[])(new Object[initialCapaciry]);

代碼托管

技術分享圖片

上周考試錯題總結

  • 錯題1:
    技術分享圖片
  • 理解:當n增大到一定程度時2的n次方遠比n的平方增加的快!

  • 錯題2:
    技術分享圖片
  • 理解:算法的階是通過消除常數和算法增長函數中除主導項以外的所有項來確定的,手殘導致答錯!!

結對及互評

  • 本周結對學習情況
    對課本上的諸多疑問點進行了討論,同時對代碼實現過程中遇到的一些問題也通過討論得到了解決
    • 20172307

感想

還需繼續努力!

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一周 0/0 1/1 4/4
第一周 464/464 1/2 10/14 理解掌握了用數組和鏈表實現棧的方法
  • 計劃學習時間:15小時

  • 實際學習時間:10小時

  • 改進情況:提高動手能力,在實現代碼中逐漸提高!

參考資料

  • Java軟件結構與數據結構(第4版)

20172311《程序設計與數據結構》第二周學習總結