学期2021-2022- 学号20211412 《信息安全专业导论》第六周学习总结

作业信息

这个作业属于哪个课程 <班级的链接> https://edu.cnblogs.com/campus/besti/2021-2022-1fois/)
这个作业要求在哪里 <作业要求的链接>(如[2020-2021-1信息安全专业导论第六周作业]https://www.cnblogs.com/rocedu/p/9577842.html#WEEK06)
这个作业的目标 <写上具体方面>
Polya如何解决问题
简单类型与组合类型
复合数据结构
查找与排序算法
算法复杂度
递归
代码安全
学习资源
教材
阅读 「反作弊」:任何时候发现同学们有抄袭作业,抄袭代码的情况,即时课程总成绩清零
学习任务
加入云班课,参考本周学习资源

自学教材

计算机科学概论第7章 并完成云班课测试
《看漫画学Python》第6,7章并完成云班课测试
|作业正文|... 本博客链接 |

教材学习内容总结

第七章:问题求解与算法设计
解决问题通常分为四个步骤:
理解问题--设计方案--执行方案--回顾
分治法:与抽象的概念类似,将大问题划分为小问题
方法总结:分析问题--列出主要任务--编写其余的模块--根据需要进行重组和改写
算法:
带有选择的算法:采用if else if else 语句
带有循环的算法:采用while等循环
事件控制循环:结合if与while语句
搜索算法:
顺序搜索:当查找完所有元素后停止或者发现了元素后停止
二分检索:适用于有序数列,从中间开始,判断要搜索的项目与其大小关系后分隔,类似数学中的零点估计。
排序:
选择排序:需要两个完整列表的空间,费空间
冒泡排序:比较相邻的元素对,如果下面小于上面的元素,则交换两个元素的位置。
递归算法:在一个算法中使用它自己
重要思想:信息隐蔽,抽象,事物命名,测试
python第六章、第七章
1.字符串中元素的序列,两种表达方式,从左往右0开始,从右往左-1开始
2.列表:创建列表,追加元素
3.元组:不可变序列类型
4.集合:可迭代,无序,不重复
5.字符串,字符串的转化,格式化字符串

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

Q:快速排序算法的优势?它和冒泡排序的关系?
A:快速排序(Quicksort)是对冒泡排序的一种改进。

快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
我们假设算法Quick_Sort的范围阈值为1(即一直将线性表分解到只剩一个元素),这对该算法复杂性的分析没有本质的影响。

我们先分析函数partition的性能,该函数对于确定的输入复杂性是确定的。观察该函数,我们发现,对于有n个元素的确定输入L[p..r],该函数运行时间显然为θ(n)。

最坏情况 无论适用哪一种方法来选择pivot,由于我们不知道各个元素间的相对大小关系(若知道就已经排好序了),所以我们无法确定pivot的选择对划分造成的影响。因此对各种pivot选择法而言,最坏情况和最好情况都是相同的。

我们从直觉上可以判断出最坏情况发生在每次划分过程产生的两个区间分别包含n-1个元素和1个元素的时候(设输入的表有n个元素)
(摘自百度百科)

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

问题一


这与课本上的答案有顺序区别

代码托管

上周考试错题总结

What is a regular OR gate also known as?
A.
Exclusive OR
B.
Inclusive OR
C.
Repetitive OR
D.
Completion OR
E.
Inversion OR
正确答案: B

The following equation is an example of which Boolean algebra property?
A.
Commutative
B.
Associative
C.
Distributive
D.
Identity
E.
Complement
F.
De Morgan's law
正确答案: B
这道题问下面的方程哪一个是布尔代数性质例子?

Which of the following is a computing technique in which multiple processors each contribute one part of an overall computation?
A.
Synchronous processing
B.
Task-level parallelism
C.
Data-level parallelism
D.
SIMD (single instructions, multiple data)
E.
Rotation delay
正确答案: B

其他(感悟、思考等,可选)

这周最经常发生的问题就是关于中英文符号的问题,Python只能识别英文符号而不能识别中文符号,而在输入符号时经常需要按shift键导致输入法改变,从而导致符号改变,程序报错,而且往往很难检查不出来,会很大地干扰思绪,因此在输入符号时一定要确保输入英文符号。

同时还有经常出现的拼写错误,都是由于不认真导致的

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 10/10
第二周 200/400 2/4 12/22
第三周 400/800 3/5 12/34
第四周 400/1200 2/6 14/48
第五周 400/1600 4/10 12/60
第六周 400/2000 3/13 12/72

参考:软件工程软件的估计为什么这么难软件工程 估计方法

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料