學期 2024-2025-1 學號 20241403 《計算機基礎與程式設計》第六週學習總結

陈琪琪發表於2024-11-03

學期(如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

相關文章