# 数据结构与算法

# 介绍

什么是数据结构

  • 数据结构就是在计算机中,数据的存储和组织方式。

常见的数据结构较多

  • 每一种都有其对应的应用场景,不同的数据结构的不同操作性能是不同的;
  • 有的查询性能很快,有的插入速度很快,有的是插入头和尾速度很快;
  • 有的做范围查找很快,有的允许元素重复,有的不允许重复等
  • 在开发中如何选择,要根据具体的需求来选择

什么是算法

  • 算法是描述解决问题的方法。
  • 算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。

《大话数据结构》

注意:数据结构与算法与语言无关,常见的编程语言都有直接或间接的使用上述常见的数据结构。

# 为什么要学习数据结构与算法

  • 基础知识就像是一座大楼的地基,它决定了我们的技术高度。那技术人究竟都需要修炼哪些“内功”呢?我觉得,无外乎就是大学里的那些基础课程,操作系统、计算机网络、编译原理等等,当然还有数据结构和算法。

王争

可能你学到这里的时候, 已经感觉到数据结构的一些复杂性, 但是如果你仔细品味, 你也会发现它在设计时候的巧妙和优美, 当你爱上它的那一刻, 你也真正爱上了编程.

coderwhy

# 如何学习数据结构与算法

学习过程中:

  • 刻意练习
  • 番茄工作法
  • 列出问题,先思考,自己想答案,再看答案
  1. 边学边练,适度刷题
  2. 多问、多思考、多互动
  3. 打怪升级学习法
  4. 知识需要沉淀,不要想试图一下子掌握所有

王争

# 精通一个领域-覃超

  1. 切碎知识点
  2. 建立知识体系
  3. 刻意练习
  4. 反馈
  5. 完善知识体系

三分学,七分练

# 切题四件套-覃超

  1. clarification 询问题目细节,边界条件,可能的极端错误情况
  2. possible solutions 所有可能的解法都和面试官沟通一遍
  • 时间/空间复杂度
  • 寻找最优解
  1. coding 多写代码
  2. test cases 测试用例
上次更新: 2021年10月30日星期六晚上8点03分