《数据结构和算法》之学习规划(1)
如果你不想成为代码工人,那就花时间来研究下数据结构和算法。
学习规划
数据结构和算法的介绍
- 数据结构的介绍
- 数据结构和算法的关系
- 看几个实际编程中遇到的问题
- 线性结构和非线性结构
稀疏数组和队列
- 稀疏sparsearray数组
- 队列
链表
- 链表(Linked List)介绍
- 单链表
- 双向链表
- 单向环形链表
- Jsosephu问题
栈
- 栈的一个实际需求
- 栈的介绍
- 栈的应用场景
- 栈的快速入门
- 栈实现综合计算器
- 前缀、中缀、后缀表达式(逆波兰表达式)
- 逆波兰表达式计算器
- 中缀表达式转换为后缀表达式
- 逆波兰计算器完整版
递归
- 递归应用场景
- 递归概念
- 递归调用机制
- 递归能解决什么问题
- 递归需要遵守的重要原则
- 迷宫问题
- 八皇后问题(回溯算法)
排序算法
- 排序算法的介绍
- 算法的时间复杂度
- 算法的空间复杂度简介
- 冒泡排序
- 选择排序
- 插入排序
- 希尔排序
- 快速排序
- 归并排序
- 基数排序(桶排序升级版)
- 常用排序算法总结和对比
查找算法
- 查找算法介绍
- 线性查找算法
- 二分查找算法
- 插值查找算法
- 斐波那契(黄金分割法)查找算法
哈希表
- 哈希表的基本原理
- 哈希表(散列) Google 上机题
树结构基础部分
- 二叉树
- 顺序存储二叉树
- 线索化二叉树
树结构实际应用
- 堆排序
- 赫夫曼树
- 赫夫曼编码
- 二叉排序树
- 平衡二叉树(AVL树)
多路查找树
- 二叉树与 B 树
- 2-3 树
- B树、B+ 树 和 B* 树
图
- 图的基本介绍
- 图的常用概念
- 图的快速入门案例
- 图的深度优先搜索算法介绍
- 图的创建和深度优先搜索算法
- 图的创建和深度优先搜索算法
程序员常用10大算法
- 二分查找算法(非递归)
- 分治算法
- 动态规划算法
- KMP 算法
- 贪心算法
- 普里姆算法
- 克鲁斯卡尔算法
- 迪杰斯特拉算法
- 弗洛伊德算法
- 马踏棋盘算法
以上是我的学习规划,大纲思路来自尚硅谷韩顺平老师的算法课程:视频链接贴一下:https://www.bilibili.com/video/BV1E4411H73v
说下自己的感受:算法这东西是提升一个程序员内涵的必经之路,但是在平常工作中又很少遇到算法,学习算法主要是以兴趣爱好为出发点,逐步深化为自己的编程思想逻辑,并尝试着用算法处理一些逻辑问题。
没其他好说的,每天能学到新知识,简直不要太开心,哈哈~