2023-2024-1 20231402《计算机基础与程序设计》第十三周学习总结
作业信息
这个作业属于哪个课程 | 2023-2024-1-计算机基础与程序设计 |
---|---|
这个作业要求在哪里 | 2023-2024-1计算机基础与程序设计第十三周作业 |
这个作业的目标 | 自学《C语言程序设计》第12章 |
作业正文 | https://www.cnblogs.com/lsh0815/p/17919945.html |
教材学习内容总结
《C语言程序设计》
- 这章主要讲了结构体,共用体和链表, 介绍了结构体变量的定义,初始化和引用,以及结构体数组、结构体指针的定义和初始化,接着介绍了一种动态数据结构:单向链表。
教材学习中的问题和解决过程
- 问题1:链表有哪些具体应用呢?
- 问题1解决方案:链表是一种常见的数据结构,它由节点组成,每个节点包含数据和指向下一个节点的指针。链表相对于数组的主要优势在于其动态性,可以方便地插入或删除节点而无需移动其他节点。以下是链表的一些具体应用:
- 实现动态数据结构: 链表的动态性使其非常适合用于实现栈、队列和其他动态数据结构。在这些数据结构中,可以通过在链表的前端或后端插入或删除节点来实现动态的数据操作。
- 内存分配: 操作系统中的内存分配算法通常使用链表来管理可用的内存块。当有新的内存请求时,可以从链表中分配一块合适大小的内存,释放内存时则将其添加回链表。
- LRU缓存淘汰算法: Least Recently Used (LRU) 是一种缓存淘汰策略,链表常被用来实现LRU缓存。最近使用的数据被移到链表头部,当缓存达到容量时,淘汰链表尾部的数据。
- 符号表: 链表可以用于实现符号表(例如散列表的冲突解决方法之一)。每个符号表条目都包含一个键和与之关联的值。
- 多项式表示: 链表可以用于表示多项式,其中每个节点包含一个系数和指数,链表的每个节点代表多项式的一项。
- 图的邻接表: 在图论中,链表可以用于表示图的邻接表。每个顶点的邻接表包含与之相邻的所有顶点。
- 任务调度: 在操作系统中,链表可用于实现任务调度队列。每个节点代表一个任务,节点的顺序决定了任务的执行顺序。
- 编辑器的撤销功能: 链表可以用于实现文本编辑器中的撤销(undo)功能。每次编辑操作都可以看作是链表中的一个节点,撤销时删除最后一个节点。
这些只是链表应用的一小部分,实际上,链表在计算机科学和软件工程中有着广泛的应用。
基于AI的学习
代码调试中的问题和解决过程
-
问题1:输入时没有注意字符串的读取会读取回车,导致之后读取的信息都不对。
-
问题1解决方案:在读取字符串前加上getchar(); 读取回车
-
问题2:在编写根据数学成绩排序的函数中,在交换数据时一开始只交换了学号的数据,导致排序结束后只有学号重新排序,其他数据位置没有变。
-
问题2解决方案:直接将整个结构体的数据进行交换。
上周考试错题总结
- Instant messages are encrypted before they are sent.
正确答案: 错误
你的作答: 正确 - TCP/IP is a seven-layer breakdown of network interaction used to facilitate communication standards.
正确答案: 错误
你的作答: 正确
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 2/2 | 20/20 | |
第二周 | 100/100 | 2/4 | 40/40 | |
第三周 | 300/300 | 6/7 | 62/60 | |
第四周 | 500/500 | 8/9 | 80/80 | |
第五周 | 800/800 | 10/10 | 100/100 | |
第六周 | 1200/1200 | 11/11 | 120/120 | |
第七周 | 1500/1500 | 13/13 | 140/140 | |
第八周 | 2000/2000 | 14/14 | 160/160 | |
第九周 | 2500/2500 | 16/16 | 178/180 | |
第十周 | 3100/3000 | 17/18 | 200/200 | |
第十一周 | 3800/3500 | 18/19 | 220/220 | |
第十二周 | 4200/4000 | 20/20 | 240/240 | |
第十三周 | 4800/4500 | 21/21 | 260/260 |
-
计划学习时间:20小时
-
实际学习时间:20小时