《計算機基礎與程式設計》第八週學習總結

王思文666發表於2024-11-17

學期(如2024-2025-8) 學號(如:20241404) 《計算機基礎與程式設計》第八週學習總結

作業資訊

這個作業屬於哪個課程 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP
這個作業要求在哪裡 (如2024-2025-1計算機基礎與程式設計第八週作業)
這個作業的目標 <功能設計與物件導向設計
物件導向設計過程
面嚮物件語言三要素
彙編、編譯、解釋、執行
作業正文 https://www.cnblogs.com/wangsiwen666/p/18551281

教材學習內容總結

根據搜尋結果,第七章《電腦科學概論》的內容主要涉及問題求解與演算法設計。以下是第七章的主要內容概述:

  1. 如何解決問題:介紹了Polya的“如何解決它”列表,這個列表適用於各種型別的問題,包括提出問題、尋找熟悉的情況、分治法、演算法和計算機問題求解過程。

  2. 演算法:定義為在有限時間內用有限的資料解決問題或子問題的一套指令。計算機問題求解過程包括分析和說明問題、演算法開發(解決方案)、實現(具體方案)和維護(重組改寫)。

  3. 有簡單變數的演算法:包括帶有選擇的演算法和帶有迴圈的演算法,如計數控制迴圈、時間控制迴圈和平方根演算法。

  4. 複雜變數:討論了陣列和記錄的使用。

  5. 搜尋演算法:包括順序搜尋、有序陣列中的順序搜尋和二分檢索。

  6. 排序:介紹了幾種排序演算法,如選擇排序、氣泡排序和插入排序。

  7. 遞迴演算法:包括子程式語句、遞迴階乘、遞迴二分檢索和快速排序。

  8. 幾個重要思想:包括資訊隱蔽、抽象、事物命名和測試。

這些內容為讀者提供了電腦科學中演算法和問題求解的基礎知識,是理解電腦科學核心概念的重要部分。

教材學習中的問題和解決過程(先問 AI)

  • 問題1:遞迴演算法的優點和缺點是什麼?
  • 問題1解決方案: 優點:
    程式碼簡潔,易於理解。
    適合解決那些可以分解為相似子問題的問題。
    可以減少程式碼量,提高效率。
    缺點:
    如果遞迴深度過大,可能會導致棧溢位。
    遞迴呼叫可能會增加額外的計算開銷,因為每次遞迴呼叫都需要儲存當前狀態。
    遞迴演算法的效率通常低於迭代演算法。
  • 問題2:什麼是二分搜尋演算法,它適用於什麼情況?
  • 問題2解決方案:二分搜尋演算法是一種在有序陣列中查詢特定元素的搜尋演算法。它透過反覆將搜尋區間一分為二來工作,每次比較中間元素與目標值,從而縮小搜尋範圍。它適用於有序陣列,並且時間複雜度為O(log n)。

基於AI的學習



程式碼除錯中的問題和解決過程

  • 問題1:
    在進行位置交換時為什麼要用k替換q?
  • 問題1解決方案:因為q在for迴圈結束後已經變成num

相關文章