数据结构与算法
文章平均质量分 92
数据结构与算法笔记, 主要记录一些算法实现过程, 用于复习
ClearZeroX
CRUD攻城狮
展开
-
二叉搜索树 BST
文章目录一、判断 BST 的合法性二、在 BST 中搜索一个数三、在 BST 中插入一个数四、在 BST 中删除一个数最后总结原文:https://mp.weixin.qq.com/s?__biz=MzAxODQxMDM0Mw==&mid=2247488128&idx=2&sn=b8fb3fd2917f9ac86127054741cd5877&chksm=9bd7ec88aca0659ee0185b657663169169493e9df2063fa4d28b38a0b4d转载 2021-03-30 17:43:53 · 206 阅读 · 0 评论 -
二叉堆、堆排序、优先级队列
文章目录一、二叉堆1.最大堆2.最小堆3.二叉堆相关操作1) 插入节点2) 删除节点3) 构建二叉堆二、堆排序1、代码实现2、复杂度分析1) 空间复杂度2) 时间复杂度3) 对比快排三、参考资料堆排序 用代码来实现优先级队列一、二叉堆二叉堆本质上是一棵完全二叉树, 分为最大堆和最小堆两种; 二叉堆的根节点叫做堆顶。二叉堆本质虽然是完全二叉树, 但是地层没有实现链表(链式存储)实现, 而是使用**数组(顺序存储)**实现。根据二叉树的性质, 假设父节点的索引为i, 则左孩子所以为2i+1, 右孩子索引原创 2020-11-11 00:29:53 · 233 阅读 · 0 评论 -
分治思想实现归并排序
文章目录写在最前概念归并思路实现方式(两种)1、自上向下的递归实现, 采用的分治的思想代码实现时间复杂度空间复杂度2、自底向上方法, 也就是常说的二路归并总结参考写在最前本文用来记录自己的工作、学习遇到的问题, 好记性不如烂笔头, 起的更多的是笔记的作用, 由于本人表达能力、技术水平有限, 本文仅起参考作用, 一切以您实际code为准, 给您带来的不便敬请谅解; 如果发现哪里理解不对或者有问题的地方, 欢迎批评指正. 也欢迎添加我的微信一起讨论交流.微: ClearZeroX概念归并排序是指将两个(原创 2020-11-03 17:24:19 · 872 阅读 · 0 评论 -
挖坑法、指针交换法实现快速排序
文章目录写在最前快速排序时间复杂度挖坑法实现指针交换法实现(双边指针)指针交换法实现(单边指针)指针交换法(双边)(使用栈实现)参考资料写在最前本文用来记录自己的工作、学习遇到的问题, 好记性不如烂笔头, 起的更多的是笔记的作用, 由于本人表达能力、技术水平有限, 本文仅起参考作用, 一切以您实际code为准, 给您带来的不便敬请谅解; 如果发现哪里理解不对或者有问题的地方, 欢迎批评指正. 也欢迎添加我的微信一起讨论交流.微: ClearZeroX快速排序同冒泡排序一样, 快速排序也是交换排序,原创 2020-10-31 11:34:00 · 327 阅读 · 0 评论 -
冒泡排序基本实现及逐步优化
写在最前本文用来记录自己的工作、学习遇到的问题, 由于本人表达能力、技术水平有限, 本文仅起参考作用, 一切以您实际code为准, 给您带来的不便敬请谅解; 如果发现哪里理解不对或者有问题的地方, 欢迎批评指正. 也欢迎添加我的微信一起讨论交流.微: ClearZeroX冒泡排序每一轮比较都能确定这轮的最大数简单实现public class BubbleSort{ public void sort(int[] arr){ for(int i = 0; i < arr原创 2020-10-30 11:29:19 · 193 阅读 · 2 评论