线性表

一、算法频度及时间复杂度
所谓一条语句的频度就是指该语句被执行的次数,任何算法最终都是被分成简单操作,如赋值、转向、比较、输入和输出等,来具体执行的,整个算法的频度是指算法中所有这些简单操作对应的语句频度之和,这种把语句执行次数多少作为算法时间度量的分析方法称为频度统计法
要精确计算出算法的频度有时是相当有困难的,实际上也没有必要,只要大致计算出相应的数量级(Order)即可,一般情况算法频度是问题规模n的函数,用T(n)表示,若有某个辅助函f(n)使得
在这里插入图片描述
则称f(n)与T(n)同阶,或者说他们只差一个常数倍 记作T(n) = O(f(n)) 称O(f(n))为算法的渐进时间复杂度,简称时间复杂度,时间复杂度就是频度的数量级表示,它表示随着问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同
当f(n)为对数函数、幂函数、或者他们的乘积时,算法的运行时间是可以接受的,称这些算法是有效的,当f(n)为指数函数或阶乘函数时,算法的运行时间是不可以接受的,称这些算法是无效的。
随着n的增大,各种时间复杂度所对应的的算法的运行时间的增加速度大不相同,当n足够大时,各种时间复杂度存在着下列关系:
在这里插入图片描述二、 存储方法
1,顺序存储(数组)
2. 链接存储
3. 索引存储(推荐索引按顺序存储、表按链接存储)
三、顺序存储与链接存储的比较
1.基于空间考虑:当线性表的长度变化不大,宜于事先确定好大小时,为了节约存储空间,宜采用顺序存储结构
2.基于时间考虑:若线性表的操作需频繁进行查找,很少做插入或删除操作时,宜采用顺序存储结构,反之宜采用链接存储结构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值