码迷,mamicode.com
首页 > 编程语言 > 详细

算法入门

时间:2018-03-06 19:11:24      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:老师   数据   center   数组   class   为什么   运行   运行时   情况下   

很多学过算法的童鞋,都觉得老师讲的算法里面排序占有很大的比例,可以说排序是算法的重点,这是为什么呢?

原因是,很大部分的算法仅在数据经过排序后才管用,例如我们最经典的二分查找。

首先先介绍下最基本的两种数据类型:数组和链表

数组:是内存相邻的一个队列

链表:内存不相邻的队列,每个元素都会存下下一个元素的地址

很明显,两种数据类型的操作的时间复杂度:

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

下面来介绍下上面说到的时间复杂度(大O表示法

大O表示法:O(最坏情况下操作数)

常见的几种大O运行时间:

由快到慢:O(log n)、O(n)、O(n * log n)、O(n^2)、O(!n)

我们的二分查找就是O(log n)了


 

最后我们介绍下最经典的二分查找吧:

 

 

 

算法入门

标签:老师   数据   center   数组   class   为什么   运行   运行时   情况下   

原文地址:https://www.cnblogs.com/amiezhang/p/8515913.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!