2021-2022-1 2021401 《信息安全专业导论》第6周学习总结
作业信息
这个作业属于哪个课程 | 2021-2022-1信息安全专业导论 |
---|---|
这个作业要求在哪里 | 2021-2022-1信息安全专业导论第6周作业 |
这个作业的目标 | Polya如何解决问题 简单类型与组合类型 复合数据结构 查找与排序算法 算法复杂度 递归 代码安全 |
作业正文 | 本博客链接 |
教材学习内容总结
如何解决问题
- 理解问题 :必须理解的问题
- 设计方案: 找到数据和未知量之间的的联系
- 执行方案:执行解决方案,检查每个步骤
- 回顾:分析得到的解决方案
提出问题
问题示例:
- 对这个问题我了解多少
- 解决方案是什么样的
- 存在什么特例
- 我如何知道已经找到解决方案了
寻找熟悉的情况
永远不要彻底重新做一件事。如果解决方案已经存在,就用这种方案。
识别相似的情况在计算机领域内是非常有用的。
分治法
把一个大问题划分成几个能解决的小单元。
算法
算法(algorithm):在有限的时间内用有限的数据解决问题或子问题的明确指令集合。
计算机问题求解过程
包括四个阶段:
- 分析和说明阶段
- 算法开发阶段
- 实现阶段
- 维护阶段
方法总结
- 分析问题
- 列出主要任务
- 编写其余的模块
- 根据需要进行重组的改写
测试算法
如果答案正确的,过程就是正确的。
有简单变量的算法
简单的变量是不能被分开的变量
带有选择的算法
带有循环的算法
- 技术控制循环
- 事件控制循环
- 平方根
嵌套结构(nested structure):控制结构嵌入另一个控制结构,又称为嵌套逻辑(nested logic)
复杂变量
数组
记录
搜索算法
有两种搜索
顺序搜索
有序数组中的顺序搜索
二分检索
- 二分检索(binary search):在有序列表中查找项目的操作,通过比较操作排除大部分检索范围
排序
选择排序
冒泡排序
插入排序
递归算法
- 递归(recursion):算法调用它本身的能力。
子程序语句
子程序有两种形式:
- 只执行特定任务的命名代码
- 不仅执行任务,还返回给调用单元一个值(值返回子程序)
递归阶乘
递归二分检索
快速排序
几个重要思想
信息隐蔽
抽象
事物命名
测试
教材学习中的问题和解决过程
- 问题1:不理解递归阶乘是什么
- 问题1解决方案:
代码调试中的问题和解决过程
无
代码托管
上周考试错题总结
无
其他(感悟、思考等,可选)
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
第一周 | 0/0 | 2/2 | 5/5 | |
第二周 | 0/0 | 2/4 | 4/9 | |
第三周 | 0/0 | 1/5 | 4/13 | |
第四周 | 0/0 | 1/6 | 10/23 | |
第五周 | 0/0 | 2/8 | 10/33 | |
第五周 | 0/0 | 1/10 | 10/43 |
-
计划学习时间:4小时
-
实际学习时间:10小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)