《数据结构和算法》之学习规划(1)-编程思维

如果你不想成为代码工人,那就花时间来研究下数据结构和算法。


 

 学习规划


 

数据结构和算法的介绍

  • 数据结构的介绍
  • 数据结构和算法的关系
  • 看几个实际编程中遇到的问题
  • 线性结构和非线性结构

稀疏数组和队列

  •  稀疏sparsearray数组
  •  队列

链表

  • 链表(Linked List)介绍
  • 单链表
  • 双向链表
  • 单向环形链表
  • Jsosephu问题

栈 

  •  栈的一个实际需求
  •  栈的介绍
  •  栈的应用场景
  •  栈的快速入门
  •  栈实现综合计算器
  •  前缀、中缀、后缀表达式(逆波兰表达式)
  •  逆波兰表达式计算器
  •  中缀表达式转换为后缀表达式
  •  逆波兰计算器完整版

递归

  • 递归应用场景
  • 递归概念
  • 递归调用机制
  • 递归能解决什么问题
  • 递归需要遵守的重要原则
  • 迷宫问题
  • 八皇后问题(回溯算法)

排序算法

  • 排序算法的介绍
  • 算法的时间复杂度
  • 算法的空间复杂度简介
  • 冒泡排序
  • 选择排序
  • 插入排序
  • 希尔排序
  • 快速排序
  • 归并排序
  • 基数排序(桶排序升级版)
  • 常用排序算法总结和对比

查找算法

  •  查找算法介绍
  •  线性查找算法
  •  二分查找算法
  •  插值查找算法
  •  斐波那契(黄金分割法)查找算法

哈希表

  •  哈希表的基本原理
  •  哈希表(散列) Google 上机题

树结构基础部分

  •  二叉树
  •  顺序存储二叉树
  •  线索化二叉树

树结构实际应用

  •  堆排序
  •  赫夫曼树
  •  赫夫曼编码
  •  二叉排序树
  •  平衡二叉树(AVL树)

多路查找树 

  • 二叉树与 B 树
  • 2-3 树
  • B树、B+ 树 和 B* 树

  • 图的基本介绍
  • 图的常用概念
  • 图的快速入门案例
  • 图的深度优先搜索算法介绍
  • 图的创建和深度优先搜索算法
  • 图的创建和深度优先搜索算法

程序员常用10大算法

  •  二分查找算法(非递归)
  •  分治算法
  •  动态规划算法
  •  KMP 算法
  •  贪心算法
  •  普里姆算法
  •  克鲁斯卡尔算法
  •  迪杰斯特拉算法
  •  弗洛伊德算法
  •  马踏棋盘算法

 


 

以上是我的学习规划,大纲思路来自尚硅谷韩顺平老师的算法课程:视频链接贴一下:https://www.bilibili.com/video/BV1E4411H73v

说下自己的感受:算法这东西是提升一个程序员内涵的必经之路,但是在平常工作中又很少遇到算法,学习算法主要是以兴趣爱好为出发点,逐步深化为自己的编程思想逻辑,并尝试着用算法处理一些逻辑问题。

没其他好说的,每天能学到新知识,简直不要太开心,哈哈~

版权声明:本文版权归作者所有,遵循 CC 4.0 BY-SA 许可协议, 转载请注明原文链接
https://www.cnblogs.com/dk1024/p/13200236.html