数据结构与算法第一节:数据结构与算法的关系

学习《数据结构与算法之美》记录相关知识点, 但不局限于这门课程,遇到不熟悉不理解的点,搜集网上资料,继续学习。

学好数据结构是熟练使用和解决算法问题的核心,也是最重要的基本能力.

1. 数据结构与算法的关系

  • 广义上

    数据结构就是指一组数据的存储结构,算法就是操作一组数据的方法;

  • 狭义上

    10个常见数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;

    10 个常用算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。

  • 相辅相成

    数据结构是为算法服务的,算法要作用在特定的数据结构之上。

    数据结构是静态的,他只是组织数据的一种方式,如果不在它的基础上操作、构建算法,孤立存在的数据结构就是没用的。

    数据结构只有在算法中才能体现其真正的价值,没有算法将没有数据结构的用武之; 而算法在特定场合利用特定的数据结构来实现其高效性能。

2. 数据结构与算法中的一个重要概念 – 复杂度分析

在之前的学习中,可能就是因为没有关注这方面的要求,导致数据结构总是学了又忘,忘了又学。

在本次学习中,我决定讲所有的学习过程和结果都记录下来,一是回顾,二是加强理解。

  • 数据结构与算法解决的问题

数据结构与算法解决的是如何更省、更快地存储和处理数据的问题。

复杂度分析, 就是一个考量效率和资源消耗的方法。才能评价算法的好坏。

3.“警”句

每天都感觉自己学的不够多,是一件好事;但是永远不要怀疑自己做的是无用功;

知识需要沉淀,要耐得住时间的折磨,急于求成,最后只能一事无成;

学习需要反复迭代,一蹴而就永远只存在于小说中;