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

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