# 数据结构与算法
# 介绍
什么是数据结构
- 数据结构就是在计算机中,数据的存储和组织方式。
常见的数据结构较多
- 每一种都有其对应的应用场景,不同的数据结构的不同操作性能是不同的;
- 有的查询性能很快,有的插入速度很快,有的是插入头和尾速度很快;
- 有的做范围查找很快,有的允许元素重复,有的不允许重复等
- 在开发中如何选择,要根据具体的需求来选择
什么是算法
- 算法是描述解决问题的方法。
- 算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。
《大话数据结构》
注意:数据结构与算法与语言无关,常见的编程语言都有直接或间接的使用上述常见的数据结构。
# 为什么要学习数据结构与算法
- 基础知识就像是一座大楼的地基,它决定了我们的技术高度。那技术人究竟都需要修炼哪些“内功”呢?我觉得,无外乎就是大学里的那些基础课程,操作系统、计算机网络、编译原理等等,当然还有数据结构和算法。
王争
可能你学到这里的时候, 已经感觉到数据结构的一些复杂性, 但是如果你仔细品味, 你也会发现它在设计时候的巧妙和优美, 当你爱上它的那一刻, 你也真正爱上了编程.
coderwhy
# 如何学习数据结构与算法
学习过程中:
- 刻意练习
- 番茄工作法
- 列出问题,先思考,自己想答案,再看答案
- 边学边练,适度刷题
- 多问、多思考、多互动
- 打怪升级学习法
- 知识需要沉淀,不要想试图一下子掌握所有
王争
# 精通一个领域-覃超
- 切碎知识点
- 建立知识体系
- 刻意练习
- 反馈
- 完善知识体系
三分学,七分练
# 切题四件套-覃超
- clarification 询问题目细节,边界条件,可能的极端错误情况
- possible solutions 所有可能的解法都和面试官沟通一遍
- 时间/空间复杂度
- 寻找最优解
- coding 多写代码
- test cases 测试用例
搜索算法 →