
算法理论
文章平均质量分 65
binling
这个作者很懒,什么都没留下…
展开
-
基于代数思维的coding
大概有两种思维,一种是面向过程的,就是想象一个数据结构上的操作步骤,推演一下,看看能不能接近一个solution。这种思维有诸多弊端: 1)靠灵光一现的乱试,不可控,不可重复 2)面向过程,比较复杂、麻烦,易出错 3)逻辑性不强,为什么这么操作一番就能得出解? 这个问题很难回答,缺乏一种确信感。离散,不易证明 代数的特点是什么?都是变量和公式推导,从不需要带入离散的具体值去验证,是自证明的,或者说你可以代入任何具体值,都是成立的,逻辑性非常强。比如求斐波那契数列的代数式算法: ``` def原创 2021-08-10 13:15:24 · 155 阅读 · 0 评论 -
算法正确性证明三要素
1)invariant property 是什么,每步循环保证了invariant property。 2)证明循环可以退出:(比如,在循环体的每个分支,循环的界都是在收敛) 3)根据循环退出的condition和 invariant property 得出answer。原创 2014-12-30 12:43:46 · 4515 阅读 · 0 评论