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