极客时间-数据结构和算法之美-王争
[TOC]
开篇词
入门篇
01 为什么要学习数据结构和算法?
建立时间复杂度、空间复杂度意识、写出高质量的代码,能够设计基础架构,提升编程技能。
02 如何抓住重点,系统高效的学习数据结构和算法?
掌握一个数据结构和算法中最重要的概念,复杂度分析。
10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie树。
10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。
03 复杂度分析:如何分析分析、统计算法的执行效率和资源消耗
时间、空间复杂度分析
大0时间复杂度 T(n)=O(f(n))
常见的复杂度 O(1) O(logn) O(n) O(nlogn) O(n2)
越高阶复杂度的算法,执行效率越低。
04 复杂度分析:浅析最好、最坏、平均、均摊时间复杂度?
最好是O(1)最快O(n)平均平摊是O(1)
基础篇
05
06