数据的分类以及算法的时间复杂度

数据的分类

逻辑结构(抽象)

集合结构:集合中元素除了属于同一个集合外,没有其他关系

线性结构:线性结构中元素存在一对一的关系

树形结构:树形结构中元素是一对多的层次关系

图形结构:图形结构中元素存在多对多的关系

物理结构

顺序储存结构(适合查找和遍历):将数据元素放在地址连续的存储单元里,数据间的逻辑关系和物理关系是一致的。

链式存储结构(适合插入删除等操作):数据元素存储在任意单元里,数据之间不能反映逻辑关系,数据之间通过一个指针来指向元素的地址

时间复杂度

事前分析估算法

在编写程序前,用统计方法对算法进行估算,得出运行所消耗的时间取决于以下几个因素

       算法采用的策略和方案

       编译产生的代码质量

       问题规模

       机器执行指令的速度

算法复杂度规则:

       算法函数中常常数可以忽略

       最高次幂的常数因子可以忽略

       最高次幂越小,算法效率越高

大O记法

常数阶O(1)          普通语句

线性阶O(n)          循环

平方阶O(n*n)      双层循环

立方阶                 三层循环

对数阶                 二分策略、二分查找

线性对数级别      分治思想、归并排序

指数                     穷举查找、检查所有子集

复杂度低到高:

       常数<对数<线性<线性对数<平方<立方               

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值