2021-2022-1 20211309 《資訊保安專業導論》第7周學習總結
2021-2022-1 20211309 《資訊保安專業導論》第7周學習總結
作業資訊
|這個作業屬於哪個課程|https://edu.cnblogs.com/campus/besti/2021-2022-1fois
|這個作業要求在哪裡|https://edu.cnblogs.com/campus/besti/2020-2021-1fois/homework/11249
|作業目標
課本第八章的學習
教材學習內容總結
電腦科學概論第八章的學習
陣列與連結串列
所謂陣列,就是相同資料型別的元素按一定順序排列的集合;陣列的儲存區間是連續的,佔用記憶體比較大,故空間複雜的很大。但陣列的二分查詢時間複雜度小,都是O(1);陣列的特點是:查詢簡單,增加和刪除困難
陣列的優點:
隨機訪問性強,查詢速度快,時間複雜度是0(1)
陣列的缺點
-
從頭部刪除、從頭部插入的效率低,時間複雜度是o(n),因為需要相應的向前搬移和向後搬移。
-
空間利用率不高
-
記憶體空間要求高,必須要有足夠的連續的記憶體空間。
-
陣列的空間大小是固定的,不能進行動態擴充套件。
-
連結串列的特點:所謂連結串列,連結串列是一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過連結串列中的指標連結次序實現的。連結串列由一系列結點(連結串列中每一個元素稱為結點)組成,結點可以在執行時動態生成。每個結點包括兩個部分:一個是儲存資料元素的資料域,另一個是儲存下一個結點地址的指標域。 相比於線性表順序結構,操作複雜。
無序表與有序表
- 在大資料時代,如何在海量資料中快速檢索到自己想要的資料?首先需要設計高效的資料結構來表示這些資料,要儲存的資料一般分為兩個部分,鍵和值,如何根據鍵值去安排這些資料尤為重要,首先我們想到線性儲存,即利用表的形式線性儲存,線性查詢,即符號表這種資料結構.
- 符號表線性儲存資料,但是根據在插入操作過程中是否保證資料有序分為無序表和有序表:
樹
-
二叉樹:
根:樹的頭部二叉樹:具有唯一起始節點的抽象複合結構,每個節點有兩個子女節點,根節點和每個節點之間都有且只有一條路徑
葉節點:沒有子女的樹節點。 -
二叉檢索樹
在二叉檢索樹中搜索:current指向一個節點,info(current)指節點中使用者資料。left(current) 指左指數的根節點。
特點:對於二叉檢索樹的任意一個結點,設其值為K,則該結點左子樹中任意一個結點的值都小於K;該結點右子樹中任意一個結點的值都大於或等於K
頂點:節點
- 邊(弧):兩個節點連線的頂點對
- 圖演算法廣度優先搜尋:用佇列來訪問,儘可能檢查與起點相鄰的頂點。
- 深度優先搜尋:用棧來訪問,沒有找到及回溯。且已經訪問過的棧點不會再次訪問。
- 單源最短路搜尋:權值加在一起最小。搜尋最近的頂點,優先佇列:被檢索的元素是在佇列中擁有最高優先度的元素。
圖
樹是表示存在層次關係的一種有效方式,也就是說一個節點至多隻有一個指向他的節點,如果去掉這種約束,就得到了另外一種資料結構--圖,圖中的節點叫做頂點、圖中的線段叫做邊。
* 深度優先搜尋
首先用深度優先搜尋來搜尋第一個與起點相鄰的頂點,如果他是終點則結束、否則檢查所有與第一個頂點相鄰的頂點
* 廣度優先搜尋
在廣度優先搜尋中,我們想要回溯到儘可能遠,因此棧不再是一個適合尋找較早路徑的資料結構,它是按照元素出現的相反順序來儲存元素,即最晚的路徑在頂部
,因此不再使用棧,而是使用佇列,就可以解決這個問題
子程式與引數
1.引數傳遞 :引數列表:是子程式要使用的識別符號或值得列表。
2.值參與引用引數 值參:由呼叫單元傳入實參的副本的形參 引用引數:由呼叫單元傳入實參的地址的形參
教材學習中的問題和解決過程
問:單源最短路搜尋具體是什麼意思?
答案:通過部落格園和百度的查詢瞭解到這是一個類似數學上的問題
https://www.cnblogs.com/Lorrained/p/15170132.html
https://www.cnblogs.com/Lorrained/p/15170132.html
程式碼除錯中的問題和解決過程
問:斐波那契數列為什麼一分鐘算不出來
採用形如def fib(n):
return 1 and n <= 2 or fib(n - 1) +fib(n - 2)
print('\n 最終結果為 %d'%(fib(n)))
這樣的遞迴是不行的,
但通過更換演算法可以實現,具體原理還需要學習
[程式碼託管]
上週考試錯題總結
無
感悟
學習是一個舉一反三的過程,不需要強記
學習進度條
程式碼行數(新增/累積) | 部落格量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 0/0 | 2/2 | 15/10 | |
第二週 | 0/100 | 3/4 | 6/5 | |
第三週 | 200/200 | 5/5 | 8/10 | |
第四周 | 700/500 | 6/6 | 25/20 | |
第五週 | 1000/1000 | 8/8 | 16/20 | |
第六週 | 1300/1200 | 9/9 | 12/15 | |
第七週 | 1500/1500 | 10/10 | 12/12 |