2019-06-21 《算法图解》第一章 引言

1.1  引言

概念:算法是一组完成任务的指令。

学习过程:描述算法+提供实例+运行时间(大O表示法)+探索其他功能

1.2  二分查找

(1)二分查找是一种算法,其输入是一个有序的元素列表(必须有序的原因稍后解释)。如果要查找的元素包含在列表中,二分查找返回其位置;否则返回null。

(2)

(3)运行时间

1.3  大O表示法:

(1)大O表示法指出了算法有多快:

例如,假设列表包含n个元素。简单查找需要检查每个元素,因此需要执行n次操作。使用大O表示法,这个运行时间为O(n)。单位秒呢?没有——大O表示法指的并非以秒为单位的速度。大O表示法

让你能够比较操作数,它指出了算法运行时间的增速。

(2)大O表示法指出了最坏情况下的运行时间

下面按从快到慢的顺序列出了你经常会遇到的5种大O运行时间。

O(log n),也叫对数时间,这样的算法包括二分查找

O(n),也叫线性时间,这样的算法包括简单查找。

O(n * log n),这样的算法包括第4章将介绍的快速排序——一种速度较快的排序算法。

O(n2),这样的算法包括第2章将介绍的选择排序——一种速度较慢的排序算法。

O(n!),这样的算法包括接下来将介绍的旅行商问题的解决方案——一种非常慢的算法。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这...
    Winterfell_Z阅读 11,426评论 0 13
  • 1)这本书为什么值得看: Python语言描述,如果学的Python用这本书学数据结构更合适 2016年出版,内容...
    孙怀阔阅读 14,339评论 0 15
  • --- layout: post title: "如果有人问你关系型数据库的原理,叫他看这篇文章(转)" date...
    蓝坠星阅读 4,292评论 0 3
  • 该系列文章主要是记录下自己暑假这段时间的学习笔记,暑期也在实习,抽空学了很多,每个方面的知识我都会另起一篇博客去记...
    Yanci516阅读 14,239评论 6 19
  • 简介 ** 拥塞 ** :即对资源的需求超过了可用的资源。当网络中资源供应不足,导致出现资源竞争时,就会出现拥塞现...
    LilacZiyun阅读 4,344评论 0 2

友情链接更多精彩内容