學期(如2024-2025-1) 學號(如:20241403) 《計算機基礎與程式設計》第六週學習總結
作業資訊
這個作業屬於哪個課程 | <班級的連結>(如2024-2025-1-計算機基礎與程式設計) |
---|---|
這個作業要求在哪裡 | <作業要求的連結>(如2024-2025-1計算機基礎與程式設計第一週作業) |
這個作業的目標 | Polya如何解決問題 簡單型別與組合型別 複合資料結構 查詢與排序演算法 演算法複雜度 遞迴 程式碼安全 |
作業正文 | https://www.cnblogs.com/chenqiqi/p/18524225 |
教材學習內容總結
一、Polya如何解決問題
Polya 的問題解決方法強調理解問題、制定計劃、執行計劃和回顧反思。
二、簡單型別與組合型別
簡單型別與組合型別方面,簡單型別如整數、字元等,組合型別是由簡單型別組合而成,如陣列、結構體等。
三、複合資料結構
複合資料結構如連結串列、棧、佇列、樹和圖等,各有特定的結構和用途。
四、查詢與排序演算法
查詢與排序演算法眾多,查詢有順序查詢、二分查詢等;排序有氣泡排序、快速排序等。不同演算法適用於不同場景,效率也不同。
五、演算法複雜度
演算法複雜度分為時間複雜度和空間複雜度,衡量演算法執行效率和所需空間。
六、遞迴
遞迴是一種重要的程式設計技術,函式呼叫自身解決問題。但要注意遞迴的終止條件,避免無限遞迴。
七、程式碼安全
程式碼安全至關重要,要防止程式碼被惡意攻擊,如輸入驗證、防止緩衝區溢位等。同時,良好的程式設計習慣和安全意識能提高程式碼的可靠性和穩定性。
教材學習中的問題和解決過程(先問 AI)
-
問題1:在實際應用中,什麼時候更適合使用棧這種資料結構,什麼時候更適合使用佇列呢?
-
問題1解決方案:棧是後進先出(LIFO)的資料結構,適合用於函式呼叫棧、表示式求值、瀏覽器的前進後退功能等場景。當需要按照後進入先處理的順序處理資料時,棧是合適的選擇。
佇列是先進先出(FIFO)的資料結構,適合用於任務排程、訊息佇列、作業系統中的程序排程等場景。當需要按照先進入先處理的順序處理資料時,佇列是合適的選擇。
基於AI的學習
程式碼除錯中的問題和解決過程
- 問題1:執行結果與預期不同。當第一遍沒過,再做第二遍過了後·,算出來的總分不對,比如第一遍得了20分,第二遍做了90分,最後輸出的總分卻是110分,正確執行結果應該是90分。
- 問題1解決方案:
改後把score和accuracyrate的結果放在for迴圈裡面是,每次score和accuracyrate的結果就是最後10次的結果。
學習進度條
程式碼行數(新增/累積) | 部落格量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 200/200 | 2/2 | 20/20 | |
第二週 | 300/500 | 2/4 | 18/38 | |
第三週 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 |