首页 > 编程语言 >2024-2025-1 20241411 《计算机基础与程序设计》第七周学习总结

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

时间:2024-11-10 19:31:35浏览次数:1  
标签:20241411 删除 2025 元素 链表 节点 2024 插入 子程序

作业信息

这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/
这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07
这个作业的目标 数组与链表、基于数组和基于链表实现数据结构、无序表与有序表、树、图、子程序与参数
作业正文 https://www.cnblogs.com/wangsiqi828828/p/18538332

教材学习内容总结

以下是关于数组和链表的知识点总结:
一、数组

  1. 定义:
    • 一组具有相同数据类型的元素按顺序存储在连续的内存空间中。
  2. 特点:
    • 随机访问:可以通过下标在常数时间内访问任意元素。例如,访问数组中的第 n 个元素非常高效。
    • 长度固定:创建数组时需要指定长度,一旦确定,在程序运行过程中通常难以改变。
    • 内存连续:存储在连续的内存空间,有利于 CPU 的缓存机制,提高访问速度。
  3. 操作:
    • 插入元素:在末尾插入相对容易,但在中间插入需要移动大量元素,时间复杂度为 O(n)。
    • 删除元素:类似插入,在中间删除也需要移动大量元素,时间复杂度为 O(n)。
  4. 应用场景:
    • 适合频繁随机访问的情况,如存储一组已知数量的元素。
    二、链表
  5. 定义:
    • 由一系列节点组成,每个节点包含数据和指向下一个节点的指针(对于双向链表,还有指向前一个节点的指针)。
  6. 特点:
    • 动态长度:可以根据需要动态地增加或删除节点,无需预先指定长度。
    • 非连续存储:节点分散在内存中,通过指针连接。
    • 插入和删除高效:只需修改指针即可完成插入和删除操作,时间复杂度为 O(1)(在已知插入或删除位置的情况下)。
  7. 操作:
    • 插入元素:在链表头部、尾部或中间插入都相对容易,只需调整指针。
    • 删除元素:同样,通过调整指针即可删除节点。
  8. 应用场景:
    • 频繁进行插入和删除操作的情况。
    • 对于内存空间有限且不确定元素数量的情况也很适用。
    总之,数组和链表在不同的场景下各有优势。在选择使用时,需要根据具体的需求来权衡它们的特点。
    以下是关于数组和链表的知识点总结:
    一、数组
  9. 定义:
    • 一组具有相同数据类型的元素按顺序存储在连续的内存空间中。
  10. 特点:
    • 随机访问:可以通过下标在常数时间内访问任意元素。例如,访问数组中的第 n 个元素非常高效。
    • 长度固定:创建数组时需要指定长度,一旦确定,在程序运行过程中通常难以改变。
    • 内存连续:存储在连续的内存空间,有利于 CPU 的缓存机制,提高访问速度。
  11. 操作:
    • 插入元素:在末尾插入相对容易,但在中间插入需要移动大量元素,时间复杂度为 O(n)。
    • 删除元素:类似插入,在中间删除也需要移动大量元素,时间复杂度为 O(n)。
  12. 应用场景:
    • 适合频繁随机访问的情况,如存储一组已知数量的元素。
    二、链表
  13. 定义:
    • 由一系列节点组成,每个节点包含数据和指向下一个节点的指针(对于双向链表,还有指向前一个节点的指针)。
  14. 特点:
    • 动态长度:可以根据需要动态地增加或删除节点,无需预先指定长度。
    • 非连续存储:节点分散在内存中,通过指针连接。
    • 插入和删除高效:只需修改指针即可完成插入和删除操作,时间复杂度为 O(1)(在已知插入或删除位置的情况下)。
  15. 操作:
    • 插入元素:在链表头部、尾部或中间插入都相对容易,只需调整指针。
    删除元素:同样,通过调整指针即可删除节点。
  16. 应用场景:
    • 频繁进行插入和删除操作的情况。
    • 对于内存空间有限且不确定元素数量的情况也很适用。
    总之,数组和链表在不同的场景下各有优势。在选择使用时,需要根据具体的需求来权衡它们的特点。
    以下是关于子程序与参数的知识点:
    一、子程序
  17. 定义:
    • 子程序是一段可以独立完成特定任务的程序代码模块。也被称为函数、方法等。
  18. 特点:
    • 代码复用:可以在不同的地方多次调用同一个子程序,避免重复编写相同的代码,提高开发效率。
    • 模块化:将复杂的程序分解为多个小的子程序,每个子程序负责一个特定的功能,使程序结构更加清晰,易于维护和修改。
  19. 作用:
    • 封装功能:将特定的操作封装在子程序中,隐藏实现细节,只对外提供接口,提高程序的安全性和可维护性。
    • 提高可读性:通过使用有意义的子程序名称,可以使程序更易于理解和阅读。
    二、参数
  20. 定义:
    • 参数是在调用子程序时传递给子程序的数据。它可以影响子程序的执行结果。
  21. 分类:
    • 形式参数(形参):在子程序定义中声明的参数,用于接收实际参数的值。
    • 实际参数(实参):在调用子程序时传递给形参的值。
  22. 作用:
    • 传递数据:通过参数,可以将不同的数据传递给子程序,使子程序能够根据不同的输入进行不同的处理。
    • 增加灵活性:参数使得子程序可以适应不同的情况,提高子程序的通用性。
  23. 传递方式:
    • 值传递:将实参的值复制一份传递给形参,在子程序中对形参的修改不会影响实参的值。
    • 引用传递:将实参的地址传递给形参,在子程序中对形参的修改会影响实参的值。
    总之,子程序和参数是程序设计中非常重要的概念。合理地使用子程序和参数可以提高程序的可读性、可维护性和可扩展性。

