2019-2020-1 20191308 《信息安全专业导论》第六周学习总结

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

教材学习内容总结

  • 由数学问题的求解策略、分治法、自顶向下法等思想为切入点认识算法。
  • 试着编写伪代码,了解数据的形式,掌握选择、循环、搜索、排序等算法,并手动测试。
  • 顺序搜索:对于任意一个序列以及一个给定的元素,将给定元素与序列中元素依次比较,直到找出与给定关键字相同的元素,或者将序列中的元素与其都比较完为止。
    二分检索:在有序列表中通过比较操作消除大部分检索范围。
  • 选择排序:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。
    冒泡排序:重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来,使小的元素经由交换慢慢“浮”到数列的顶端。
    插入排序:每步将一个待排序的元素,按其大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。
    快速排序:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
  • 递归算法计算阶乘以及其在排序中的应用。

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

  • 问题1:有关递归算法
  • 问题1解决方案:递归算法指可以在子程序自身中出现子程序名的算法,阶乘和二分检索实际上就是递归算法的应用。
  • 问题2:递归调用和嵌套调用有什么不同?
  • 问题2解决方案:递归调用是一种特殊的嵌套调用,是某个函数调用自己或者是调用其他函数后再次调用自己的,只要函数之间互相调用能产生循环的则一定是递归调用。
  • 问题3:子程序与嵌套结构的辨析
  • 问题3解决方案:子程序是能被其他程序调用,在实现某种功能后能自动返回到调用程序去的程序。其最后一条指令一定是返回指令,故能保证重新返回到调用它的程序中去。
    嵌套结构则如图
原文地址:https://www.cnblogs.com/ckx1212-20191308/p/11831730.html