数据结构和算法
利用算法解决计算机应用问题,算法是计算机处理信息的本质。包含五大特性:输入、输出、有穷性、确定性、可行性
算法效率衡量:
执行时间、时间复杂度与“大O记法”(不同机器计算时间不同,但执行基本运算数量大体相同)
最优、最坏、平均时间复杂度。
时间复杂度计算规则:
1、基本操作认为O(1),2、顺序结构用加法,3、循环结构用乘法,4、分支结构取最大值,5、多关注操作数量的最高次项,次要项和常数项可忽略,6、无特殊说明通常代指最坏时间复杂度
常见时间复杂度
常数阶,线性阶,平方阶,对数阶,nlogn阶,立方阶,指数阶
判断时间复杂度
代码执行时间测量模块timeit
函数衡量需要分析其中代码决定时间复杂度
class timeit.Timer(stmt=‘pass’, setup=‘pass’, timer=)
Timer是测量小段代码执行速度的类。
stmt参数是要测试的代码语句(statment);
setup参数是运行代码时需要的设置;
timer参数是一个定时器函数,与平台有关。
timeit.Timertimeit(number=1000000)
列表类型不同操作时间效率
E:\2exercise\02_list
列表和字典操作的时间复杂度
熟悉、复习列表每个操作的具体意义
程序 = 数据结构+算法