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

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

作业信息

|这个作业属于哪个课程|https://edu.cnblogs.com/campus/besti/2021-2022-1fois
|这个作业要求在哪里|https://edu.cnblogs.com/campus/besti/2020-2021-1fois/homework/11249
|作业目标
课本第八章的学习

教材学习内容总结

计算机科学概论第八章的学习

数组与链表

所谓数组,就是相同数据类型的元素按一定顺序排列的集合;数组的存储区间是连续的,占用内存比较大,故空间复杂的很大。但数组的二分查找时间复杂度小,都是O(1);数组的特点是:查询简单,增加和删除困难

数组的优点
随机访问性强,查找速度快,时间复杂度是0(1)
数组的缺点

  • 从头部删除、从头部插入的效率低,时间复杂度是o(n),因为需要相应的向前搬移和向后搬移。

  • 空间利用率不高

  • 内存空间要求高,必须要有足够的连续的内存空间。

  • 数组的空间大小是固定的,不能进行动态扩展。

  • 链表的特点:所谓链表,链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。

无序表与有序表

  • 在大数据时代,如何在海量数据中快速检索到自己想要的数据?首先需要设计高效的数据结构来表示这些数据,要存储的数据一般分为两个部分,键和值,如何根据键值去安排这些数据尤为重要,首先我们想到线性存储,即利用表的形式线性存储,线性查找,即符号表这种数据结构.
  • 符号表线性存储数据,但是根据在插入操作过程中是否保证数据有序分为无序表和有序表:

  • 二叉树:
    根:树的头部二叉树:具有唯一起始节点的抽象复合结构,每个节点有两个子女节点,根节点和每个节点之间都有且只有一条路径
    叶节点:没有子女的树节点。

  • 二叉检索树
    在二叉检索树中搜索:current指向一个节点,info(current)指节点中用户数据。left(current) 指左指数的根节点。
    特点:对于二叉检索树的任意一个结点,设其值为K,则该结点左子树中任意一个结点的值都小于K;该结点右子树中任意一个结点的值都大于或等于K

顶点:节点

  1. 边(弧):两个节点连接的顶点对
  • 图算法广度优先搜索:用队列来访问,尽可能检查与起点相邻的顶点。
  • 深度优先搜索:用栈来访问,没有找到及回溯。且已经访问过的栈点不会再次访问。
  • 单源最短路搜索:权值加在一起最小。搜索最近的顶点,优先队列:被检索的元素是在队列中拥有最高优先度的元素。

树是表示存在层次关系的一种有效方式,也就是说一个节点至多只有一个指向他的节点,如果去掉这种约束,就得到了另外一种数据结构--图,图中的节点叫做顶点、图中的线段叫做边。

* 深度优先搜索
首先用深度优先搜索来搜索第一个与起点相邻的顶点,如果他是终点则结束、否则检查所有与第一个顶点相邻的顶点
* 广度优先搜索
在广度优先搜索中,我们想要回溯到尽可能远,因此栈不再是一个适合寻找较早路径的数据结构,它是按照元素出现的相反顺序来保存元素,即最晚的路径在顶部
,因此不再使用栈,而是使用队列,就可以解决这个问题

子程序与参数

1.参数传递 :参数列表:是子程序要使用的标识符或值得列表。
2.值参与引用参数 值参:由调用单元传入实参的副本的形参 引用参数:由调用单元传入实参的地址的形参

教材学习中的问题和解决过程

问:单源最短路搜索具体是什么意思?
答案:通过博客园和百度的查询了解到这是一个类似数学上的问题
https://www.cnblogs.com/Lorrained/p/15170132.html
https://www.cnblogs.com/Lorrained/p/15170132.html

代码调试中的问题和解决过程

问:斐波那契数列为什么一分钟算不出来
采用形如def fib(n):
return 1 and n <= 2 or fib(n - 1) +fib(n - 2)
print('\n 最终结果为 %d'%(fib(n)))
这样的递归是不行的,
但通过更换算法可以实现,具体原理还需要学习

[代码托管]




上周考试错题总结

感悟

学习是一个举一反三的过程,不需要强记

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 2/2 15/10
第二周 0/100 3/4 6/5
第三周 200/200 5/5 8/10
第四周 700/500 6/6 25/20
第五周 1000/1000 8/8 16/20
第六周 1300/1200 9/9 12/15
第七周 1500/1500 10/10 12/12
posted @ 2021-11-06 16:38  20211309宁心宇  阅读(3)  评论(0编辑  收藏  举报