2023-2024-1 20231417 《计算机基础与程序设计》第七周学习总结

发布时间 2023-11-12 12:50:37作者: 曾煜

2023-2024-1 20231417 《计算机基础与程序设计》第七周学习总结

 

作业信息

这个作业属于哪个课程<班级的链接>(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP)
这个作业要求在哪里 <作业要求的链接>(https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07)
这个作业的目标 自学教材《计算机科学概论》第8章《C语言程序设计》第6章
 作业正文  https://www.cnblogs.com/yuyuyu12133/p/17827006.html

教材学习内容总结

《计算机科学概论》
1.了解了一些抽象复合结构,如:列表、栈、队列、树、图。列表和数还有在结构中查找元素的操作。
2.栈是后进先出,队列是先进先出。
3.图的搜索分为:广度优先搜索、深度优先搜索和单源最短路搜索。
4.介绍了几种抽象数据类型,如栈,队列,列表,树,图
5.介绍了子程序相关概念
《C语言程序设计》
1.介绍了while语句,do-while语句,for语句的表达式和语法
2.介绍了计数控制的循环,条件控制的循环,嵌套循环,并能通过循环解决一些实际问题
3.结构化语句要求:一个入口,一个出口,无不可达语句,无死循环。
4.宁可适当降低效率,也要保持好的结构

教材学习中的问题和解决过程

问题1:基于数组的实现与链式实现的区别与联系

解决方案:

询问chatgpt

基于数组的实现和链式实现是两种常见的数据结构实现方式,它们在实际应用中有着不同的特点和适用场景。让我们来分别看看它们的区别与联系。

基于数组的实现:

  • 特点:基于数组的实现使用数组来存储数据,可以通过索引快速访问元素,适合于对数据进行频繁访问或者知道索引位置的情况。
  • 优点:随机访问快速,内存连续存储,节约内存空间。
  • 缺点:插入和删除操作需要移动大量元素,导致效率较低;需要预先分配固定大小的内存空间。

链式实现:

  • 特点:链式实现使用指针将数据元素连接在一起,每个元素包含一个指向下一个元素的指针,适合于频繁的插入和删除操作。
  • 优点:插入和删除操作效率高,不需要预先分配固定大小的内存空间。
  • 缺点:无法像数组那样进行快速的随机访问,占用更多的存储空间(每个元素需要额外的指针占用空间)。

区别:

  1. 存储方式:基于数组的实现使用连续的内存空间存储数据,而链式实现通过指针连接各个元素。
  2. 访问效率:基于数组的实现支持随机访问,访问效率高;链式实现则不支持随机访问,需要从头开始遍历才能找到特定元素。
  3. 插入和删除效率:基于数组的实现对插入和删除操作效率较低,而链式实现对插入和删除操作效率较高。

联系: 虽然基于数组的实现和链式实现有着不同的特点,但它们也有一些联系点:

  1. 都可以用来实现各种数据结构,比如栈、队列、链表等。
  2. 在实际应用中,可以根据具体的场景和需求选择合适的实现方式来提高程序的效率和性能。

总的来说,基于数组的实现和链式实现各有优势,可以根据具体的需求来选择合适的实现方式,或者在不同场景下灵活地使用它们。

基于AI的学习

 

 

 

学习进度条

 代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标 5000行 30篇 400小时  
第一周   1/1 10/10  
第二周 20 1/2 10/20  
第三周 50 1/2 20/20  
第四周 100 1/2 20/20  
第五周 50 1/2 20/20  
第六周 100 1/2 20/20  
第七周 100 1/2 20/20