20191206《信息安全導論》第七週學習總結

 

1、 《計算機科學概論》第八章—抽象數據類型與子程序python

(一) 抽象數據類型算法

1. 抽象數據類型(ADT abstract data type):屬性(數據和操做)明確與特定實現分離的容器。express

抽象數據類型的描述包括給出抽象數據類型的名稱、數據的集合、數據之間的關係和操做的集合等方面的描述。抽象數據類型的設計者根據這些描述給出操做的具體實現,抽象數據類型的使用者依據這些描述使用抽象數據類型。數據結構

2. 應用層(用戶層)是特定問題中的數據的視圖。app

3. 邏輯層(抽象層)是數據值(域)和處理他們的操做的抽象視圖。函數

4. 實現層,計算機最底層測試

5. 數據結構(data structure)一種抽象數據類型中的符合數據域的實現spa

6. 容器(container)存放和操做其餘對象的對象設計

(二) 棧(stacks)模擬堆疊。放在只能對最上面的元素操做。因此先進後出。orm

(三) 隊列(queue)模擬隊列。前面出。後面進。

關於棧
>>> stack = [3, 4, 5]

>>> stack.append(6)

>>> stack.append(7)

>>> stack[3, 4, 5, 6, 7]

>>> stack.pop()

>>> 7

>>> stack[3, 4, 5, 6]

>>> stack.pop()

>>> 6

>>> stack.pop()

>>> 5

>>> stack[3, 4]
關於隊列

>>> from collections import deque

>>> queue = deque(["Eric", "John", "Michael"])

>>> queue.append("Terry")       

>>> queue.popleft()             

>>> queue                           

>>> (['Michael', 'Terry', 'Graham'])

(四) 列表

1. 三個屬性特徵:項目是同構的;項目是線性的;列表是變長的

2. 鏈式結構:一個將數據項和找到下一項位置的信息保存到同一容器的實現方法。

(五)

1. 一種分層體系,在計算機領域,可能是二叉樹

2. 二叉樹(binary tree):具備一個根節點,與兩個子節點,

3. 二叉檢索樹:已經按必定順序排列好了的二叉樹

這個順序是:任何節點大於左子樹全部節點,小於右子樹全部節點

4. 其餘操做

(六)

1. 圖(graph)由一組節點和一組把節點相互鏈接起來的邊構成的數據結構

2. 頂點(vertex)圖中的節點

3. 邊(弧)edge:表示圖中兩個節點的鏈接的頂點對。

4. 無向圖(undirected graph)邊沒有方向的圖

5. 有向圖(directed graph)邊有方向

6. 鄰頂點(adjacent vertice)經過邊鏈接起來的兩個頂點

7. 路徑(path)鏈接圖中兩個頂點的一系列頂點

8. 建立圖

(1) 深度優先搜索

(2) 廣度優先搜索

(3) 單源最短路搜索

9. 算法圖

(七) 子程序

1. 參數傳遞

2. 參數列表(parameter list)程序中兩部分之間的通信機制

3. 形參(parameter)列在子程序名後的括號中的標識符

4. 實參(argument)子程序調用中列在括號中的標識符

5. 值參(value parameter)由調用單元傳入實參的副本的形參

6. 引用參數(reference parameter)由調用單元傳入實參的地址的形參

2、 《自學是一門手藝》

(一) 第十一章第五節—函數文檔

1. 是函數的使用說明書,可用help()查看

2. 編寫函數文檔:必須位於expression的開頭,通常是多行註釋,且保持相同的縮進。

3. 書寫規範:Docstring是寫給人看的,寫why遠比what更重要

4. Sphnix版本的書寫規範:

(二) 第六節—保存到文件的函數

1. 模塊(module):一種能夠被外部調用的.py文件。

2. Import....as ....

3. 模塊中不必定只有函數

4. dir()查看模塊中的變量名稱和函數名稱

(三) 第七節—測試驅動開發

1. 算法就是解決問題的步驟而已

2. 兩種錯誤:語法錯誤(syntax errors)意外(exceptions)

(四) 第八節—可執行的python文件

1. 從理論上講,咱們能夠把任何一個程序封裝到一個函數中,按照慣例,這個函數叫作main()函數

相關文章
相關標籤/搜索