自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++中堆排序详解

堆(Heap)是一种特殊的完全二叉树结构,它通常被用作优先队列的实现,或者是在实现如堆排序这样的算法时用到。堆有两种主要的类型:最大堆(Max Heap)和最小堆(Min Heap)。完全二叉树:除了最后一层外,每一层都被完全填满,并且所有节点都尽可能地向左对齐。也就是说,除最后一层外,所有层均为满层。最后一层,所有节点的排布都要靠左,直至排满。(个人理解)。最大堆:每个父节点的值都大于其子节点的值。(所有父亲都比儿子大)根节点最大最小堆:每个父节点的值都小于其子节点的值。

2024-09-03 13:49:44 280

原创 快速选择算法与快速排序算法

快速排序算法,时间复杂度为O(n log n),最坏的情况是O(n^2)。实现思想:选择一个基准元素,将数组分成两部分:比基准元素小的元素和比基准元素大的元素。小的元素,它通过分治的方式,在每次分区后只递归地处理包含目标元素的那一半数组。1. 选择基准元素,可以是第一个元素、最后一个元素、中间元素,或者随机选择。2. 设定两个指针,左指针指向数组的起始位置,右指针指向数组的结束位置,移动这两个指针,将数组分成两部分。使用两个指针,left 指向数组的起始位置,right 指向数组的末尾位置。

2024-07-15 22:38:30 520

空空如也

空空如也

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

TA关注的人

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