《Introduction to Algorithms》-读书笔记(第一部分)

算法
  • 算法是用于求解的计算问题的工具
  • 对于排序算法来说,哪个算法最好依赖于以下因素:
    1. 被排序的项数
    2. 这些项已被稍微排序的程度
    3. 关于项值的可能限制
    4. 计算机的体系结构
    5. 所使用的存储设备的类型(主存、磁盘或者磁带)
  • 算法问题通常存在以下特征:
    1. 存在许多候选解,但绝大多数候选解都没有解决手头的问题。
    2. 存在实际应用。
  • 分析算法的结果意味着预测算法需要的资源。
  • 输入规模的最佳概念依赖于研究的问题。有的是输入中的项数;有的是二进制记号表示输入所需的总位数;有时候需要用两个数来表示输入规模,例如图中的顶点数和边数。
  • 一个算法在特定输入上的运行时间是指之星的基本操作数或步数。
  • 在研究算法的运行时间时,往往集中于只求最坏情况运行时间,理由如下:
    1. 一个算法的最坏情况运行时间给出了任何输入的运行时间的一个上界,知道了这个界,就能确保该算法绝不需要更长的时间;
    2. 对某些算法,最坏情况经常出现。例如数据库检索算法。
    3. “平均情况”往往与最坏情况大致一样差。
  • 我们真正感兴趣的运行时间的增长率增长量级。所以我们只考虑公式中最重要的项(例如an²),我们一般也忽略掉最重要项的常系数。
  • 如果一个算法的最坏情况运行时间具有比另一个算法更低的增长量级,那么我们通常认为前者比后者更有效。
  • 渐近记号Θ、Ο、o、Ω、ω详解(重新理解自CSDN):

转载于:https://my.oschina.net/u/4181775/blog/3085278

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值