## 队列
- 括号匹配(搞定)
- 用栈实现递归式的非递归代码P90
## 树
**🌲的考察在于各种树的特点,以及树的遍历算法**
- 先序
- 递归
- 非递归
- 后序
- 递归
- 非递归
- 中序
- 递归
- 非递归
- 层序
- 线索化
- 求二叉树的高度
- 递归
- 非递归
### 平衡二叉树
- 判断一棵树是否为平衡二叉树 (2019-9-6)
## 图
### 遍历问题
- 2019 7 28 新增DFS
- 2019 7 31 新增BFS
### 最小生成树问题
- Prim
- kruskal
### 最短路径问题
- Dijkstra
- Floyd-Warshall
### 拓扑排序
## 查找
### KMP算法
- get_next
- next_val
- kmp
## 排序算法
### 快速排序
- 递归版本已经完成
- 非递归版本待更新
### 堆排序
- 堆排序
- 堆的建立
- 从i/2开始—>1
- 堆的删除
- 堆的删除仅针对于根结点,每次删除时将根结点与最后一个元素交换然后自顶向下调整堆
- 堆的插入
- 插入时查找堆的末尾(即数组最后)然后自上而下的调整堆
- 建立堆的时间复杂度$O(n)$
- 调整堆的时间复杂度 $O(log_2n)$
- 判断一个堆是大顶堆的算法
### 归并排序
- 已经更新
### 希尔排序
- 2019 9 18更新完成
### 课后习题
- 奇偶顺序排序 ✅
- 找到第k小的数 ✅
上面两个算法有异曲同工之处 注意结合快排理解
- 双向冒泡排序 ✅
没有合适的资源?快使用搜索试试~ 我知道了~
基于 C++的 《数据结构》经典算法代码
共98个文件
cpp:92个
md:2个
txt:1个
0 下载量 80 浏览量
2024-05-07
06:47:58
上传
评论
收藏 124KB ZIP 举报
温馨提示
数据结构 基于 C++的 《数据结构》经典算法代码
资源推荐
资源详情
资源评论
收起资源包目录
DataStructure-code.zip (98个子文件)
DataStructure-code
.DS_Store 6KB
CMakeLists.txt 173B
图
BFS_AdjMatrix.cpp 1KB
BFS_Min_Distance.cpp 1KB
DFS_Matrix.cpp 870B
DijkstraAlgorithm.cpp 1KB
考研算法真题
2018算法题.cpp 2KB
2013算法题.cpp 2KB
2011算法题.cpp 3KB
2010算法题.cpp 1KB
2014算法题.cpp 1KB
常用算法数据结构
堆.cpp 1KB
字符串处理
十进制转二进制.cpp 239B
查找
KMP.cpp 1KB
折半查找.cpp 1KB
折半查找递归版.cpp 596B
线性表
课后算法习题.c 7KB
数据结构公式总结.md 445B
经典算法练习题
二叉搜索树的第k个结点.cpp 775B
L26二叉搜索树与双向链表.cpp 901B
L22从上往下打印二叉树.cpp 945B
L19顺时针打印矩阵.cpp 1KB
数组中只出现一次的数字.cpp 416B
巧妙两数相加.cpp 542B
L06旋转数组中最小的元素.cpp 576B
默写-快速排序.cpp 893B
L17树的子结构.cpp 1KB
L15反转链表.cpp 836B
机器人的运动范围.cpp 1KB
L20包含min函数的栈.cpp 694B
L18二叉树的镜像.cpp 547B
L12数值的整数次方.cpp 532B
巧妙计算1加到n.cpp 513B
按层打印二叉树.cpp 1018B
序列化二叉树.cpp 1KB
L30连续数组的最大和.cpp 2KB
统计一个数字在排序数组中出现的次数.cpp 576B
L08跳台阶.cpp 350B
L34第一个只出现一次的字符.cpp 341B
L03从尾到头打印链表.cpp 764B
和为S的连续正数序列.cpp 686B
L11二进制中1的个数.cpp 485B
构建数组乘积.cpp 507B
和为S的两个数字.cpp 798B
二叉树的深度.cpp 600B
L14链表中倒数第k个结点.cpp 850B
翻转单词顺序序列.cpp 810B
L09变态跳台阶.cpp 125B
L28数组中出现次数超过一半的数字.cpp 833B
二叉树的下一个结点.cpp 1KB
L24二叉树中和为某一值的路径.cpp 1KB
L13调整数组顺序使得奇数在偶数前面.cpp 937B
L07斐波那契数列.cpp 601B
对称的二叉树.cpp 2KB
L25复杂链表的复制.cpp 2KB
字符流中第一个不重复的字符.cpp 860B
L29最小的K个数.cpp 1KB
L31从1到n中1出现的次数.cpp 917B
L27字符串的排列.cpp 1KB
L23二叉搜索树的后续遍历序列.cpp 997B
L21栈的压入弹出序列.cpp 1KB
L04重建二叉树.cpp 2KB
判断是否是平衡二叉树.cpp 820B
孩子们的游戏.cpp 1KB
删除链表中重复的结点.cpp 813B
按照之字型打印二叉树.cpp 1KB
左旋转字符串.cpp 365B
L05两个栈实现一个队列.cpp 468B
L02替换空格.cpp 420B
L10矩形覆盖.cpp 274B
链表中环的入口结点.cpp 1KB
L01二维数组中的查找.cpp 561B
L35数组中的逆序对.cpp 1KB
数据流中的中位数.cpp 1KB
L32把数组排列成最小的数.cpp 422B
两个链表的第一个公共结点.cpp 544B
矩阵中的路径.cpp 1KB
L33丑数.cpp 824B
L16合并两个排序的链表.cpp 1008B
树
判断是否为平衡二叉树的算法.cpp 2KB
TreeTraverse.cpp 5KB
平衡二叉树.cpp 2KB
给定高度求平衡二叉树结点个数.cpp 295B
求二叉树的高度.cpp 1KB
.gitignore 39B
README.md 1KB
排序
第k小的数字.cpp 1KB
所有奇数移动到偶数前的算法.cpp 1KB
堆排序.cpp 2KB
插入排序.cpp 467B
希尔排序.cpp 1KB
双向冒泡排序.cpp 1KB
快速排序.cpp 992B
归并2.cpp 1009B
选择排序.cpp 673B
冒泡排序.cpp 661B
快速排序-非递归版.cpp 1KB
归并排序.cpp 2KB
共 98 条
- 1
资源评论
MarcoPage
- 粉丝: 3411
- 资源: 4200
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功