2021-2022-1 20211410周意凯《信息安全专业导论》第六周学习总结
学习目标
-
- Polya如何解决问题
- 简单类型与组合类型
- 复合数据结构
- 查找与排序算法
- 算法复杂度
- 递归
- 代码安全
教材学习内容总结
计算机科学概论
搜索 :
顺序搜索:一个一个数据对比到对
有序数组二分检索:取中间的值进行比较,大向下小向上,再取比。
排序:
选择排序:
需要两个完整列表的空间
取出第一个,一个一个比,有更小的换出来,比完一边放一个最小值
改进:取出一个数时有一个空位,不要完整列表,就拿一个数据的位置也行,更换时把原书放进更小数的原来位置
冒泡排序:从最后的数据开始向前一项对比,小则向上,大则对前一项进行冒泡
递归:算法调用它本身的能力
分裂算法:
第一个数作为splitVal,左边开始依次比较,选到大的停止,右边开始选到小的停,两数换位,继续向中。左到大数停,右出发重合时停止,分为两部分。交换第一个数和停止左边的数,完成分割且左边最大已排好。两边重复进行直达不可分割。
排序很好,但是没有基础的比较机制,若数据已排好或分割过程中有一部分已经排好也不能停止。
看漫画学python
第六章
列表和元组属于序列,序列元素有序,列表可变,元组不可变。
集合元素是无序的,且不能重复
字典通过键来访问元素,由键(keys)视图和值(values)视图构成,键视图不能包含重复的元素
第七章
格式化字符串: .format() 括号内加参数,可以定义参数名
占位符{},可以有参数序号,序号0被第一个参数替换,也可以用参数名替换
%作占位符时%s是字符串,%i或%d是整数,%f是浮点数,例:‘我是 %s, %d岁‘%(name,age) #定义的格式化字符串内 %前有空格
算法复杂度
算法复杂度是指算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源。
包括时间复杂度和空间复杂度两类
时间复杂度:执行时间和,执行次数由编译成的机器语言执行次数决定吧。
空间复杂度:执行时所需存储空间的度量,包括算法程序、输入的初始数据、执行过程中所需的额外空间
教材学习中的问题和解决过程
代码调试中的问题和解决过程
上周考试错题总结
无
其他(感悟、思考等,可选)
写代码时可以多加注释
学习进度条
|
代码行数(新增/累积) |
博客量(新增/累积) |
学习时间(新增/累积) |
重要成长 |
目标 |
5000行 |
30篇 |
400小时 |
|
第一周 |
0/0 |
2/2 |
15/15 |
|
第二周 |
0/0 |
2/4 |
20/35 |
|
第三周 |
300/300 |
1/5 |
22/57 |
|
第四周 |
500/800 |
2/7 |
23/80 |
|
第五周 |
600/1400 |
3/10 |
16/96 |
|
第六周 |
600/2000 |
3/13 |
16/112 |