【数据结构和算法】初识1 - 整体框架
前言
毕业两年,入行嵌入式五个年头,从大学时期C51到STM32,再到如今i.MAX6ULL和Hi3559A。突然明白了一个道理:无论何种芯片、何种编程语言,都是为了解决用户问题而来的。
原来想着学完这个芯片再学另外一种芯片,编程语言一种一种的学。然而学到现在发现仅仅会堆砌代码,在解决某一项功能时,基本上都是从网上复制下来,加入业务逻辑里面。然后再因为懒,没有深入的去分析复制下来的代码,现在总感觉脚底属于漂浮状态。
造成了现在到达技术瓶颈期的感觉,通过几天的思考,总结一点就是:基础功底不扎实!
因此决定将基础知识重新梳理一遍。最先梳理的两门基础课程是《数据结构和算法》和《C语言》。
数据结构和算法框架
通过在知乎、****等等网站搜索数据结构和算法学习,梳理出以下框架:
下面给出简单的学习步骤,文末给大家分享我搜索到的数据结构和算法方面优质的文章和视频,大家一起学习,一起努力!
1、基础概念
学习内容:
- 时间复杂度
- 空间复杂度
学习目标:
掌握时间复杂度和空间复杂度的计算方法
2、基础思想
学习内容:
- 动态规划
- 贪心算法
- 回溯算法
- 分治算法
- 枚举算法
学习目标:
背!使劲背!贯穿整个学习计划的背!
3、基础算法
学习内容:
- 排序
- 查找
- 字符串匹配
- 搜索
学习目标:
可以独立自主的写出代码
4、数据结构
学习内容:
- 线性表
- 散列表
- 图
- 树
学习目标:
理解基础概念和存储方式,独立写出代码。
书籍和视频推荐
视频
百度网盘链接:
https://pan.baidu.com/s/1oVk0VcFPoX8ELPkrCyQHhA
提取码:036o
书籍
百度网盘链接:
https://pan.baidu.com/s/1ARNl0uor6QalqFqhJVBGEA
提取码:41mv