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

2021-2022-1 20211305《資訊保安專業導論》第6周學習總結

作業資訊

這個作業屬於哪個課程 2020-2021-1資訊保安專業導論
這個作業要求在哪裡 2020-2021-1資訊保安專業導論第六週作業
這個作業的目標 Polya如何解決問題、簡單型別與組合型別、複合資料結構、查詢與排序演算法、演算法複雜度、遞迴、程式碼安全
作業正文 [本部落格連結](https://www.cnblogs.com/wzj1234/p/15480353.html)

教材學習內容總結

電腦科學概論

  • Polya如何解決問題
    1.提出問題
    典型問題:對這個問題我瞭解多少?解決方案是什麼樣的?存在什麼特例?我如何知道已經找到解決方案了?
    polya的如何解決他列表:
    第一步:必須理解問題。
    第二步:找到資訊和解決方案之間的聯絡。如果找不到直接的聯絡,則可以能需要考慮輔助問題。最終,應該得到解決方案。
    第三步:執行方案。
    第四步:分析得到的解決方案。
    2.尋找熟悉的情況
    識別相似的情況在計算機領域內是特別有用的,找到存在的解決方案。
    3.分治法
    把一個大的問題劃分為幾個能解決的小單元,分治法可以多次利用。
    4.演算法
    在計算領域這種解決方案被稱為演算法。演算法是在有限的時間內用有限的資料解決問題或子問題的明確指令集合。
    5.計算機問題求解過程
    分析和說明階段:輸出清楚的問題描述。
    演算法開發階段:輸出第一階段定義的問題的通用解決方案。
    實現階段:輸出計算機可以執行的程式,該程式實現了這個問題的專用解決方案-演算法。
    維護階段:除非執行過程中出現錯誤,或者需要改變程式,否則無輸出。
    6.方法總結
    分析問題--列出主要任務--編寫其餘模組--根據需要進行重組和改寫
    7.測試演算法
    計算機問題的求解目標是建立正確的過程。體現這一過程的演算法可以反覆應用到不同的資料。演算法測試通常是在編碼演算法的各種條件下執行程式,然後分析結果以發現問題,特別是演算法必須在實現之前進行測試。
  • 簡單型別與組合型別
    1.帶有選擇的演算法:到達第二個if語句的唯一方式是第一個if表示式是不真實的。
    2.帶有迴圈的演算法:
    計數控制迴圈:可以指定過程重複的次數,簡單記錄過程重複的次數並且在在重複再次開始前檢測迴圈是否已結束。使用特殊的變數叫迴圈控制變數,第二部分是測試,第三部分是增量。while迴圈被稱為前測試迴圈。
    事件控制迴圈:迴圈中重複的次數是由迴圈體自身內發生的事件控制的迴圈被稱為事件控制迴圈。
    巢狀結構:控制結構嵌入另一個控制結構的結構,又稱為巢狀邏輯。
    抽象步驟:細節仍未明確的演算法步驟。
    具體步驟:細節完全明確的演算法步驟。
  • 複合資料結構
    陣列:同構專案的有名集合,可以通過單個專案在集合中的位置訪問他們。
    專案在集合中的位置叫做索引。
    記錄:異構專案的有名集合,可以通過名字單獨訪問其中的專案。
  • 查詢與排序演算法
    搜尋演算法
    順序搜尋:按順序依次查詢,直到找到匹配項,沒有找到匹配項就停止。
    二分檢索:在有列表中查詢專案的操作,通過比較操作排除大部分檢索範圍。
    排序
    1.選擇排序
    2.氣泡排序
    3.插入排序
    遞迴演算法:在一個演算法中使用它自己。
    遞迴:演算法呼叫它本身的能力。
    看漫畫學python
    學習了序列索引操作,加和乘操作,切片操作,建立列表,追加元素,插入元素,替換元素,刪除元素,建立元組,元組拆包,建立集合,修改集合,字典



    程式碼執行中的問題
  • 問題1:
  • 問題1解決方案:詢問同學

學習進度條

程式碼行數(新增/累積) 部落格量(新增/累積) 學習時間(新增/累積)
目標 3000行 10篇 400小時
第二週 100/100 2/2 30小時
第三週 300/400 1/5 50小時/80小時
第四周 300/700 1/6 50小時/130小時
第五週 500/1200 3/9 50小時/180小時
第六週 300/1500 1/10 30小時/130小時