首页 > 编程语言 >2024-2025-1-《计算机基础与程序设计》20241313刘鸣宇

2024-2025-1-《计算机基础与程序设计》20241313刘鸣宇

时间:2024-11-09 19:46:22浏览次数:4  
标签:遍历 子程序 2024 2025 抽象数据类型 操作 参数 20241313 节点

作业信息
这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)
这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)
这个作业的目标 <写上具体方面>
作业正文 ... 本博客链接
教材学习内容总结

《计算机基础与科学概论》第八章
1.抽象数据类型:
定义与特点:抽象数据类型是一种将数据的属性(数据和操作)明确地与特定实现分离的容器。每种 ADT 都有其特定的行为,其存在的主要目的是存放其他对象。这意味着用户在使用 ADT 时,只需关注数据的逻辑结构和所支持的操作,而不必关心其具体的实现细节。
与具体数据类型的区别:具体数据类型更侧重于数据的物理存储和实现细节,而抽象数据类型强调数据的逻辑结构和操作,将数据的表示和操作分离开来,提高了代码的模块化程度和可维护性。
常见的抽象数据类型:
2.栈:
特点:是一种后进先出(LIFO,Last In First Out)的数据结构,只允许在栈顶进行插入(入栈,push)和删除(出栈,pop)操作。
应用场景:常用于表达式求值、函数调用等。例如,在函数调用时,函数的调用信息会被压入栈中,当函数执行完毕后,再从栈中弹出,恢复之前的调用状态。
3.队列:
特点:是一种先进先出(FIFO,First In First Out)的数据结构,允许在队尾进行插入操作,在队头进行删除操作。
应用场景:常用于任务调度、广度优先搜索等。比如,操作系统中的任务队列,新的任务在队尾加入,按照进入的先后顺序在队头被执行。
4.列表:
特点:列表中的项目是线性的、同构的且是变长的。列表可以形象化为链式结构,每个节点包含用户的数据和指向下一个节点的链接或指针。需要注意的是,列表不是数组,数组是内嵌结构,而列表是抽象结构。
5.树:
基本概念:树是一种分层结构的数据类型,由节点组成,每个节点有一个父节点和零个或多个子节点。具有唯一起始节点(根节点),根节点和每个节点之间都有且只有一条路径。
二叉树:是一种特殊的树,每个节点最多有两个子节点。
二叉检索树:节点存在语义排序,任何节点的树必须比左子树的数大,比右子树的数小。可用于高效的搜索、插入和删除操作。
其他操作:包括树的遍历(如前序遍历、中序遍历、后序遍历、层序遍历等)。
6.图:
组成:由节点(也称为顶点)和连接节点的线段(边)构成。
类型:可以分为有向图(边具有方向)和无向图(边没有方向)。
算法:常见的图算法有深度优先搜索(DFS,按深度最大进行遍历)、广度优先搜索(BFS,按层级结构一层一层遍历)、单源最短路搜索(如迪杰斯特拉算法,用于寻找图中某一顶点到其他各顶点的最短路径)。
7.子程序:
定义与作用:子程序是一段可重用的代码块,可以接受输入参数并返回结果。它的使用能够避免重复编写相同的代码,提高了代码的复用性,同时也使得程序结构更加清晰和易于管理。
参数传递:包括值参(按值传递参数,即传递参数的副本)和引用参数(按引用传递参数,传递的是参数的地址,对参数的修改会影响到原始数据)等方式。
与子算法的关系:子程序可以实现独立的子算法,通过调用子程序来执行特定的功能。

《C语言程序设计》第六章
第六章主要讲了C语言中的循环控制结构,通过循环来实现重复语句的简单化,以及对go-to ,break ,continue语句的使用与利用

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

学习进度条
代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 3/4 18/38
第三周 500/1000 4/7 22/60
第四周 900/1300 5/9 35/90
第五周 400/1600 5/7 42/120
第六周 500/1800 6/7 50/150
第七周 600/1800 7/8 70/150

标签:遍历,子程序,2024,2025,抽象数据类型,操作,参数,20241313,节点
From: https://www.cnblogs.com/liumingyu123456789/p/18537189

相关文章

  • 2024.11.9组队训练题解记录
    Teleportation鲍勃最近访问了一个奇怪的传送系统。该系统包含\(n\)个房间,编号为\(0\)到\(n-1\)。每个房间都安装了一个传送设备。每个传送设备都有一个看起来像钟表表面的仪表板,上面有一个指针,显示数字\(0\)到\(n-1\),按顺时针顺序排列。最初,第\(i\)个房间的传送设备上......
  • 大二上计组往年卷刷题之简单题部分 202411109
    2020年计组期末卷(非陈家骏班)1.请简述C++程序设计语言的设计理念、演化历程(包括主要的贡献者),并讨论Simula67在其中的作用。C++程序设计语言的设计理念C++的设计理念主要基于以下几个核心原则:高效地使用硬件:C++旨在保持与C语言的兼容性,使得C++代码与C代码运行时具有相似或更......
  • 多校A层冲刺NOIP2024模拟赛20
    简评:新拉的......
  • 2024-2025-1 20241318 《计算机基础与程序设计》第七周学习总结
    这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07这个作业的目标①数组与链表②基于数组和基于链表实现数据结构③无序表与有序表④树⑤图⑥子程序与参数作......
  • 题解:P11248 [GESP202409 七级] 矩阵移动
    笑点解析:这个人所在城市考试当天刮台风了,没考,免费送了一次12月的考试。设计这么一个东西:\(dp_{i,j}\)表示到格子\((i,j)\)的最大分数。本来还好,但现在的问题是,如果这个格子是‘?’,我哪儿知道到底可不可以变啊?万一变得太多了,那,那不就废了!万一少了,那我分不就没了?所以我们......
  • Vue+CSS 炫酷新年特效教程:极光背景+彩带+粒子动画 用 Vue 和 CSS 动画打造 2025 新年
    效果图......
  • [DMY]2024 NOIP 模拟赛 Day 6
    今天状态不太好。赛时T1一看是概率先畏惧三分。拖拖拉拉写完了\(2^n\)的暴力后开始打表找特殊性质的规律。找了一个答案是\(8\over27\)\(=(\frac{2}{3})^3\),其中\(2\over3\)\(=\frac{10}{10+5}\)。然后意识到这个性质的答案是\((\frac{x}{a+x})^{\log_2n}\),快速写......
  • 2024 年 10 个最佳 Linux 服务器发行版
    对于系统管理员和网络工程师来说,选择正确的Linux发行版尤为关键,因为它直接影响到服务器的性能、维护成本及长期使用的稳定性。虽然Linux系统有上百种发行版,但不同的发行版在功能、社区支持、企业级支持等方面有所不同。因此,了解并选择一个适合自己需求的Linux发行版显......
  • 【PS2024】Adobe Photoshop专业图像处理软件下载
    一、软件简介1.什么是AdobePhotoshop?AdobePhotoshop,简称PS,是Adobe公司开发的一款专业图像处理软件。自1988年推出以来,Photoshop凭借其强大的功能、灵活的操作性和广泛的适用性,成为全球最为流行和高效的图像编辑工具之一。Photoshop主要用于图像修整、数字绘画、合成与设计......
  • AMC2024 12A 题目笔记
    题目编号按照AoPS。√√√√√√√××√.×√√√√.√√√.....P6对啦!首先注意到答案应该是一个正的加两个负的。暴力枚举所有合法的三元组,算得\(10-6-1=\boxed{\mathbf{(B)}\3}\)。☆经验:枚举一个数\(n\)的分解\(x\timesy\timesz\)是可以接受的。A......