2018.06.14******************************************************************
author:wills
我们在进行数据处理的时候,经常会遇到到一些比较复杂的数据.又或者是本来是简单的运算,但是因为运算次数过于庞大,从而导致花费大量的时间,这是如何选择合适的算法进行代码编写就是我们需要考虑的问题一种好的的算法是适用于任何编程语言的,只是不用语言的编码实现不一样.这里我就用求平方根的例子对 穷举 / 二分 / 牛顿-拉弗森法简单介绍
我们都使用过math模块的sqrt()函数,这个函数的作用就是求一个非负数的平方根,但是我们思考过它是怎么实现的吗?或者说它是使用什么算法实现的
1. 穷举法
假设现在需要我们自己来写一个函数,实现求非负数的平方根,该怎么实现呢? 假设 x = 10 我们要求 x 的根或者求到一个数,它的平方 非常非常的接近10,这个接近的程度可以假设为误差不超过1e-8
def get_root(x=10):
cal_times = 0
ans = x / 2
step = 0.00000001
value = step ** 2
while True:
cal_times +=