2021-2022-1 20211322 《信息安全专业导论》第7周学习总结
2021-2022-1 20211322 《信息安全专业导论》第7周学习总结
作业信息
| 这个作业属于哪个课程 | <班级的链接>[2020-2021-1信息安全专业导论](https://edu.cnblogs.com/campus/besti/2020-2021-1fois) |
|---|---|
| 这个作业要求在哪里 | <作业要求的链接>2020-2021-1信息安全专业导论第7周作业 |
| 这个作业的目标 | <作业目标>作业目标 |
| 这个作业属于哪个课程 | <班级的链接>2020-2021-1信息安全专业导论) |
教材学习内容总结
计算机科学概论
- 数组与链表
- 所谓数组,就是相同数据类型的元素按一定顺序排列的集合;数组的存储区间是连续的,占用内存比较大,故空间复杂的很大。但数组的二分查找时间复杂度小,都是O(1);数组的特点是:查询简单,增加和删除困难
- 数组的优点:
随机访问性强,查找速度快,时间复杂度是0(1)
- 数组的缺点
3.1 从头部删除、从头部插入的效率低,时间复杂度是o(n),因为需要相应的向前搬移和向后搬移。
3.2 空间利用率不高
3.3 内存空间要求高,必须要有足够的连续的内存空间。
3.4 数组的空间大小是固定的,不能进行动态扩展。
4.链表的特点:所谓链表,链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。

- 无序表与有序表
- 在大数据时代,如何在海量数据中快速检索到自己想要的数据?首先需要设计高效的数据结构来表示这些数据,要存储的数据一般分为两个部分,键和值,如何根据键值去安排这些数据尤为重要,首先我们想到线性存储,即利用表的形式线性存储,线性查找,即符号表这种数据结构.
- 符号表线性存储数据,但是根据在插入操作过程中是否保证数据有序分为无序表和有序表:
- 无序列表用
- 自定义列表使用标签
- 树
1.二叉树: 根:树的头部
二叉树:具有唯一起始节点的抽象复合结构,每个节点有两个子女节点,根节点和每个节点之间都有且只有一条路径
叶节点:没有子女的树节点。
2.二叉检索树
在二叉检索树中搜索:current指向一个节点,info(current)指节点中用户数据。left(current) 指左指数的根节点。
特点:对于二叉检索树的任意一个结点,设其值为K,则该结点左子树中任意一个结点的值都小于K;该结点右子树中任意一个结点的值都大于或等于K
顶点:节点
2. 边(弧):两个节点连接的顶点对
图算法:1.广度优先搜索:用队列来访问,尽可能检查与起点相邻的顶点。
2.深度优先搜索:用栈来访问,没有找到及回溯。且已经访问过的栈点不会再次访问。
3.单源最短路搜索:权值加在一起最小。搜索最近的顶点,优先队列:被检索的元素是在队列中拥有最高优先度的元素。
- 子程序与参数
1.参数传递 :参数列表:是子程序要使用的标识符或值得列表。
2.值参与引用参数 值参:由调用单元传入实参的副本的形参 引用参数:由调用单元传入实参的地址的形参
看漫画学python
第八章函数
什么是函数:一系类python语句的组合 可以在程序中运行一次或者多次
一般是要完成具体的独立功能
为什么要使用函数:
代码的复用最大化以及最小化剩余代码 ,整体代码结构更加清晰
1.函数的定义
def 函数名(括号里边是参数列表,参数可以是0个或者N个,也可以是给参数赋值默认值)
函数体【一系列的python 语句,表示独立的功能】
return 返回值(可以省略)
2.函数的调用
本质上就是去执行函数定义里面的代码块,在调用函数之前,必须要先定义 调用的时候一定要在函数名后面加上()
3.参数的默认值
def sum1(a=12,b=12):
return 'a的值是{},b的值是{}'.format(a,b)
print(sum1())
print(sum1(123,13))
4.可变参数
可变参数在函数中被组装成元组或者字典
- 基于元组的可变参数(*可变参数)
def sum1(*nmubers):
total=0.0
for number in numbers:
total+=number
return total
print(sum(12,31,41))
- 基于字典的可变参数(**可变参数)
def babab(**zidian):
print(zidian)
pass
babab(name='pepter',age=311)
-
全局变量与模块变量
变量可以在函数中创建,在默认情况下作用域是整个函数,被称为局部变量
可通过···global x ··· 将局部变量升级为全局变量 -
函数类型:
1.python中任意一个函数都有数据类型,这种数据类型是function,被称为 函数类型
def add(a,b):
return a+b
def sub(a,b)
return a-b
def clac(opr):
if opr='+':
return add
else:
return sub
f1=clac('+') #实际上f1被赋值成为了一个add函数
f2=clac('-')
print(type(f1()))
print(f1(10,5))
print(f2(10,5))
- lamdba函数:没有名称的函数
lamdba 参数列表:lamdba体
注意:lamdba函数只有一条语句,不需要用return返回
可用lamdba函数改编上面的函数
def calc(opr):
if opr='+':
return lambda a,b:(a+b)
else:
return lambda a,b:(a-b)
f1=calc('+')
f2=calc('-')
print(f1(123,414))
第十一章







教材学习中的问题和解决过程
问题:我看到教材中的lambda函数不知道怎样去运用它
解决方法:将lambda函数体进行赋值
f2=lambda a,b:(a**b)
print(f2(3,5))
代码调试中的问题和解决过程
问题:计算水仙花数时不知到四位数的水仙花数如何计算
解决方法:查找资料,四位数的水仙花是四叶草数

上周考试错题总结
1.Which of the following is part of a Pep/9 program instruction?
A. Accumulator
B. Simulator
C. Program counter
D. Specifier
E. Register
选D.标识符
2.The Pep/9 system includes a simulator that can be used to input and run programs.
Pep/9系统包括一个模拟器,可用于输入和运行程序。
是正确的
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 200/200 | 2/2 | 20/20 | |
| 第二周 | 300/500 | 2/4 | 18/38 | |
| 第三周 | 500/1000 | 3/7 | 22/60 | |
| 第四周 | 300/1300 | 2/9 | 30/90 | |
| 第五周 | 212、1531 | 2/11 | 21/121 | |
| 第六周 | ||||
| 第七周 | 123/1654 | 2/13 | 21/142 |
浙公网安备 33010602011771号