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

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

时间:2024-11-09 22:57:09浏览次数:1  
标签:链表 循环体 学号 2024 2025 while 循环 节点 表达式

作业信息

这个作业属于哪个课程 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的学习


标签:链表,循环体,学号,2024,2025,while,循环,节点,表达式
From: https://www.cnblogs.com/mlq061015/p/18537359

相关文章

  • 2024-11-9 栈的应用--括号匹配问题
    一、括号匹配问题(最后出现的左括号最先被匹配,每出现一个右括号就会消耗一个左括号)二、算法演示1.遇到左括号就入栈,遇到右括号就“消耗”一个左括号。(判断括号是否匹配,不匹配就失败。右括号存在,栈空,则也失败。若左括号有剩余,则也失败。)2.算法实现 初始化栈,扫描到左括号,就......
  • Toyota Programming Contest 2024#11(AtCoder Beginner Contest 379)题解
    总体情况A-Cyclic题意给你一个三位整数\(N\),其中每个数字都是介于\(1\)和\(9\)之间的整数。设\(a\),\(b\),\(c\)分别是\(N\)的百位、十位和个位数。打印一个按此顺序排列\(b\),\(c\),\(a\)所组成的整数,以及一个按此顺序排列\(c\),\(a\),\(b\)所组成......
  • 国内 ChatGPT中文版镜像网站整理合集(2024/11/10)
    一、GPT中文镜像网站① www.yixiaai.com 支持GPT4、4o以及o1,支持通用全模型② chat.lify.vip 支持GPT3.5/4,4o以及AI绘画,支持AI文件、AI插件、AI绘画、AIPPT③ AIPlus支持GPT3.5/4,4o以及AI绘画1.什么是镜像站镜像站(MirrorSite)是指通过复制原始网站内容和结构,创......
  • 计算机专业的未来: 2025年,你该如何选择?
    计算机专业的未来:2025年,你该如何选择?在即将到来的2025年,关于计算机专业的选择变得愈发复杂。这个领域吸引了无数年轻人的目光,但你是否真的知道选择计算机专业的月光与阴影?本文将深入探讨计算机专业的现状、斯坦福大学的计算机科学分析,以及国有企业的就业前景,帮助你做出明......
  • 2024CSP_S2游记
    markdown和Latex就不修了,太麻烦了,将就看吧从S1到S2今年NFLSHC初三10个复赛,于是还给了初一和六年级8个,去年初三只有4个,进步了由于去年J组320应该够了,所以今年没考J,不去浪费J组国一名额,攒功德2024.9.23上午做操排队时被人踩了,由于自带的脆皮属性导致骨折,悲剧,带伤集训+出战CSP-S......
  • 2024-2025-1 20241403 《计算机基础与程序设计》第七周学习总结
    学期(如2024-2025-1)学号(如:20241403)《计算机基础与程序设计》第7周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标数组与......
  • 『模拟赛』多校A层冲刺NOIP2024模拟赛20
    RankmissionfailedA.星际联邦由于急着想切题,上来没细看就打了个树状数组上去,果然寄了,然后又各种方式优化,最终还是寄了,只有50pts。正解是学最小生成树时直接跳过的prim和菠萝,但是偏不这么做,而是找性质得出严格\(\mathcal{O(n)}\)的做法。首先比较平凡发现一个点的最......
  • 2024-2025-1 20241319 《计算机基础与程序设计》第七周学习总结
    作业信息这个作业属于哪个课程2024-2025-1-计算机基础与程序设计这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07这个作业的目标数组与链表基于数组和基于链表实现数据结构无序表与有序表树图子程序与参数作业正文https://www.c......
  • 2024-2025-1 20241307《计算机基础与程序设计》第七周学习总结
    作业信息这个作业属于哪个课程(2024-2025-1-计算机基础与程序设计)这个作业要求在哪里(2024-2025-1计算机基础与程序设计第七周作业)这个作业的目标作业正文(2024-2025-1学号20241307《计算机基础与程序设计》第七周学习总结)教材学习内容总结《计算机科学概......
  • 网鼎杯2024 MISC04
    网鼎杯2024MISC04新知识:peano曲线下载文件是一个看起来特别无序的图片应该是经过了某种算法,但是我并没有见过,所以是看了wp是一种图像加密算法,需要把这个红线还原重组成二维码,搜索一个是这个Peano曲线fromPILimportImagefromtqdmimporttqdmdefpeano(n):ifn==......