2021-2022-1 20211410周意凱《資訊保安專業導論》第六週學習總結
學習目標
-
- Polya如何解決問題
- 簡單型別與組合型別
- 複合資料結構
- 查詢與排序演算法
- 演算法複雜度
- 遞迴
- 程式碼安全
教材學習內容總結
電腦科學概論
搜尋 :
順序搜尋:一個一個數據對比到對
有序陣列二分檢索:取中間的值進行比較,大向下小向上,再取比。
排序:
選擇排序:
需要兩個完整列表的空間
取出第一個,一個一個比,有更小的換出來,比完一邊放一個最小值
改進:取出一個數時有一個空位,不要完整列表,就拿一個數據的位置也行,更換時把原書放進更小數的原來位置
氣泡排序:從最後的資料開始向前一項對比,小則向上,大則對前一項進行冒泡
遞迴:演算法呼叫它本身的能力
分裂演算法:
第一個數作為splitVal,左邊開始依次比較,選到大的停止,右邊開始選到小的停,兩數換位,繼續向中。左到大數停,右出發重合時停止,分為兩部分。交換第一個數和停止左邊的數,完成分割且左邊最大已排好。兩邊重複進行直達不可分割。
排序很好,但是沒有基礎的比較機制,若資料已排好或分割過程中有一部分已經排好也不能停止。
看漫畫學python
第六章
列表和元組屬於序列,序列元素有序,列表可變,元組不可變。
集合元素是無序的,且不能重複
字典通過鍵來訪問元素,由鍵(keys)檢視和值(values)檢視構成,鍵檢視不能包含重複的元素
第七章
格式化字串: .format() 括號內加引數,可以定義引數名
佔位符{},可以有引數序號,序號0被第一個引數替換,也可以用引數名替換
%作佔位符時%s是字串,%i或%d是整數,%f是浮點數,例:‘我是 %s, %d歲‘%(name,age) #定義的格式化字串內 %前有空格
演算法複雜度
演算法複雜度是指演算法在編寫成可執行程式後,執行時所需要的資源,資源包括時間資源和記憶體資源。
包括時間複雜度和空間複雜度兩類
時間複雜度:執行時間和,執行次數由編譯成的機器語言執行次數決定吧。
空間複雜度:執行時所需儲存空間的度量,包括演算法程式、輸入的初始資料、執行過程中所需的額外空間
教材學習中的問題和解決過程
程式碼除錯中的問題和解決過程
上週考試錯題總結
無
其他(感悟、思考等,可選)
寫程式碼時可以多加註釋
學習進度條
程式碼行數(新增/累積) |
部落格量(新增/累積) |
學習時間(新增/累積) |
重要成長 |
|
目標 |
5000行 |
30篇 |
400小時 |
|
第一週 |
0/0 |
2/2 |
15/15 |
|
第二週 |
0/0 |
2/4 |
20/35 |
|
第三週 |
300/300 |
1/5 |
22/57 |
|
第四周 |
500/800 |
2/7 |
23/80 |
|
第五週 |
600/1400 |
3/10 |
16/96 |
|
第六週 |
600/2000 |
3/13 |
16/112 |