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


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

    教材学习内容总结

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

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

    • 问题1:有关递归算法
    • 问题1解决方案:递归算法指可以在子程序自身中出现子程序名的算法,阶乘和二分检索实际上就是递归算法的应用。
    • 问题2:递归调用和嵌套调用有什么不同?
    • 问题2解决方案:递归调用是一种特殊的嵌套调用,是某个函数调用自己或者是调用其他函数后再次调用自己的,只要函数之间互相调用能产生循环的则一定是递归调用。
    • 问题3:子程序与嵌套结构的辨析
    • 问题3解决方案:子程序是能被其他程序调用,在实现某种功能后能自动返回到调用程序去的程序。其最后一条指令一定是返回指令,故能保证重新返回到调用它的程序中去。
      嵌套结构则如图
  • 相关阅读:
    二、java 与 scala相互调用
    Gradle Tips#1-tasks
    Guice 学习(六)使用Provider注入服务( Provider Inject Service)
    C++第15周(春)项目3
    cocos2d-x3.2中怎样优化Cocos2d-X游戏的内存
    jqGrid源代码分析(一)
    OCP-1Z0-051-题目解析-第6题
    PHP连接sql server 2005环境配置
    【剑指offer】替换字符串中的空格
    android 推断Apk是否签名和 签名是否一致
  • 原文地址:https://www.cnblogs.com/ckx1212-20191308/p/11831730.html
Copyright © 2020-2023  润新知