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

news/2024/11/15 0:11:18/文章来源:https://www.cnblogs.com/mlq061015/p/18537359

作业信息

这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计
这个作业要求在哪里 2024-2025-1计算机基础与程序设计第七周作业
这个作业的目标
作业正文 2024-2025-1学号20241309《计算机基础与程序设计》第七周学习总结

教材学习内容总结

《计算机科学概论》第八章:

抽象数据类型

  • 概念:是对数据的一种抽象,它定义了数据类型的数据和操作,将数据的存储和操作细节封装起来,用户只需关心操作的功能和接口。

数组与链表

  • 数组:是一种连续存储的数据结构,具有固定大小,元素在内存中连续排列。通过索引可以快速访问元素,但插入和删除操作可能比较复杂,因为需要移动大量元素(尤其是在数组中间插入或删除)。例如,若要在一个已排序的数组中插入一个新元素,可能需要将插入位置之后的所有元素向后移动一位。
  • 链表:由一系列节点组成,每个节点包含数据和指向下一个节点的指针。链表的大小可以动态变化,插入和删除操作相对容易,只需修改相关节点的指针即可。但查找元素通常需要遍历链表,时间复杂度较高。

基于数组与链表实现数据结构

  • 基于数组实现:可以用于实现栈、队列等数据结构。例如,栈可以用数组来实现,通过一个指针指向栈顶元素,入栈和出栈操作可以通过修改指针和相应的数组元素来完成。
  • 基于链表实现:同样可用于实现栈、队列,而且在实现更复杂的数据结构如树、图时也有广泛应用。例如,二叉树可以用链表来表示,每个节点包含数据、左子节点指针和右子节点指针。

无序表与有序表

  • 无序表:数据元素没有特定顺序,在实现上可以使用数组或链表。插入操作相对简单,只需将元素添加到合适位置(如链表末尾或数组的下一个可用位置)。查找和删除操作可能需要遍历整个列表。
  • 有序表:数据元素按照特定的顺序(如升序或降序)排列。插入操作需要在合适的位置插入元素以保持顺序,可能涉及到元素的移动(数组情况)或指针修改(链表情况)。查找操作可以利用顺序性更快地找到目标元素(如二分查找法可用于有序数组)。

  • 定义和结构:树是一种非线性的数据结构,由节点和边组成,有一个根节点,每个节点可以有零个或多个子节点。常见的树结构包括二叉树(每个节点最多有两个子节点)等。可以使用链表来实现树结构,每个节点包含数据和指向子节点的指针。
  • 遍历方式:包括前序遍历、中序遍历、后序遍历等,这些遍历方法在算法实现和数据处理中有重要应用。

  • 概念和组成:图是由顶点和边组成的更复杂的数据结构,边可以表示顶点之间的关系。图可以用于表示网络、地图等多种现实场景。图的存储方式有邻接矩阵(使用二维数组)和邻接表(基于链表)等,邻接表对于稀疏图更节省空间。
  • 图的遍历:有深度优先搜索和广度优先搜索等算法,用于访问图中的顶点和边。

子程序与参数

  • 子程序:是一个独立的程序模块,可以被其他程序调用。它提高了代码的复用性和可维护性。例如,在实现数据结构的操作时,可以将插入、删除等操作封装成子程序。
  • 参数:是子程序与调用它的程序之间传递信息的方式。参数可以是值传递(将实际参数的值复制给形式参数)或引用传递(形式参数是实际参数的引用,对形式参数的修改会影响实际参数),正确使用参数可以实现更灵活的程序设计和数据处理。

《C语言程序设计》第六章:

循环的概念

循环是一种重要的程序控制结构,用于重复执行一段代码,直到满足特定条件为止。在C语言中,主要的循环结构有while循环、do - while循环和for循环。

while循环

  • 语法结构: while(表达式)  { 循环体语句; }。先判断表达式的值,若表达式的值为真(非0),则执行循环体中的语句,然后再次判断表达式的值,如此反复,直到表达式的值为假(0)时,结束循环。例如,通过 while(i < 10) 可以实现当变量 i 小于10时不断执行循环体内的操作。
  • 注意事项:要确保循环条件最终能够变为假,否则会造成死循环。循环体中可能需要修改循环控制变量,以促使循环结束。

do - while循环

  • 语法结构: do  { 循环体语句; }  while(表达式); 。先执行一次循环体语句,然后再判断表达式的值,若表达式的值为真(非0),则继续执行循环体,直到表达式的值为假(0)为止。与while循环的区别在于,do - while循环至少会执行一次循环体。例如,用于需要先执行一次操作再根据条件判断是否继续的场景。
  • 使用场景:适用于那些不管条件是否满足,都需要先执行一次的循环操作。

for循环

  • 语法结构: for(表达式1; 表达式2; 表达式3)  { 循环体语句; }。其中表达式1通常用于初始化循环控制变量,表达式2是循环条件判断,表达式3用于修改循环控制变量。例如 for(int i = 0; i < 10; i++) ,初始化 i 为0,当 i 小于10时执行循环体,每次循环 i 自增1。
  • 优势和特点:for循环结构紧凑、清晰,将初始化、条件判断和变量更新集中在一起,方便控制循环流程,在已知循环次数的情况下使用尤为便捷。