教材学习中的问题和解决过程(先问 AI)

问题1:列出计算机问题求解模型的阶段
问题1解决方案:计算机问题求解模型通常包括以下几个阶段:
一、问题定义阶段

  1. 明确问题:清晰地理解问题的本质、目标和约束条件。确定问题的输入和输出要求。
  2. 收集信息:收集与问题相关的背景信息、数据和资源。了解问题所处的领域和相关技术。
    二、分析阶段
  3. 分解问题:将复杂问题分解为较小的子问题,使其更易于管理和解决。
  4. 确定解决方案策略:根据问题的特点和需求,选择合适的解决方案策略,如算法、数据结构等。
  5. 进行可行性分析:评估所选择的解决方案在技术、时间和资源等方面的可行性。
    三、设计阶段
  6. 设计算法:根据分析阶段确定的解决方案策略,设计具体的算法来解决问题。算法应具有正确性、高效性和可读性。
  7. 选择数据结构:根据问题的需求和算法的特点,选择合适的数据结构来存储和处理数据。
  8. 设计程序结构:规划程序的整体结构,包括模块划分、函数接口和控制流程等。
    四、实现阶段
  9. 编写代码:根据设计阶段的结果,使用选定的编程语言编写程序代码。
  10. 进行测试:对编写的代码进行测试,包括单元测试、集成测试和系统测试等,以确保程序的正确性和稳定性。
  11. 调试程序:在测试过程中,发现并修复程序中的错误和缺陷。调试可以使用调试工具和技术,如断点调试、日志记录等。
    五、评估阶段
  12. 评估解决方案:对解决问题的方案进行评估,包括算法的效率、程序的性能、可维护性和可扩展性等方面。
  13. 进行优化:根据评估结果,对解决方案进行优化,以提高程序的质量和性能。
  14. 总结经验:总结解决问题的过程和经验教训,为今后的问题求解提供参考。

基于AI的学习

代码调试中的问题和解决过程

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

其他(感悟、思考等,可选)

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 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

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:XX小时

  • 实际学习时间:XX小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

标签:20241411,删除,2025,元素,链表,节点,2024,插入,子程序
From: https://www.cnblogs.com/wangsiqi828828/p/18538332

