python数据结构和算法-长期维护

##################     python数据结构和算法        #######################

数据结构和算法
没有这个数据结构和算法,你也能写出代码,
但是会有问题,
1,你写出的代码可能是执行效率是比较低的,可是对程序运行的效率和开销没有意识,性能低下
2,面对新的问题,你可能无从下手,不知道怎么入手解决这个问题,
3,还有你用到第三方的工具,你可能看不懂,更不用说去优化,二次开发,

数据结构和算法是伴随着你的程序员历程的,是一个持久性的东西,不是一天两天就精通的,需要不断学习,
现在只是3天左右一个入门,之后还需要去不断学习历练数据结构和算法的功力,这是你的内功,
进入大的公司,他们不对你的技术和项目产品感兴趣,看重的是你的基本功,也就是数据结构和算法,
他可以考你各种各样的问题,锻炼你的思维能力,锻炼你的学习能力,以及解决问题的能力,

##################     算法引入        #######################

# 如果 a+b+c=1000,且 a^2+b^2=c^2(a,b,c 为自然数),如何求出所有a、b、c可能的组合?
#
# 可以使用枚举法,
# a=0
# b=0
# c=0-1000
# 变动一个数,比如c,从0-1000,其他的两个数不动,然后变动b,其他两个数不动,变动a,其他两个数不动,这是最笨的方法,进行穷举,

import time  # 计算一下程序使用了多长时间,

start_time = time.time()
for a in range(0,1001):
    for b in range(0, 1001):
        for c in range(0, 1001):
            if a+b+c==1000 and a**2+b**2==c**2:
                print("a,b,c:%d,%d,%d"%(a,b,c))
end_time = time.time()
print("times:%d"%(end_time-start_time))

# 上面的问题我们通过枚举法解出来了,这就是算法,也就是计算的方法,
# 算法的具体定义:算法就是独立存在的一种解决问题的方法和思想,
# 是独立存在的和计算机语言没有关系,重要的是思想,
# 算法的5个特征:
# 1,输入,算法可以有0个或者多个输入
# 2,输出,算法至少要有1个或者多个输出,
# 3,有穷性,算法必须是一个有限的步骤,无尽的执行下去我们永远也拿不到结果,而且必须是一个可接受的时间才可以否则1万年执行出来没有意义,
# 4,确定性,就是每一步都是有确定的含义的,不会发生歧义,
# 5,可行性,也就是每一步都是可以使用计算机实现的,是可行的,

##################     python数据结构和算法        #######################

##################     python数据结构和算法        #######################

猜你喜欢

转载自www.cnblogs.com/andy0816/p/12208345.html
今日推荐