循环嵌套

  • 一个循环体内可以包含另一个完整的循环结构,形成多层嵌套。例如,在二维数组的遍历中,可以使用双层for循环,外层循环控制行,内层循环控制列。
  • 注意内层循环和外层循环的控制变量要相互独立,避免相互干扰,并且要正确设置每层循环的条件和终止条件。

几种循环的比较与选择

  • while循环和for循环都是先判断条件再执行循环体,do - while循环是先执行一次再判断条件。
  • 如果知道循环的次数,通常使用for循环;如果循环次数不确定,需要根据某个条件来判断是否继续循环,while循环和do - while循环更合适,具体使用do - while还是while取决于是否需要先执行一次循环体内容。

循环中的跳转语句

  • break语句:用于跳出当前所在的循环结构,无论是while、do - while还是for循环。当满足某个特定条件时,使用break可以提前结束循环,例如在搜索某个元素时,找到后就可以使用break跳出循环。
  • continue语句:用于跳过本次循环体中剩余的语句,直接进入下一次循环的条件判断。例如在循环中,对于某些不符合特定条件的情况,可以使用continue跳过后续操作,直接开始下一轮循环。

基于AI的学习


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/829553.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

八、Spring Boot集成Spring Security之前后分离认证最佳实现对接测试

本文介绍前后分离认证最佳实现的对接测试,使用postman或者其他熟悉的测试工具,配合最佳流程介绍和实现效果更佳!!!前言 本文介绍前后分离认证最佳实现的对接测试,使用postman或者其他熟悉的测试工具,配合以下内容观看效果更佳!!!什么是前后分离认证流程最佳方案,为什…

考研打卡

开局(12) 开始时间 2024-11-09 20:49:42 结束时间 2024-11-09 22:43:03睡了一整天,好难受数据结构已知有向图G=(V,E),其中V={a,b,c,d,e,f,g}, E={<a,b>,<a,c>,<a,d>,<b,e>,<c,e>,<c,f>,<d,f>,<e,g>…

【算法】状态压缩DP

基本内容入门例子 USACO06NOV] Corn Fields G - 洛谷 | 计算机科学教育新生态题目简述:在一个\(N\times M\)的玉米田中种玉米,有一些坏掉的土地是不能种玉米的,另外相邻的两个田也不可以种,一共有多少种种植方案(荒地也算一种),如图所示,由于相邻的土地不能种植,此时…

ExtentReport报告配置

添加依赖<dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>6.10</version></dependency><dependency><groupId>com.relevantcodes</groupId><artifactId>extentre…

教资成绩出来了,果然没有全过

教师资格证考试成绩出来了,有一科没有过, 出乎我的意料,我以为全军覆没了。马上38了,自己也算大龄程序员了。所以今年开始就一直在考虑退路了。 思来想去,关注到了信奥这个赛道。4月份公众号开始发信奥相关的文章,也在教资报名的时候去报了个名,想着有个教资证书,也能给…

Toyota Programming Contest 2024#11(AtCoder Beginner Contest 379)题解

Toyota Programming Contest 2024#11(AtCoder Beginner Contest 379)题解 总体情况A - Cyclic 题意 给你一个三位整数 \(N\) ,其中每个数字都是介于 \(1\) 和 \(9\) 之间的整数。 设 \(a\) , \(b\) , \(c\) 分别是 \(N\) 的百位、十位和个位数。打印一个按此顺序排列 \(b\) …

了解python

Python前世今生 Python 是由荷兰数学与计算机科学研究中心的吉多.范罗苏姆(Guido von Rossum)于1990年代初设计,作为对ABC语言的替代品。1989年圣诞节Guido开始编写Python语言的编辑器。2008年12月Python3.0发布。 优点 简单易学:Python在编程语言中比较适合新手学习,是一种…

rocky 安装gnome extension

rocky 9,没有任务栏,不好看,而且也不好用,每次切换应用都需要从左上角的 activity 处进入1. 首先需要安装 gnome.Extensions 可以通过 sudo yum install gnome-tweaks ,但是我试了,这个里面没有我想要配置的,可能需要更新新版本 2. 更新版本 需要安装 flatapk,参考 htt…

CSS Grid 布局

HTML:<body><div class="headTitle">常用的Grid布局</div><div class="layout"> <div class="box box1">box方块</div> <div class="box">box方块</div> <div class=&qu…

AT_abc379_g

-1过于一眼的轮廓线 dp。 兼纪念 abc 首场无伤 AK。 首先我们可以经过缜密的计算的得到矩形的宽不超过 \(14\)。然后现在你有 \(4\) 个数(边界视作 \(0\))。 不难想到 \(4\) 进制状压轮廓线 dp。轮廓线 dp 状压 dp 的一种,轮廓线是分隔已处理部分与未处理部分的线。 在本题中…

【Stata 18软件下载与安装教程 含密钥】

1、安装包Stata 18: 链接:https://pan.quark.cn/s/a34fb60dbe77 提取码:av8q 2、安装教程 1) 双击解压包内Setup.exe安装,弹窗安装对话框2) 点击下一步3) 选择I accept ,点击下一步4) 输入用户名,任意输入,点击Next5) 选择StataMP,点…

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

学期(如2024-2025-1) 学号(如:20241403) 《计算机基础与程序设计》第7周学习总结 作业信息这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个…