数据结构与算法| 复杂度分析
是什么: 数据结构指的是“一组数据的存储结构”,算法指的是“操作数据的一组方法”。 数据结构是为算法服务的,算法是要作用在特定的数据结构上的。 为什么要用: 使用合适的数据结构和算法。选用合适的数据结构和算法,特别是在处理体量非常庞大的数据的时候,可以极大提高计算效率。 20 个最常用的、最基础 数据结构与算法: 10 个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树; 10 个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。 在学习数据结构和算法的过程中, 学习它的“来历”“自身的特点”“适合解决的问题”以及“实际的应用场景”,辩证地思考,多问为什么。 。 效率和资源消耗的度量衡---复杂度分析。 如何分析、统计算法的执行效率和资源消耗? 数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。 使用 时间、空间复杂度分析 来衡量你编写的算法代码的执行效率。 学习数据结构和算法的基石,就是要学会`复杂度分析`。知道怎么去分析复杂度,才能作出正确的判断,在特定的场景下选用合适的正确的算法。 通过统计、监控,就能得到算法执行的时间和占用的内存大小--(这种叫事后统计法,它有很大局限性)