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

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

教材學習內容總結

第三章 集合概述 ——棧

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

    第四章 鏈式結構——棧

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

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

  • 問題1:泛型不能被實例化什麼意思?如何使用泛型建立一個能夠儲存全部類型數據的數組?
  • 問題1解決方案:
    泛型不能被實例化的意思可理解爲:

試圖建立一個泛型數組是錯誤的,錯誤代碼以下:算法

Stack stack =new T(initialCapaciry);

使用泛型建立一個能夠儲存全部類型數據的數組:數組

首先實例化一個Object數組,而後把它轉換爲一個泛型數組,代碼以下:數據結構

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

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

  • 問題1:運行PP3_2時出現錯誤,代碼及運行截圖以下:
  • 問題1解決方案:
    經與同窗討論得知Stack類判斷棧是否爲空的方法是.empty(),改正後代碼及運行截圖以下:

代碼託管

上週考試錯題總結

  • 錯題1:
  • 理解:當n增大到必定程度時2的n次方遠比n的平方增長的快!函數

  • 錯題2:
  • 理解:算法的階是經過消除常數和算法增加函數中除主導項之外的全部項來肯定的,手殘致使答錯!!學習

結對及互評

  • 本週結對學習狀況
    對課本上的諸多疑問點進行了討論,同時對代碼實現過程當中遇到的一些問題也經過討論獲得瞭解決

感想

還需繼續努力!.net

學習進度條

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

  • 實際學習時間:10小時3d

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

參考資料

相關文章
相關標籤/搜索