算法与数据结构
数据结构和算法是一名程序开发人员的必备基本功,不是一朝一夕就能练成绝世高手的。冰冻三尺非一日之寒,需要我们平时不断的主动去学习积累。
Mr丶D
这个作者很懒,什么都没留下…
展开
-
算法与数据结构(3)- 排序算法的稳定性
排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。排序算法的稳定性稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。也就是如果一个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。当相等的元素是无法分辨的,比如像是整数,稳定性并不是一个问题。然而,假设以下的数对将要以...原创 2019-06-13 09:08:02 · 429 阅读 · 0 评论 -
Python列表类型性能测试以及内置字典操作的时间复杂度分析
timeit模块timeit模块可以用来测试一小段Python代码的执行速度。class timeit.Timer(stmt='pass', setup='pass', timer=<timer function>)Timer是测量小段代码执行速度的类。stmt参数是要测试的代码语句(statment);setup参数是运行代码时需要的设置;timer参数是一个定时器函数,...原创 2019-06-01 11:41:59 · 1362 阅读 · 1 评论 -
算法与数据结构(2)- 算法的复杂度
时间复杂度与“大O记法”我们假定计算机执行算法每一个基本操作的时间是固定的一个时间单位,那么有多少个基本操作就代表会花费多少时间单位。显然对于不同的机器环境而言,确切的单位时间是不同的,但是对于算法进行多少个基本操作(即花费多少时间单位)在规模数量级上却是相同的,由此可以忽略机器环境的影响而客观的反应算法的时间效率。对于算法的时间效率,我们可以用“大O记法”来表示。“大O记法”:对于单调的整...原创 2019-05-28 10:35:55 · 635 阅读 · 0 评论 -
算法与数据结构(1)- 算法时间效率的分析
概述数据结构和算法是一名程序开发人员的必备基本功,不是一朝一夕就能练成绝世高手的。冰冻三尺非一日之寒,需要我们平时不断的主动去学习积累。引入先来看一道题:如果 a+b+c=1000,且 a^2 + b ^2 = c^2(a,b,c 为自然数),如何求出所有a、b、c可能的组合?我们使用穷举法和枚举来分析:循环遍历 a b c 满足条件的输出。代码如下:import tim...原创 2019-05-27 16:35:14 · 4028 阅读 · 0 评论