排序算法:算法简介

算法简介
● 什么是算法
       ➢一系列的计算步骤,用来将输入数据转化成输出结果
● 算法的意义
       ➢用于解决特定的问题
       ➢解决同一个问题的不同算法的效率常常相差非常大,这种差距的影响往往比硬件和软件方面的差距还要大
● 比较常听到的较为简单的算法
       ➢排序算法
       ➢加密算法

算法的特征
● 有穷性
       ➢执行有限个步骤之后终止
● 确切性
       ➢每一步有确切的定义
● 输入
       ➢有0个或N个输入(N >= 1)
● 输出
       ➢至少一个输出
● 可行性
       ➢任何计算步骤都是可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成

如何评定一个算法的优劣?
● 如果单从效率上进行评估,可能会想到这么一种方案:
       ➢比较不同算法对同一组输入的执行处理时间(存在比较明显的缺点)
         (1)执行时间严重依赖硬件以及运行时各种不确定的环境因素
         (2)必须编写相应的测算代码
         (3)测试数据的选择比较难保证公正性
● 一般从一下维度来评估算法的优劣
       ➢正确性
       ➢可读性
       ➢健壮性(对不合理输入的反应能力和处理能力)
       ➢时间复杂度:估算程序指令的执行次数
       ➢空间复杂度:估算所需占用的额存储空间

大O表示法

常见复杂度

常见排序算法的复杂度

算法的优化方向
● 用尽量少的内存空间
● 用尽量少的执行步骤
● 根据情况可以
       ➢空间换时间
       ➢时间换空间

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值