数据结构与算法

 

 

 

 

 

观点1 我们无法孤立数据结构来讲算法,也无法孤立算法来讲数据结构。

比如,因为数组具有随机访问的特点,常用的二分查找算法需要用数组来存储数据。但如果

我们选择链表这种数据结构,二分查找算法就无法工作了,因为链表并不支持随机访问。

数据结构与算法

 

 

数据结构与算法

 

 


 

 数据结构与算法

 

 

这里面有 10 个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;
10 个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算 法、动态规划、字符串匹配算法

03 | 复杂度分析(上):如何分析、统计算法的执行效率和资源消 耗?

数据结构与算法

 

 数据结构与算法

 

 

执行时间  (2n+2)*unit_time 

数据结构与算法 

所以,整段代码总的执行时间 T(n) = (2n2+2n+3)*unit_time。 

而公式中的低阶、常量、系数三部分并 不左右增长趋势,所以都可以忽略 

所以只需要记录最大量级就可以了

T(n) = O(n); T(n) = O(n2)。 

 

时间复杂度分析 

1. 只关注循环执行次数最多的一段代码 

2.加法法则