数据结构与算法第一节:数据结构与算法的关系
学习《数据结构与算法之美》记录相关知识点, 但不局限于这门课程,遇到不熟悉不理解的点,搜集网上资料,继续学习。
学好数据结构是熟练使用和解决算法问题的核心,也是最重要的基本能力.
1. 数据结构与算法的关系
-
广义上
数据结构就是指一组数据的存储结构,算法就是操作一组数据的方法;
-
狭义上
10个常见数据结构:
数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;10 个常用算法:
递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。 -
相辅相成
数据结构是为算法服务的,算法要作用在特定的数据结构之上。
数据结构是静态的,他只是组织数据的一种方式,如果不在它的基础上操作、构建算法,孤立存在的数据结构就是没用的。
数据结构只有在算法中才能体现其真正的价值,没有算法将没有数据结构的用武之; 而算法在特定场合利用特定的数据结构来实现其高效性能。
2. 数据结构与算法中的一个重要概念 – 复杂度分析
在之前的学习中,可能就是因为没有关注这方面的要求,导致数据结构总是学了又忘,忘了又学。
在本次学习中,我决定讲所有的学习过程和结果都记录下来,一是回顾,二是加强理解。
- 数据结构与算法解决的问题
数据结构与算法解决的是如何更省、更快地存储和处理数据的问题。
而复杂度分析
, 就是一个考量效率和资源消耗的方法。才能评价算法的好坏。
-
数据结构与算法的知识图谱
附上学习连接:有兴趣的小伙伴可以一起学习
3.“警”句
每天都感觉自己学的不够多,是一件好事;但是永远不要怀疑自己做的是无用功;
知识需要沉淀,要耐得住时间的折磨,急于求成,最后只能一事无成;
学习需要反复迭代,一蹴而就永远只存在于小说中;