本週主要學習了第三章和第四章的內容
第三章 集合概述——棧
3.1集合
集合是一種彙集組織了其餘對象的對象。
集合能夠分爲兩大類線性集合和非線性集合
線性集合:其元素按直線方式組織的集合。
非線性集合:其元素按某種非直線方式組織的集合。例如按層次結構或按網狀結構。
3.1.1抽象數據類型
集合十一找給你隱藏了實現細節的抽象
數據類型:一組值及做用於這些數值上的各類操做。
抽象數據:類型(Absttract Data Type, ADT)是一種在程序設計語言中還沒有定義氣質和操做的數據類型。
數據結構:一種用於實現集合的編程結構集。
3.1.2
java集合API:java程序設計緣由一個支持軟件開發的龐大類庫中的一部分。
3.2 棧集合
棧是一種線性集合,其元素的添加和刪除都是在同一端進行的,咱們稱棧是後進先出。php
操做 | 描述 |
---|---|
push | 添加一個元素到棧的頂部 |
pop | 從棧的定不溢出一個元素 |
peek | 查看棧頂部的元素 |
isempty | 肯定棧是否爲空 |
size | 肯定棧的元素數目 |
3.3 主要的面向對象的概念
爲了實現良好的重用性,咱們就必須考慮到類型兼容性和類型檢查
3.3.1繼承與多態性
多態引用是一個引用變量,他能夠在不一樣的地點引用不一樣類型的對象。繼承可用於建立一個類層次,其中,一個引用變可用於指向與之相關的任意對象。
3.3.2 泛型
java語言容許用戶基於泛型來定義類。咱們能夠定義一個類,一邊他能儲存、操做和管理其餘對象。
3.4 使用棧計算後綴表達式
中綴表達式是正常運算式,而中綴表達式則是根據運算順序將中綴表達式的運算符置後。後綴表達式不中綴表達式利於計算,因此程序設計語言編譯器和運算式環境在其內部計算中每每使用後綴表達式。使用棧計算後綴表達式的算法秒數以下:從左到右掃描表達式,一次表示出每一個符號(操做符huo9操做數)。如梭是操做數,則把它壓入棧中。若是是操做非,則從棧中彈出兩個元素,並把該操做符因公在這兩個元素之上,當到 大表達式的末尾是,棧中所剩餘的元素就是該表達式的計算結果。
3.4.1 javadoc
Javadoc是一種註釋風格以/**開始,以*/結束。
3.5 異常
異常是一種對象,它定義了一種非正常或錯誤的狀況。異常由程序或運行時環境拋出,能夠按預期的被捕獲或被正確處理。
3.6 棧ADT
爲棧集合定義了一個Java接口
3.7 用數組實現棧
3.7.1 管理容量
數組中的單元數量 稱爲該數組的容量。
應當在數組容量已滿時,從新定義一個數組擴大容量,並將原數組的數據複製到新數組中。
3.8ArrayStack類
介紹了用數組實現棧,以及各類棧的方法的實現。
第四章 鏈式結構——棧
4.1 連接做爲引用
鏈式結構是一種數據結構,它使用對象引用變量來建立對象之間的連接。指向對象的變量叫作指針。在鏈表中儲存的對象一般泛稱爲該鏈表的節點。
4.2 管理鏈表
4.2.1 訪問元素
須要新建立一個引用變量來替代頭指針,由於 若是用頭指針直接引用,會丟失數據。
4.2.2插入節點
使前一個節點的next指向新的節點,使新的節點的引用指向下一個節點。
4.2.3 刪除節點
使上一個節點的引用指向下一個節點的引用
4.5使用棧來穿越迷宮
模擬遞歸html
緣由:誤將2ⁿ當作2n,這是一個意外。java
本週又是充實的一週,在新的學習生活中有從新溫習了一些舊的知識。溫故而知新能夠爲師矣。這是一條必將伴隨我終生的箴言(既然已經選擇了程序員這條苦B的道路)。git
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 30/30 | 1/1 | 10/10 | |
第二週 | 766/796 | 1/2 | 40/50 |
1.java爲何要引入異常出來機制
2.藍墨雲班課
3.java軟件結構與數據結構程序員