zoukankan      html  css  js  c++  java
  • 基础算法思想

    一、递推算法思想

      递推算法是一种简单的算法,通过已知条件,利用特定关系得出中间推论,逐步递推,直至得到结果为止。

      1.算法思路

      递推算法使用“步步为营”的方法,不断利用已有的信息推导出新的东西。利用现有信息得到新信息,是递推算法的核心。

      顺推法:从已知条件出发,逐步推算出要解决问题的方法。

      逆推法:从已知结果出发,用迭代表达式逐步推算出问题开始的条件。

      2.顺推实例:斐波那契数列--“如果一对兔子每月能生下一对小兔子,而每对小兔在它出生后的第3个月里又能开始生一对兔子,问一年后一共有多少只兔子?”

       逆推实例:“父亲为小明准备了大学四年生活的钱,每月生活费为1000,银行年利率为1.71%,算出父亲至少要存多少钱”

    二、枚举算法思想

      将所有的候选答案选出后就可以找出正确的解或无解。

    三、递归算法思想

      注意:在递归调用的过程中,系统将每一次递归调用的返回点、局部量等保存在系统的堆栈中,当递归调用的次数太多时,就可能造成堆栈溢出等。递归效率较低,一般不提倡使用。

    四、分治算法思想

      把一个较大的问题,分成几个较小的问题,找出这几个子问题的求解方法后,再找到合适的方法,把他们组合成求整个问题的解法。(很实用的想法)

    五、贪婪算法思想

      不从整体最优考虑,只选择在某种意义上的局部最优选择。

    六、试探法算法思想

      试探法也称回溯法,它是一种系统地搜索问题解的方法。例如:迷宫。

  • 相关阅读:
    一条痛并快乐的路
    Daily Scrum 11.1
    Daily Scrum 10.31
    Daily Scrum 10.30
    Daily Scrum 10.29
    Daily Scrum 10.28
    Daily Scrum 10.27
    (Alpha)Let's-Chronos分数分配规则
    Daily Scrum 10.26
    Daily Scrum 10.25
  • 原文地址:https://www.cnblogs.com/miffy/p/5069788.html
Copyright © 2011-2022 走看看