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

发布时间 2023-11-09 19:43:52作者: 林子雯

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

作业信息

这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP
这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK07
这个作业的目标 自学《计算机科学概论》第八章,《C语言程序设计》第六章并完成云班课测试
作业正文 https://www.cnblogs.com/linziwen/p/17818076.html

教材学习内容总结

《计算机科学概论》第八章:抽象数据类型与子程序

  1. 抽象数据类型(ADT)

概念:属性(数据和操作)明确地与特定实现分离的容器。

观察数据的方面:应用(用户)层、逻辑层(数据值、操作)、实现层(存放数据项的结构、编码)(数据域、子程序);

特点:后进先出(LIFO),即删除的项总是在栈中时间最短的项目。

操作名称:插入(推进Push),删除(弹出Pop)。

没有长度属性,只需确定栈是否为空。

队列

特点:先进先出(FIFO),即删除的总是在队列中时间最长的项目。

操作名称:插入(Enque,Enqueue,Enq,Enter,Insert),删除(Deque,Dequeue,Deq,Delete,Remove);

列表

属性特征:项目是同构的,线性的,列表是变长的。

操作:插入(Insert),删除(Delete),检索是否存在(Isthere),报告列表中项目数量(GetLength),查看每一项(Reset,GetNext,Moreitems);

区别:数组是内嵌结构,列表是抽象结构。列表应用于数组中。

  • 链式结构:将数据项和找到下一项位置的信息保存到同一容器的实现方法。

一个节点由用户的数据和指向列表的下一个节点的链接或指针构成。最后一个节点的指针变量存放的是表示列表结束的符号(null)。

  • 二叉树

每个节点有两个以内的后继节点(子女),起始节点叫做<根>,没有子女的节点叫做<树叶>。

——>二叉检索树:

搜索,构造(按插入的先后顺序创建),输出(左子女->根->右子女,递归),节点数。

概念:由节点和把节点连接起来的边构成的数据结构。

无向图与有向图;邻顶点;

创建图:顶点、边、权值;

图算法:

  • 深度优先搜索:利用栈从一个顶点不断向下走直到到达目的地,只有在无路可走的时候才会向上一个节点进行回溯;

  • 广度优先搜索:利用队列,将所有可能的节点列出,尽可能用最少的停顿到达目的地;

  • 单源最短路搜索:使权值相加最少。

  1. 子程序
  • 参数传递;

参数列表:子程序要使用的标识符或值的列表;形参(定义)与实参(调用)。

替代机制:列表,相对位置。位置形参;

  • 值参(传递副本),引用参数(传递地址,会改变原来的值);

有返回值、无返回值。

《C语言程序设计》第六章:循环控制结构

  1. 循环控制结构:

    三种循环语句:while,do-while,for;

    计数控制的循环:一般用for语句;

    条件控制的循环:while与do-while的区别;(补充:scanf的返回值;

    嵌套循环:一个循环体在另一个循环体中。

  2. 流程的转移控制

    goto->跳转到语句标号所标识的语句;(慎用)

    break->跳出该层循环;

    continue->跳出本次循环;

    适合用goto的情况:需要快速跳出多重循环;跳向共同的出口位置,进行退出前的错误处理工作。(一般是往后面的语句跳)

    穷举法;

  3. 结构化程序设计

    特性:只有一个入口和一个出口;无不可达语句;无死循环;

    补充:程序调试的注意与方法;类型溢出的情况。

基于AI的学习



学习进度条

重要成长 代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积)
目标 5000行 30篇 400小时
第一周 0 1/2 12/12
第二周 20 1/3 12/24
第三周 30 1/4 12/36
第四周 80 1/5 24/60
第五周 120 1/6 30/90
第六周 200 1/7 30/120
第七周 280 1/8 20/140