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