关键词:
算法分析 线性数据结构 栈与应用 pythonds
算法分析
通过time模块对程序运行时间进行统计比较,可以对使用不同算法的程序进行性能分析。性能分析,需要考虑时间复杂度和空间复杂度,对两者进行权衡。如今更多的需要考虑时间复杂度。
考虑到不同的计算机,操作系统,版本差别等各种因素,time计算出的时间并不显得那么客观。
我们通过考虑一个算法所需要执行的步数来衡量其时间复杂度,将会不受其他因素的影响。我们采用大O记号将不同的算法通过时间复杂度分类。
线性数据结构
堆,栈,deque,
当其元素被添加时,就确定了其前后位置关系的数据结构。
栈 stack
LIFO 后进先出,或者说添加元素的位置与删除元素的位置在同一端。
python中,我们可以通过列表来实现栈。
from pythonds.basic.stack import Stack
其操作方法如下:
Stack() 创建并返回一个空栈
push(item) 向栈中添加item,无返回值
pop() 从栈顶删除item,无需参数,返回被删除的栈顶的item
isEmpty() 判断是否为空栈,返回布尔值
peek() 到达栈顶,无返回值
size() 返回栈中item的数量
网友评论