算法
蔡思岑
个人笔记,如有错误烦请指正
展开
-
递推算法、递归算法、分治算法
递推算法1、顺推法,从已知条件逐步推算出结果的方法。例如斐波拉契数列。//$arr = array(1,1,2,3,5,8,13,21 ...);//递归方法实现斐波那契数列function Fibonacci($n){ if($n <= 2) return 1; return Fibonacci($n-1) + Fibonacci($n-2);}//非...原创 2018-05-28 22:55:25 · 1044 阅读 · 0 评论 -
贪婪算法
贪婪算法贪婪算法的基本思路是,从局部的解最优来得到全局的最优解,从问题的某一个初始解开始,逐步逼近给定的目标,尽可能的求得更好的解。当算法的某一布不能继续前进时,就停止算法给出近似解。贪婪算法存在以下问题:1、不能保证最后的解是最优的(因为可能是近似值)2、不能用来求最大或最小解问题3、只能求满足某些约束条件的可行解的范围。例题:换零钱。人民币有100、50、20、10、5、2、1、0.5、0.1...原创 2018-05-28 22:56:45 · 1889 阅读 · 0 评论 -
试探算法(也称回溯法)
算法思路:先选择某一种可能的情况进行试探,在试探过程中,一旦发现此选择的假设是错误的,就退回一步重新选择,继续向前试探,如此反复进行,直到证明解或者无解。例如你下棋的时候,自己先思考某一棋路,但是考虑到自己下这一步后对手下了对自己不利,所以换一中下法,类似于此就叫试探法。例:生成号码组合。假设有一种彩票,每注由n个1~m的数字组成,且这n个数字不能重复,编写程序生成所有号码的组合。function...原创 2018-05-28 23:29:15 · 3410 阅读 · 0 评论 -
算法的评价
算法的评价法则1、正确性2、高效性3、空间性4、可读性算法的效率通常,通过统计算法中基本操作重复执行的次数,就可近似的得到算法的执行效率,用O(n)表示,也称为时间复杂度...原创 2018-06-05 21:59:19 · 1946 阅读 · 0 评论