数据结构与算法 - 入门篇

1. 性能方面

了解和比较算法的优缺点,使用合并排序算法快速排序算法,使用数组链表获得的结果确定都大不相同算法

2. 二分查找法

例如,登陆你的AsiaInfo 邮箱,亚信必须核实你是否有其余网站的帐户,所以必须在数据库查找你的用户名,若是你的用户名是 yangzy3 ,AsiaInfo 能够以 y 打头部分开始查找,可是更符合逻辑的是从中间开始查找数据库

查找条件

  1. 有序元素列表
  2. 查找的元素含在列表中,二分查找返回其位置;不然返回为null

时间复杂度

O(lgn),相比简单查找效率更高数组

3.大 O 表示法

大O表示法能够告诉咱们算法的快慢,大O表示法比较的是操做数,它指出算法运行时间的增速,而O(n)里面的n表示的是操做数数据结构

一些大O的运行时间

  • O(logn) ,也叫对数时间,这样的算法包括二分查找
  • O(n),也叫线性时间,这样的算法包括简单查找
  • O(n * logn),快速排序
  • O(n2), 选择排序
  • O(n!),很是慢的排序方法,旅行商问题

4.总结

  • 二分查找的速度比简单查找的速度快不少性能

  • O(logn)O(n) 快,查找的元素越多,前者比后者越快学习

  • 算法运行时间并不以s为单位网站

  • 算法的运行时间是从其增速的角度度量的code

  • 算法运行时间用大O表示法来表示排序

5.学习资料

  • <<大话数据结构>>
  • <<算法图解>>
相关文章
相关标签/搜索