自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 快速排序和堆排序解析

快速排序属于交换类排序,它先选择序列中某个元素作为基准值,后端指针向前移动将找到一个小于此基准的元素放到当前空位置,然后前端指针向后移动找到一个大于此基准的元素放到空位置(这个过程感觉和华容道很像,每次将元素移动到空位置,移动后当前位置成为空位置)。当两指针交替移动,从而将序列划分为中间的基准元素、前面小于等于基准元素的子序列,后面大于等于基准元素的子序列三部分,这就是一趟划分的过程。再对前后两个子序列重复划分过程直到子序列只含一个元素或为空即可完成排序。

2025-01-03 17:51:45 874

原创 多源最短路Floyd算法

解决多源最短路问题,适用于计算图中任意两点间的最短路径。虽然Floyd算法由于考虑全局最优所以必须计算全节点最短路径,且处理全节点最短路径时间复杂度与多次调用Dijkstra算法相同,均为O(n³),但相比于Dijkstra算法,Floyd算法的代码更加简洁优雅,因此在多源最短路问题中应用广泛。

2025-01-02 20:07:25 356

原创 PTA-哈夫曼树及哈夫曼编码-手撕优先队列版

其中upbound编号,HT是哈夫曼树,HC是哈夫曼编码,w是权值,n是叶子节点个数。

2024-12-31 21:44:32 585

原创 PTA-合并石子及修理牧场题解

7-1 合并石子 分数 20 作者 张志梅 单位 青岛大学现在有n堆石子,我们要把它们合并成一堆。每一次合并,可以把两堆石子(可以不相邻)合并到一起,消耗的体力等于两堆石子的重量之和。显然,所有的石子经过 n−1 次合并之后,就只剩下一堆了。在合并石子时总共消耗的体力等于每次合并所耗体力之和。我们希望在合并石子时要尽可能地节省体力。假定每个石子重量都为1,并且已知石子的堆数和每堆石子的数目,求最少所消耗的体力。###输入格式:共两行。

2024-12-31 20:29:29 365

原创 数据结构——循环队列

用数组实现队列时,不同于栈的单指针双向移动,由于队列有两个指针,且出队入队操作首尾指针总向后移动,这势必会引起数组空间的浪费,因此有人提出了循环队列,它的基本思想就是在尾指针到达数组末尾时,返回开头利用头指针移动留下的空间,形成一种首尾相接的数据结构。下面来看循环队列的存储结构定义和各功能函数实现。这里只需要注意front指向的是队头第一个元素,出队是将front对应位置元素取出,而rear指向的是队尾的第一个空位置,最后一个元素下标应该是rear-1,入队是将元素放入rear对应位置中。

2024-12-15 16:48:45 211

原创 KMP算法代码解析和复杂度分析

本篇讲解了KMP的代码解析与复杂度,适合知道next数组含义并且会手算next的同学加深代码理解

2024-12-01 21:17:33 1013

空空如也

空空如也

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

TA关注的人

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