自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 【数据结构】排序之堆排序

堆排序 想要了解堆排序,就得先了解什么是堆。 想要了解什么是堆,先要了解什么叫完全二叉树。 想要了解什么是完全二叉树,先要了解什么是满二叉树。 想要了解满二叉树… emm 到满二叉树就够了。 一些基本的概念 满二叉树,很容易理解,就是一个把节点铺满的二叉树。 一个n层的二叉树,除了第n层节点全是叶子节点之外,其他层的节点,必须都有左右两个子节点。 如下图: 完全二叉树的定义比较抽象,可以借助满二叉树理解。 完全二叉树可以视为一个满二叉树在最后一层从右至左不间断地删除节点,比如: 这两个都是完全二叉树。

2020-12-23 13:01:02 418

原创 【数据结构】排序之归并排序

归并排序 归并,即“递归合并”。 归并排序的主要思路 Q:我们排序的目的是什么? A:让无序的序列变得有序。 比如说,下面有一个序列: 排序前 排序后 7654321 1234567 如果我们将这个序列从中间附近分开,分成两个子序列,想办法让这两个子序列变得有序。然后再把两个有序的子序列合并成一个有序的子序列,那么我们的排序不就完成了吗? 如下图: 这样一个大的任务被分成了两个子任务:对两个子序列进行排序 排序前 排序后 7654 4567 321 123 递归

2020-12-22 00:23:47 203

原创 【数据结构】排序之快速排序

快速排序思路+代码 快速排序基本原理 可以看出,快排这个算法很狂啊,直接叫自己快速排序。 它的基本思想很简单,被称为分治思想 分治:即分而治之,即把一个问题转化成多个与其相似的小问题,再去研究小问题的解法。实现上,常常使用递归来实现 快速排序的基本思路是:找出一个基准点(称作pivot),通过某种方式的移动,将pivot左面变成都是小于等于pivot的元素,将其右面变成都是大于等于pivot的元素。 这样,就产生了一个以pivot为中心的,更加趋于有序的序列: 再去对pivot的左半部分和右半部分进行相同

2020-12-21 17:14:48 302

原创 【数据结构】从BFS到迪杰斯特拉

从BFS到迪杰斯特拉 回顾图的BFS遍历 我们知道,图的BFS遍历有一个“附加功能”,就是可以求得无权图两点间的最短距离。 对图进行BFS遍历的过程很简单: 借助一个队列,首先起始节点入队,当队列不空的时候,弹出队首元素,再将其后继节点入队,不断重复这个过程。 下面,以0为起始点对上图进行广度优先遍历: 操作 队列 第一步:0入队 0 第二步:访问0,1、2、3入队 1 2 3 第三步:访问1,4入队 2 3 4 第四步:访问2,5入队 3 4 5 第五步:访问3 4 5

2020-12-21 00:26:07 557

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除