2024-2025-1 20241310 《计算机基础与程序设计》第7周学习总结
2024-2025-1 20241310 《计算机基础与程序设计》第7周学习总结
作业信息
这个作业属于哪个课程 | 2024-2025-1-计算机基础与程序设计 |
---|---|
这个作业要求在哪里 | 2024-2025-1计算机基础与程序设计第一周作业 |
这个作业的目标 | 自学教材《计算机科学概论》(第七版)第8章 并完成云班课测试;自学教材《C语言程序设计》第6章并完成云班课测试 |
作业正文 | 作业 |
教材学习内容总结
《计算机科学概论》第8章
抽象数据类型(ADT)
定义:抽象数据类型是数据结构与其操作的数学模型,通常包括数据的定义和可以对这些数据执行的操作。
特点:封装性、抽象性、可复用性和模块化。
栈(Stack)
定义:栈是一种后进先出(LIFO)的数据结构。
基本操作:
push():将元素压入栈中。
pop():将栈顶元素弹出。
peek() 或 top():返回栈顶元素但不弹出。
isEmpty():检查栈是否为空。
应用:函数调用、表达式求值、回溯算法等。
队列(Queue)
定义:队列是一种先进先出(FIFO)的数据结构。
基本操作:
enqueue():将元素加入队列。
dequeue():从队列中移除并返回最前面的元素。
front():返回队列前端的元素但不移除。
isEmpty():检查队列是否为空。
应用:任务调度、广度优先搜索等。
列表(List)
定义:列表是一组有序元素,可以是线性或非线性数据结构。
常见类型:
单链表:每个节点指向下一个节点。
双链表:每个节点指向前后两个节点。
循环链表:最后一个节点指向第一个节点。
基本操作:
插入、删除、查找、遍历。
树(Tree)
定义:树是一种层次数据结构,由节点组成。
特性:每个树节点有零个或多个子节点,根节点唯一。
常见类型:
二叉树:每个节点最多有两个子节点。
二叉搜索树:左子树的值小于根节点,右子树的值大于根节点。
平衡树、红黑树、B树等。
基本操作:插入、删除、查找、遍历(前序、中序、后序)。
图(Graph)
定义:图是一组节点和连接节点的边的集合。
表示方法:邻接矩阵、邻接表。
基本操作:
插入节点和边、删除节点和边、查找路径。
遍历算法:
深度优先搜索(DFS)、广度优先搜索(BFS)。
子程序(Subroutine)
定义:子程序是一个独立的代码块,可以重复调用,通常用于避免代码重复。
类型:
函数:带返回值的子程序。
过程:不带返回值的子程序。
参数传递:可以通过值传递或引用传递。
作用:提高代码的模块化和可读性,便于维护。
这些知识点是学习和使用C语言中常见数据结构和算法的基础。理解这些概念有助于设计高效的程序和解决复杂的问题。
《C语言程序设计》第6章
循环控制结构与循环语句
循环类型:
for 循环:通常用于已知循环次数的场景。其包含三个部分:初始化语句、循环条件和迭代动作。在每次执行循环时,首先检查条件是否成立,若成立则执行循环体,然后执行迭代动作。
while 循环:用于条件判断型的循环,适合在循环次数未知时使用。循环体在每次循环前检查条件是否成立,若成立则执行。
do...while 循环:类似于while循环,但在循环体执行完后才检查条件,确保至少执行一次循环体。
计数控制的循环
计数控制:通过计数器控制循环次数,通常用于for循环,可以设定初始值、条件和步进量,方便执行固定次数的操作。适合用于重复执行相同的任务,如遍历数组的元素等。
嵌套循环
嵌套循环:允许在一个循环体内定义另一个循环,适合处理具有多层结构的数据,如二维数组或其他复杂情况。在每次外层循环时,内层循环会完整执行一遍,可能导致较高的时间复杂度,需谨慎使用以避免性能问题。
条件控制的循环
条件控制的循环:通过条件决定是否继续执行循环体。while和do...while循环都属于此类,允许根据输入或状态动态调整循环的执行。适用于输入验证、菜单选择等场景,直到条件不再满足为止。
流程的转移控制
break:
用于立即终止最内层循环,常用于在满足特定条件时提前结束循环,例如在查找过程中找到目标值后退出循环。
continue:
用于跳过当前循环的剩余部分,直接进入下一次迭代。适合于跳过某些不满足条件的情况,而继续后续的处理。
goto:
允许程序在代码的任意位置进行无条件跳转,使用特定标签标识跳转位置。虽然功能灵活,但不推荐使用,因为可能导致代码可读性降低和维护困难,容易引入错误(如“垃圾树”现象)。
基于AI的学习
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 50/50 | 2/2 | 4/4 | |
第二周 | 200/200 | 1/3 | 12/12 | |
第三周 | 200/1000 | 1/4 | 10/10 | |
第四周 | 400/400 | 1/5 | 12/12 | |
第五周 | 200/1300 | 1/6 | 10/10 | |
第六周 | 600/1000 | 1/7 | 10/10 | |
第七周 | 400/500 | 1/8 | 9/9 |