相关文章

  • 2024-2025-1 20241325 《计算机程序与设计》第七周学习总结
    2024-2025-120241325《计算机程序与设计》第七周学习总结这个作业属于的课程<2024-2025-1-计算机基础与程序设计](https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP)>这个作业要求在哪里:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07这个作业的目标:这个作......
  • 『模拟赛』NOIP2024(欢乐)加赛3
    Rank真欢乐吗,不过missionaccomplished.A.SakurakoandWaterCF2033B*900byd还懂难易搭配,不过这个b翻译甚至不着重以下主对角线差评,被硬控半个小时,直到手模样例才发觉不对。读懂题就很简单了,最优一定是找最长的对角线每次加,一共只有\(2n-1\)条线,枚举一下求出每条......
  • (2024最新毕设合集)基于SpringBoot的梓锦社区疫苗接种服务系统+42529|可做计算机毕业设
    目 录摘要1绪论1.1选题背景与意义1.2开发现状1.3论文结构与章节安排2 梓锦社区疫苗接种服务系统系统分析2.1可行性分析2.1.1技术可行性分析2.1.2 经济可行性分析2.1.3法律可行性分析2.2系统功能分析2.2.1功能性分析2.2.2非功能性分析2.......
  • # 学期2024-2025-1 学号20241405 《计算机基础与程序设计》第7周学习总结
    作业信息|这个作业属于哪个课程|[2024-2025-1-计算机基础与程序设计]https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP||这个作业要求在哪里|https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07||这个作业的目标|数组与链表基于数组和基于链表实现数据结构||作业......
  • [考试记录] 2024.11.9 noip模拟赛9
    T1星际联邦菠萝算法。不过简化版。考虑从后往前遍历,如果当前的电的联通块大小为\(1\)的话,就把他和前缀最大值或者是前缀最小值连边。如果大于\(1\),那就将联通块里的最小权点和前缀最大值连边即可。#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongcon......
  • CSP-2024游记
    考前把这个看一遍:考场策略应该是,10min解压+读题+建文件夹,先打暴力,别被一道题卡死(!!就比如去年的J组T1)别死磕,别死磕,别死磕尤其早上的J组只有3.5h,一定要注意时间分配。相信自己,心态不要炸,当成正常的模拟赛对待。如果非常慌可以选择深呼吸或者先打自己会的分。下考前5min反复......
  • 2024新生赛开关灯
    1.开干灯,二分法的题。在遥远的巨神峰,居住着许多灯泡精灵。每个精灵都有自己独特的编号,从1到n。在这个王国,所有的灯泡一开始都是亮着的,它们的光芒把整个王国照亮。然而,灯泡精灵们决定进行一场神秘的仪式,每个精灵按以下规则翻转灯光状态。仪式的规则如下:对于每个i=1,2,…,n,......
  • 2024-2025-1(20241321)《计算机基础与程序设计》第七周学习总结
    这个作业属于哪个课程<班级的链接>(2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<了解并学习AI功能,回顾一周课程心得>作业正文...本博客链接https://www.cnblogs.com/guchua......
  • # 20222316 2024-2025-1 《网络与系统攻防技术》实验四实验报告
    一、实验内容1.学习总结1)恶意代码基本概念定义使计算机按照攻击者的意图运行以达到恶意目的的指令集合。指令集合:二进制执行文件,脚本语言代码,宏代码,寄生在文件、启动扇区等的指令流恶意代码目的:技术炫耀/恶作剧,远程控制,窃取私密信息,盗用资源,拒绝服务/......
  • 2024最新AI绘画系统软件(Midjourney)+GPT4文档分析总结,多模态识图理解,AI文生图/图生图/
    一、前言人工智能的快速发展已成为全球关注的焦点,其应用领域广泛,涵盖绘图、语言处理、视频编辑等。前沿技术不仅推动科技创新,还在艺术创作、内容生产和商业实践等方面展示出巨大潜力。例如,AI语言模型显著提升了内容自动生成、智能客服和文本翻译的效率及用户体验;AI绘图技术为......