2021-2022-1 20211308《信息安全专业导论》第七周学习总结

2021-2022-1 20211308《信息安全专业导论》第七周学习总结

作业信息

|作业属于哪个课程|
信息安全专业导论
|作业要求链接|
第七周作业
|作业正文|
实现进制转换伪代码
斐波那契数列递归实现
求最大公约数伪代码
本文链接
|作业目标|

  • 数组与链表
  • 基于数组和基于链表实现数据结构
  • 无序表和有序表
  • 子程序与参数

教材内容总结

  • 数组
    数组是同构项目的有名集合,可以通过索引来访问单个项目在集合中的位置,采用0开始到9结束的方式。
    如果数组被定义为numbers,可以通过表达式numbers[position]来访问
    下面是像数组中加入值的算法
interger numbers[10]
Write "Enter 10 interger numbers, one per line"
Set position to 0
While(position <10)
  Read in numbers[position]
  Set position to position + 1
  • 可以对数组进行搜索、排序、处理
    • 搜索:寻找数组中的项,可以是特定的数值
    • 排序:按照顺序将元素放进数组
    • 处理:包含对数组中的项所做的所有其他计算
  • 数据结构
    一种抽象数据类型中的复合数据域的实现
  • 容器
    存放和操作其他对象的对象

  • “后进先出”:可以在第一个位置插入元素,也可以删除第一个元素
    可以类比为餐具架,插入的操作叫做Push,删除操作叫做Pop,而我们需要确定栈是否为空,否则会出现错误
  • 队列
    “先进先出”插入位置在队末进行,删除操作在队列头部进行。
  • 列表
    三个属性
    • 项目是同构的
    • 项目是线性的
    • 列表是变长的
      列表也可以被形象化为链式结构
  • 链式结构
    一种将数据项和找到下一项位置的信息保存到同一容器的实现方法
  • 无序列表
    不注重顺序,项目只是随意地被放入其中。
  • 有序列表
    项目之间具有语义的关系,除了第一个项目之外的所有项目都存在某种排序关系,除了最后一个项目,所有的项目都有相同的关系。

  • 之前所描述的列表、栈、队列都是线性关系,只模拟了一种数据关系,而更加具体的更加复杂的关系可以用树来描述
    就类似树状图,我们在计算领域,所说的通常是二叉树
    树的头部是一个起始点,叫做根
    没有”子女“的树节点称为叶节点
  • 在二叉检索树中搜索
    首先比较根节点,如果大于一定在于右子树中,继续比较直到找到匹配的值

  • 刚才提到树是表示存在层次关系的一种有效方式,也就是说一个节点至多只有一个指向他的节点,如果去掉这种约束,就得到了另外一种数据结构--图,图中的节点叫做顶点、图中的线段叫做边。
    • 有向图
    • 无向图
  • 图的三种经典搜索算法
    • 深度优先搜索
      首先用深度优先搜索来搜索第一个与起点相邻的顶点,如果他是终点则结束、否则检查所有与第一个顶点相邻的顶点
    • 广度优先搜索
      在广度优先搜索中,我们想要回溯到尽可能远,因此栈不再是一个适合寻找较早路径的数据结构,它是按照元素出现的相反顺序来保存元素,即最晚的路径在顶部
      ,因此不再使用栈,而是使用队列,就可以解决这个问题
    • 单源最短路搜索
      是一个数学问题,书上讲的不是很详细
      https://blog.csdn.net/fuckguidao/article/details/79053877
      附上一篇博客链接,看完这篇博客,我还是深受启发。
  • 子程序
    如何在算法和子算法之间传递信息,在讨论语言的构造时,我们常用子程序来介绍。
    比如
Set x to m*sin(t)
Set y to abs(z)
sin()和abs()都是有返回的子程序
  • 参数
    • 形参:列在子程序名后的括号中的标识符
    • 实参:子程序在调用中列在括号中的标识符
  • 值参:由调用单元传入实参的副本
  • 引用参数:由调用单元传入实参的地址的实参

python学习













上周错题总结

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 20/40
第三周 500/1000 3/7 20/60
第四周 300/1300 5/12 25/85
第五周 150/1450 3/15 20/105
第六周 150/1600 3/18 15/120
第七周 400/2000 4/22 20/140

感悟

这周集中学习了一下python,对python的语法进行了熟悉,准备在接下来的学习中去运用代码,继续加油。

posted @ 2021-11-06 14:51  20211308wjc  阅读(30)  评论(0编辑  收藏  举报