第六周学习总结

2020-2021-1 20201307 《信息安全专业导论》第6周学习总结

作业信息

这个作业属于哪个课程https://edu.cnblogs.com/campus/besti/2020-2021-1fois/homework/11249
这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05
这个作业的目标 计算机科学概论第7章 并完成云班课测试 程序设计导论-Python计算与应用开发实践第10章并完成云班课测试
作业正文  https://www.cnblogs.com/yu15141310373/p/13945749.html

 

教材学习内容总结

本周学习了计算机科学概论的第7章,主要内容有各种求解算法(在有限时间内用有限数据解决问题的明确指令集合)上课时老师着重讲了二分检索还有各种排序(选择排序,冒泡排序,插入排序),还有只适用于小数目的递归算法和解决大问题的分治法

python第10章中讲了递归运算,斐波那契数列和线性查找与二分查找运行时间的比较等等

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

是存在一些问题:

1.递归算法的的停止取决于一般情况还是基本情况?

解答:基本情况是答案已知的情况,一般情况是调用自身来解决问题的的更小版本的解决方案,结合题目分析,算法的停止属于已知情况,所以是基本情况

2.什么是无限递归?为什么会出现无限递归?

解答:无限递归就是参数为负时还一直往下进行的一种情况,子程序会不断调用自身,直到耗尽内存才会停止运行

就好比下图

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

1.学习斐波那契数列时想过用递归算法去解决问题,算出N=10还行,值到达100时就无法运行,不能输出了,这就是斐波那契数列不能用递归算法的原因(计算量太大!)

所以我改用了for循环,用循环来代替递归运算

 结果就成了

感悟

  • 递归算法是一种朴实无华的算法,优点是简单,缺点是太慢了

  • 代码学习过程是熟能生巧的过程

学习进度条

 代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长 
目标 5000行 30篇 400小时    
第一周 65/65 2/2 17/17    
第二周 65/130 4/6 10/27    
第三周 260/390 3/9 20/47    
第四周 60/450 2/11 10/57    
第五周 300/750 2/13 10/67    
第六周 330/1080 3/16 10/77    
原文地址:https://www.cnblogs.com/yu15141310373/p/13945749.html