學期(如2024-2025-8) 學號(如:20241404) 《計算機基礎與程式設計》第八週學習總結
作業資訊
這個作業屬於哪個課程 | https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP |
---|---|
這個作業要求在哪裡 | (如2024-2025-1計算機基礎與程式設計第八週作業) |
這個作業的目標 | <功能設計與物件導向設計 |
物件導向設計過程 | |
面嚮物件語言三要素 | |
彙編、編譯、解釋、執行 | |
作業正文 | https://www.cnblogs.com/wangsiwen666/p/18551281 |
教材學習內容總結
根據搜尋結果,第七章《電腦科學概論》的內容主要涉及問題求解與演算法設計。以下是第七章的主要內容概述:
-
如何解決問題:介紹了Polya的“如何解決它”列表,這個列表適用於各種型別的問題,包括提出問題、尋找熟悉的情況、分治法、演算法和計算機問題求解過程。
-
演算法:定義為在有限時間內用有限的資料解決問題或子問題的一套指令。計算機問題求解過程包括分析和說明問題、演算法開發(解決方案)、實現(具體方案)和維護(重組改寫)。
-
有簡單變數的演算法:包括帶有選擇的演算法和帶有迴圈的演算法,如計數控制迴圈、時間控制迴圈和平方根演算法。
-
複雜變數:討論了陣列和記錄的使用。
-
搜尋演算法:包括順序搜尋、有序陣列中的順序搜尋和二分檢索。
-
排序:介紹了幾種排序演算法,如選擇排序、氣泡排序和插入排序。
-
遞迴演算法:包括子程式語句、遞迴階乘、遞迴二分檢索和快速排序。
-
幾個重要思想:包括資訊隱蔽、抽象、事物命名和測試。
這些內容為讀者提供了電腦科學中演算法和問題求解的基礎知識,是理解電腦科學核心概念的重要部分。
教材學習中的問題和解決過程(先問 AI)
- 問題1:遞迴演算法的優點和缺點是什麼?
- 問題1解決方案: 優點:
程式碼簡潔,易於理解。
適合解決那些可以分解為相似子問題的問題。
可以減少程式碼量,提高效率。
缺點:
如果遞迴深度過大,可能會導致棧溢位。
遞迴呼叫可能會增加額外的計算開銷,因為每次遞迴呼叫都需要儲存當前狀態。
遞迴演算法的效率通常低於迭代演算法。 - 問題2:什麼是二分搜尋演算法,它適用於什麼情況?
- 問題2解決方案:二分搜尋演算法是一種在有序陣列中查詢特定元素的搜尋演算法。它透過反覆將搜尋區間一分為二來工作,每次比較中間元素與目標值,從而縮小搜尋範圍。它適用於有序陣列,並且時間複雜度為O(log n)。
基於AI的學習
程式碼除錯中的問題和解決過程
- 問題1:
在進行位置交換時為什麼要用k替換q? - 問題1解決方案:因為q在for迴圈結束後已經變成num