算法图解笔记 - 算法简介

本文介绍了数据结构中数组和链表的基本操作及其运行时间,并对比了几种常见算法的时间复杂度,如二分查找(O(logn))与简单查找(O(n))、选择排序(O(n^2))等,帮助读者理解不同算法效率之间的差异。
      • 算法简介
      • 二分查找
      • 数组和链表的操作的运行时间
      • 选择排序
      • 数组和链表总结

      算法简介

      • 二分查找到速度比简单查找快得多
      • O(log n)比O(n)快。需要搜索的元素越多,前者比后者就快得越多
      • 算法运行时间并不以秒为单位
      • 算法运行时间是从其增速的角度度量的
      • 算法运行时间用大O表示法表示

      二分查找

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

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

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

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

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

      数组和链表的操作的运行时间

      操作数组链表
      读取O(1)O(n)
      插入O(n)O(1)
      删除O(n)O(1)

      选择排序

      将一组数按照从大到小的顺序排序
      算法运行时间O(n*1/2*n),但大O表示法省略诸如1/2这样的常数,因此简单的写作O(n*n)

      数组和链表总结

      • 计算机内存犹如一大堆抽屉
      • 需要存储多个元素时,可使用数组或链表
      • 数组的元素都在一起
      • 链表的元素时分开的,其中每个元素都存储了下一个元素的地址
      • 数组的读取速度很快
      • 链表的插入和删除速度很快
      • 在同一个数组中,所有元素的类型都必须(都为int或doubl

转载于:https://www.cnblogs.com/jackson0714/p/algorithm_schema1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值