数据结构和算法强化课程

基础数据结构和算法 大纲

数据结构和算法大纲

了解数据结构和算法

学会算法分析

  • 空间复杂度和时间复杂度的分析方法

学习递归的算法设计思想

  • 递归原理、递归的核心点、编程实现

排序

  • 排序算法种类很多,主要学习排序的原理、算法复杂度分析、原地排序、适用场景、编程实现

  • 冒泡排序

  • 插入排序
  • 快速排序
  • 堆排序
  • 了解下线性时间排序(桶排序、基数排序等)

中位数的算法思想分析

  • 编程实现
  • 简单,但是非常优秀的算法,在很多面试场景适用
  • 学习二分法

学习数据结构类型

  • 在linux操作系统层面的广泛存在、编程实现
  • 栈、队列、链表

字符串匹配

  • 最经典的KMP算法

Hash

  • 在存储、加密领域的运用、编程实现

树(以二叉树居多)

  • 树的类型、场景都比较丰富,复杂度也高,编程实现

  • 二叉树的定义

  • 二叉查找树、以及二叉查找树的搜索、插入、删除
  • 平衡二叉树
  • 红黑树
  • B树、B+数(我们常见的数据库系统的原理)

图论

  • 图的原理、编程
  • 广度优先搜索算法
  • 深度优先搜索算法
  • 几种常见的最短路径算法、Dijkstra等(这种算法在游戏开发中角色寻路)

贪心算法

  • 贪心算法的原理、编程实现、和变种实现

动态规划

  • 动态规划的原理、编程
  • 在面试过程中比较场景的算法考察

扩展内容,以一定的认知程度为主

  • 矩阵算法(常见于3D图像处理方面)
  • 数论的运算
坚持原创技术分享,谢谢鼓励我继续创作!