# 图解 Java 数据结构和算法 版本:尚硅谷_韩顺平 讲解的视频
配套练习项目仓库 (opens new window):https://github.com/zq99299/dsalg-tutorial-demo
基本上每个数据结构和算法都有配套的练习代码在仓库中,一般笔记中也会贴出来所在类路径,方便查找
该课程的学习笔记,目录导航如下
内容介绍
数据结构和算法概述
稀疏数组和队列
稀疏数组 队列 链表 Linked List
单链表 单链表面试题(新浪、百度、腾讯) 双向链表 单向环形链表-Josephu 问题 栈
栈快速入门 综合计算器-中缀表达式 三种表达式 逆波兰计算器-后缀表达式 中缀表达式转后缀表达式 递归
递归入门 递归-迷宫问题 递归-八皇后问题(回溯算法) 排序算法
算法时间复杂度 算法空间复杂度 冒泡排序 选择排序 插入排序 希尔排序 快速排序 归并排序 基数排序 常用排序算法总结对比 查找算法
顺序(线性)查找 二分查找/折半查找 插值查找 斐波那契查找 哈希表(散列)
树结构-基础
二叉树 顺序二叉树 线索化二叉树 树结构-实际应用
堆排序 赫夫曼树 赫夫曼编码 二叉排序树 平衡二叉树(AVL树) 多路查找树
二叉树与 B 树 树 B 树、B+ 树、B*树 图
图的基本介绍 图的表示方式 图的快速入门案例 图的深度优先遍历介绍 图的广度优先遍历 广度优先算法的代码实现 图的深度优先 VS 广度优先 常用 10 种算法
二分查找算法(非递归) 分治算法 动态规划算法 KMP 算法 贪心算法 普利姆算法 克鲁斯卡尔算法 迪杰斯特拉算法 弗洛伊德算法 马踏棋盘算法