1. 程式人生 > 其它 >2021--2022一學期20212406《網路空間安全專業導論》第四周自學總結

2021--2022一學期20212406《網路空間安全專業導論》第四周自學總結

第8章 抽象資料型別與子程式
一.抽象資料型別(ADT)---屬性(資料和操作)明確地與特定實現分離的容器
1.設計目標:通過抽象減小複雜度
2.資料結構:一種抽象資料型別中的複合資料域的實現
3.容器:存放和操作其他物件的物件
4.如何觀察資料:
(1)應用層:特定問題中的資料的檢視
(2)邏輯層:資料值和處理它們操作的抽象檢視
(3)實現層:明確表示存放資料項的結構並用程式設計語言對資料的操作進行編碼
二.棧---一種抽象複合結構,只能從一端訪問棧中的元素(後進先出)
三.佇列---一種抽象結構,佇列中的專案從一端進,另一端出(先進先出)
四.列表
1.屬性特徵:專案是同構的,專案是線性的,列表是變長的
2.鏈式結構:一個將資料項和找到下一項位置的資訊儲存到同一容器的實現方法
五.樹---一種分層體系結構
1.二叉樹---具有唯一起始節點的抽象複合結構,其中每個節點可以有兩個子女節點,根節點和每個節點之間都有且僅有一條路徑
根:樹中的唯一開始節點
葉節點:沒有子女的樹節點
2.二叉檢索樹---具有二叉樹的形狀屬性和語義屬性
(1)搜尋:與線性結構的二分檢索法類似;搜尋效率與樹的形狀有關,而專案插入樹的順序決定了樹的形狀。
(2)構造
(3)輸出二叉檢索樹中的資料:先輸出左子樹中的所有值,再輸出根的值,再輸出右子樹中的所有值。
3.其他操作:如Length操作
六.圖
1.圖:由一組節點和一組把節點相互連線起來的邊構成的資料結構
有向圖:其中的邊是從一個頂點指向另一個頂點的圖
無向圖:其中邊沒有方向的圖
2.頂點:圖中的節點
邊:表示圖中兩個節點的連線的頂點對
如果兩個頂點有一條邊相連,則稱鄰頂點。兩個頂點通過一條有順序的路徑相連。
3.建立圖:在表格中新增一個頂點---在表格中新增一條邊---在表格中新增一個權值
4.圖演算法:
深度優先搜尋
廣度優先搜尋
單源最短路搜尋
七.子程式(傳遞資訊)
1.引數傳遞:值傳遞,引用傳遞
2.引數列表:是子程式要使用的識別符號或值的列表。識別符號包括形參(列在子程式後括號內的識別符號)和實參(列在子程式括號中的識別符號)
3.值參:由呼叫單元傳入實參的副本的形參
引用引數:由呼叫單元傳入實參的地址的形參

第九章 面向物件設計與高階程式設計語言
一.面向物件方法
1.物件:在問題背景中相關的事物或實體
物件類:一組具有相似的屬性和行為的物件的描述
欄位:表示類的屬性
方法:定義了類的一種行為的演算法
2.設計方法;
頭腦風暴(一種集體問題求解的方法)---過濾(根據頭腦風暴生成的暫時列表,確定問題解決方案中的核心類)---場景(給每個類分配責任:類自身必須知道什麼/類必須能夠做什麼)---責任演算法(為責任編寫演算法)
注:封裝:把資料和動作集中在一起,使資料和動作的邏輯屬性與它們的實現細節分離
二.翻譯過程
1.編譯器:把用高階語言編寫的程式翻譯成機器碼的程式
2.直譯器:輸入用高階語言編寫的程式,指導計算機執行每個語句指定的動作的程式
位元組碼:編譯Java原始碼使用的標準機器語言
三.程式設計語言範型
1.命令式範型---具有順序執行指令的特徵,變數的使用代表了記憶體地址,而使用賦值語句則改變這些變數的值
(1)面向過程的範型:語句被分組為了程式
(2)面向物件的範型:物件和操作物件的程式碼綁在一起,使得每個物件負責自己的操作。
2.宣告式範型---只描述結果但完成結果的過程不被描述
(1)函式式模型:基於函式的數學概念
(2)邏輯程式設計:基於數理邏輯的原則
四.高階程式設計語言的功能性
1.布林表示式:一個識別符號序列,求得的值是true/false
2.資料歸類:
(1)資料型別---一組值以及能夠應用於這種型別的值的基本操作集合的說明
整數:一個整數值的範圍
實數:特定精度的值的範圍,這個範圍由表示實數值的位元組數決定
字元:ASCII字符集包括英文字元,是Unicode字符集的子集
字串:一個字元序列,在某些語言中這些序列通常被看作一個數據值
注:我們使用單引號全出字元,用雙引號圈出字串
(2)宣告---把變數,動作或語言中的其他實體與識別符號關聯起來的語句,使程式設計師可以通過名字引用這些專案
保留字:一種語言中具有特殊意義的字,不能用它作為識別符號
區分大小寫:大寫字母和小寫字母被看作是不同的
3.輸入/輸出結構---所有輸入語句都由三部分組成=要存放資料的變數的宣告+輸入語句+要讀入的變數名以及資料流自身
4.控制結構---確定程式中其他指令的執行順序的指令(重複,選擇,子程式)
(1)巢狀邏輯:選擇和迴圈語句可以在子程式中被巢狀,子程式可以在迴圈或選擇結構中被巢狀
(2)非同步處理:不與計算機中的其他操作同時發生
五.面嚮物件語言的功能性
1.封裝
例項化---建立類的物件
2.繼承:類獲取其他類的屬性的機制
3.多型:語言在執行時確定給定呼叫將執行哪些可能的方法的能力