2020-2021-1信息安全专业导论第6周作业
作业信息
这个作业属于哪个课程 | 2020-2021-1信息安全专业导论 |
---|---|
这个作业要求在哪里 | 2020-2021-1信息安全专业导论第6周作业 |
这个作业的目标 | Polya如何解决问题,简单类型与组合类型,复合数据结构,查找与排序算法,算法复杂度,递归,代码安全 |
作业正文 | https://i.cnblogs.com/posts/edit |
教材学习内容总结
-
第一步:你必须弄清问题。
1.已知是什么?未知是什么?要确定未知数,条件是否充分?
2.画张图,将已知标上。
3.引入适当的符号。
4.把条件的各个部分分开。
第二步:找出已知与未知的联系。
1.你能否转化成一个相似的、熟悉的问题?
2.你能否用自己的语言重新叙述这个问题?
3.回到定义去。
4.你能否解决问题的一部分?
5.你是否利用了所有的条件?
第三步:写出你的想法。
1.勇敢地写出你的方法。
2.你能否说出你所写的每一步的理由?
第四步:回顾。
1.你能否一眼就看出结论?
2.你能否用别的方法导出这个结论?
3.你能否把这个题目或这种方法用于解决其他的问题? -
在内存中存储的数据可以有多种类型。例如: -个人的姓名可以用字符型存储,年龄可以使用数值型存储,婚姻状况可以使用布尔型存储。这里的字符型、数值型、 布尔型都是Python语言中提供的基本数据类型。
-
字符串
- 字符串表示一个可以变长的字符数组,是一种重要的数据结构。原因有二,第一,文本在计算机应用中有不可替代的作用,而文本直接对应字符串;第二,计算机可以高效地读取字节,而字节对应着字符(字符通过编码表和二进制字节对应)。C语言中的字符串是基于字符数组的,结尾用“\0”表示终结。
- 关于字符串的操作,被封装为库函数<string.h>。基本操作有计算长度,复制,比较,前缀比较,追加等等。
-
二维数组:有一维数组和间接引用两种方式
- 行主序的一维数组和二维数组有简单和互换关系,间接引用通过指针数组连接自身对应的一维数组,好处是增加了内存分配的灵活性,可以构建无规则多维数组且不浪费内存资源。
- 图的表示可以分为邻接矩阵和邻接表。邻接矩阵适合稠密图,空间紧凑,查找快;邻接表适合稀疏图,内存分配灵活,遍历效率更高,体现了复合数据结构的优势。
-
利用复合数据结构提高算法效率:当算法需要嵌套遍历N多次时,时间复杂度就呈幂指数上升,通过设计合适的数据存储结构,可以优化遍历需要的时间。本质上还是以空间换时间,特殊化的数据结构必然浪费了一些空间资源,没有连续存储来的节约空间,但是相比提高的时间效率来说,这种设计是必须的,必要的,也是复合数据结构存在的意义。
-
通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌握基本的算法时间复杂度分析方法是很有必要的。
-
常用算法的时间复杂度和空间复杂度
-
循环是有去无回,而递归则是有去有回(因为存在终止条件)。
-
Gitee如何实现代码安全
-
- 严格限制访问服务器的权限范围Gitee 内部只有 4 个人有访问服务器的权限——总负责人、运维负责人和两名资深开发工程师。其中,仓库存储系统和备份系统仅总负责人和运维负责人有访问权限,运维系统只允许运维负责人访问。权限界定清晰,且不同系统账号密码不同。
-
- 所有操作留痕,一切有据可查每个登录到服务器上的工作人员使用独立的账号,任何操作记录(包括登录记录)都会被记录,并传输到运维系统中存放,无法更改或抹除。一旦发现问题,即可迅速定位。同时,Gitee 会定期对服务器操作日志进行审计,确保不出现违规操作。
-
- 全自动化更新,将人工操作降到最低Gitee 产品迭代快速,几乎每天都会需要更新版本,这个操作是由 Ansible 自动化完成,不需登录服务器即可完成。也就是说,权限人也极少需要登录服务器操作,极大地降低了风险。另外,Gitee 已经通过了 IS0/IEC 27001:2013 信息安全管理体系认证及 ISO9001:2015 质量管理体系认证。Gitee 拥有高规格的信息安全体系,能够在实操过程中确保用户信息安全及系统的高稳定性。这三个关卡,保障了 Gitee 八年如一日的稳定性,做到了上线以来数据零丢失。
-
教材学习中的问题和解决过程
- 问题:简单类型就是基本类型吗?
- 解决过程:上网查找相关资料,资料显示Java中的简单类型就是基本类型。
代码调试中的问题和解决过程
-无
代码托管
上周考试错题总结
- 问题:The central processing unit of a computer is which of the following
- 错解:Gate----正解:Integrated circuit(集成电路)
- 翻译:计算机的中央处理器是下列哪一种
- 反思:没搞懂问题问了什么,下意识就选了门作答案
- 问题:Which of the following is a device that allows a computer to connect to the Internet?
- 错解:Random access----正解:Modem(调制解调器)
- 翻译:以下哪一项是允许计算机连接到Internet的设备?
- 反思:不知道Modem是什么东西
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 20/20 | 2/2 | 20/20 | |
第二周 | 20/40 | 1/3 | 18/38 | |
第三周 | 100/140 | 1/4 | 22/60 | 克服对代码的恐惧 |
第四周 | 310/450 | 1/5 | 30/90 | 在学长的帮助下学会了利用CSDN |
第五周 | 350/800 | 1/5 | 30/120 | |
第六周 | 200/1000 | 1/6 | 10/130 |
-
计划学习时间:10小时
-
实际学习时间:10小时
参考资料
- 《计算机科学概论》
- 《看漫画学Python》
- 《Python零基础从入门到精通》