1. 程式人生 > 其它 >2021-2022-1 20211413 《資訊保安專業導論》第七週學習總結

2021-2022-1 20211413 《資訊保安專業導論》第七週學習總結

作業資訊

班級:https://edu.cnblogs.com/campus/besti/2021-2022-1fois
作業要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07

教材學習內容總結

棧和佇列
·
只能從一端訪問,可以在第一個位置插入(Push)或者刪除(Pop)元素,稱為後進先出(LIFO)
· 佇列
只能從一端入,另一端出,稱為先進先出(FIFO)。其中插入操作總是在隊尾,刪除操作總是在隊頭

列表
· 列表的三個特徵:
1)專案是同構的
2)專案是線性的
3)列表是變長的
· 鏈式結構(linked structure)
由節點構成,每個節點包含倆部分:資料和指向下一節點的連結或指標


一種分層體系結構,每個節點下方都有多個節點
· 二叉樹(binary tree)
二叉樹的每個節點後面最多有倆個節點,叫做子女(children),樹的頭部叫作根(root),根不是任何節點的子女
樹葉(leaf):沒有子女的節點,也稱葉節點(leaf node)
· 二叉檢索樹
在二叉樹基礎上,二叉檢索樹要求每個節點的值都要大於左子樹所有節點的值,而且要小於右子樹所有節點的值

圖(graph)
圖由一組節點和連線節點的線段構成,其中節點叫做頂點(vertx),連線頂點的線段叫作邊(edge)或者弧(arc)
· 無向圖(undirected graph):邊沒有方向的圖
· 有向圖(directed graph 或 digraph):邊從一個頂點指向另一個頂點,有方向
·

加權圖:邊有附加值的圖
如果倆個頂點有一條邊相連,則稱它們為鄰頂點(adjacent vertice)

引數傳遞
· 引數列表(parame list):子程式要使用的識別符號或值的列表
· 形參(parameter):子程式名後括號中的識別符號
· 實參(argument):子程式呼叫時列在括號中的識別符號
· 值參(value parameter):傳入實參副本的形參
· 引用引數(reference parameter):傳入實參地址的形參

函式
· 自定義函式

def 函式名(形參列表):
    函式體
    return 返回值 (該條語句可省略)

· 函式中變數的作用域
模組中建立的變數作用域為整個模組,稱為全域性變數;函式建立的變數作用域為整個函式,稱為區域性變數。也可通過global將變數提升為全域性變數

x = 20
def fun():
    global x
    x = 10 # 該模組中x的值變為10

· 函式型別
python中的函式有資料型別,該資料型別為function。因此,一個函式可以作為另一個函式的返回值使用,也可以作為另一個函式的引數,這與‘‘python中一切皆物件’’的概念有關

python中的內建模組
· 數學計算模組--math
一些常用模組
· 日期時間模組--datetime
datetime類:包含時間和日期
date類:只包含日期
time類:只包含時間
timedelta:計算時間跨度
tzinfo:時區資訊

· 正則表示式模組--re
1)字串匹配:match(p,text),其中p是字串模板,text是要驗證的字串。匹配成功返回匹配物件,否則返回none
2)字串查詢:search(p,text)、findall(p,text)
3)字串替換:re.sub(pattern, repl, string, count = 0),其中pattern是正則表示式,repl是用於替換的新字串,string是被替換的舊字串,count為要替換的最大數量,預設值為0,表示不限制替換數量
4)字串分割:re.split(pattern, string,maxsplit=0)

程式碼除錯中的問題和解決過程

1.不知道怎麼在python中儲存輸入的陣列
解決:首先我去了解了input()函式的機制,瞭解到input()接受任意的輸入,並返回字串型別。那麼怎麼將字串改成陣列呢?我想到了字串操作中的split()函式,我用split()函式將輸入的字串切割,再用list()函式將其儲存為列表。現在已經很接近目標了,但還有一個問題,儲存在列表裡的數字為str型別而不是int型別,在查詢資料後我成功的將數字轉化為了int型別。以下為程式碼示例

b = input() #b為字串
a = list(b.split()) #將b切割並儲存在列表中
a = [int(i) for i in a] #將列表中的資料轉為int型別

一些排序演算法

上週考試錯題總結

1.Which of the following is part of a Pep/9 program instruction?
A.
Accumulator
B.
Simulator
C.
Program counter
D.
Specifier
E.
Register
理解錯了題目意思,以為是問哪個是pep/9的組成,應該是問哪個是程式設計說明

2.The input to an assembler is an assembly language program.
判斷,題意為彙編器的輸入是組合語言程式