python常用算法题】的更多相关文章

一: #计算平均数,中位数和众数 #coding:utf-8 #计算平均数,中位数和众数 import random lst = [random.randint(0,10) for i in range(11)] s = sum(lst) length = len(lst) average = s*1.0 / length print "The average is:",average lst.sort()print "From small to bigger,",…
有些算法题是这样要求的,一行输入一行数据,然后没有规定我要输入多少行,你要自行判断文件结束EOF,否则是会runtime error的,因为oj内部都是用文件来进行读写的. 例如a+b,每一行输入a b,计算a+b的结果. 一般这种嘛,c/c++很简单了,就是scanf判断一下!=EOF就完事了,但是python中没有这种操作,需要另外的操作.这里介绍一些目前我掌握的有三种方法: 用异常 这个很好想,就是判断输入并转换成数值,然后最后读不到东西了,转换肯定会有异常,通过异常退出就行了,这个方法我…
本节内容 算法定义 时间复杂度 空间复杂度 常用算法实例 1.算法定义 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制.也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出.如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题.不同的算法可能用不同的时间.空间或效率来完成同样的任务.一个算法的优劣可以用空间复杂度与时间复杂度来衡量. 一个算法应该具有以下七个重要的特征: ①有穷性(Fin…
本节内容 算法定义 时间复杂度 空间复杂度 常用算法实例 1.算法定义 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制.也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出.如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题.不同的算法可能用不同的时间.空间或效率来完成同样的任务.一个算法的优劣可以用空间复杂度与时间复杂度来衡量. 一个算法应该具有以下七个重要的特征: ①有穷性(Fin…
算法就是为了解决某一个问题而采取的具体有效的操作步骤 算法的复杂度,表示代码的运行效率,用一个大写的O加括号来表示,比如O(1),O(n) 认为算法的复杂度是渐进的,即对于一个大小为n的输入,如果他的运算时间为n3+5n+9,那么他的渐进时间复杂度是n3 递归 递归就是在函数中调用本身,大多数情况下,这会给计算机增加压力,但是有时又很有用,比如下面的例子: 汉诺塔游戏 把A柱的盘子,移动到C柱上,最少需要移动几次,大盘子只能在小盘子下面 递归实现: def hanoi(x, a, b, c):…
算法就是为了解决某一个问题而采取的具体有效的操作步骤 算法的复杂度,表示代码的运行效率,用一个大写的O加括号来表示,比如O(1),O(n) 认为算法的复杂度是渐进的,即对于一个大小为n的输入,如果他的运算时间为n3+5n+9,那么他的渐进时间复杂度是n3 递归 递归就是在函数中调用本身,大多数情况下,这会给计算机增加压力,但是有时又很有用,比如下面的例子: 汉诺塔游戏 把A柱的盘子,移动到C柱上,最少需要移动几次,大盘子只能在小盘子下面 递归实现: def hanoi(x, a, b, c):…
一.递归 汉诺塔算法:把A柱的盘子,移动到C柱上,最少需要移动几次,大盘子只能在小盘子下面 1.当盘子的个数为n时,移动的次数应等于2^n – 1 2.描述盘子从A到C: (1)如果A只有一个圆盘,可以直接移动到C: (2)如果A有N个圆盘,可以看成A有1个圆盘(底盘) + (N-1)个圆盘,首先需要把 (N-1) 个圆盘移动到 B,然后,将 A的最后一个圆盘移动到C,再将B的(N-1)个圆盘移动到C. 3.代码 i = 0 def move(n, a, b, c): global i if n…
1,什么是算法的时间和空间复杂度 算法(Algorithm)是指用来操作数据,解决程序问题的一组方法,对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但是在过程中消耗的资源和时间却会有很大的区别. 那么我们应该如何去衡量不同算法之间的优劣呢? 主要还是从算法所占用的时间和空间两个维度取考量. 时间维度:是指执行当前算法所消耗的时间,我们通常使用时间复杂度来描述. 空间维度:是指执行当前算法需要占用多少内存空间,我们通常用空间复杂度来描述 因此,评价一个算法的效率主要是看它的时间复杂度…
数据结构简介 1,数据结构 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成.简单来说,数据结构就是设计数据以何种方式组织并存贮在计算机中.比如:列表,集合与字典等都是一种数据结构.而之前已经学习过列表,字典,集合,元组等,这里就简单说一下不再赘述. N.Wirth:“程序=数据结构+算法” 数据:数据即信息的载体,是能够输入到计算机中并且能被计算机识别,存储和处理的符号总称. 数据元素:数据元素是数据的基本单位,又称之为记录(Record),一般,数据元…
1.3位水仙花数计算 "3位水仙花数”是指一个三位整数,其各位数字的3次方和等于该数本身. 例如: ABC是一个“3位水仙花数”,则:A的3次方+B的3次方+C的3次方 = ABC. 使用Python,输出所有的3位水仙花数. >>> for i in range(100,1000): if pow(i // 100 , 3) + pow(i % 10 , 3) + pow(i // 10 % 10, 3) == i: print(i,end=" ") &g…