算法概述(一)

一、算法

 在计算机领域里,算法是一系列程序指令,用于处理特定的运算和逻辑问题。

二、衡量算法的好坏重要标准

1、时间复杂度

2、空间复杂度

三、算法应用场景

1、运算

    如:超大整数求积

2、查找

   如:在度娘,谷歌上搜索

3、排序

   如:电商网站按价格从高到低排序

4、最优决策 

  如:在地图上选择最佳路线

四、数据结构

     data Structure 是数据的组织、管理和存储格式,其目的是高效地访问和修改数据

五、数据结构有哪些

 1、线性结构

      最简单的数据结构,有数组,链表,及衍生的栈、队列、哈希表。

2、树

      相对复杂的数据结构,有二叉树,及衍生的二叉堆

3、图

      更为复杂的数据结构,

     

4、其他数据结构

      有跳表、哈希链表、位图等等。

 六、时间复杂度

   时间复杂度是对一个算法运行时间长短的量度,用大O表示,T(n)=O(f(n))

    推导时间复杂度 有几个原则:

  •    如果运行时间是常数量级,则用常数1表示
  •    只保留时间函数中的最高阶项
  •    如果最高阶项存在,则省去最高阶项前面的系数

场景1: T(n)=O(n)

 

 

场景2: T(n)=O(logn)

场景3: T(n)=O(1)

场景4: T(n)=O(n^2)

七、空间复杂度

空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度,用大O表示,S(n)=O(f(n))

空间复杂度有4种情形

1、常量空间  O(1)

2、线性空间  O(n)

3、二维空间 O(n^2)

4、递归空间 (函数调用栈)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值