大根堆

LayZhangStrive12 天前
java·数据结构·算法·排序算法·堆排序·大根堆
数据结构与算法 - 堆排序在早期排序算法中,冒泡、简单选择、直接插入排序时间复杂度 O(n2),数据量大效率很差;归并排序可以做到 O(nlogn),但是需要额外 O (n) 辅助空间,无法原地排序;快速排序平均O(nlogn),最坏退化到O(n2),不稳定。为了解决:希望拥有 O(nlogn) 时间复杂度,并且能够原地排序,不占用大量额外内存,堆排序基于堆(完全二叉树)的数据结构思想被提出。
qz5zwangzihan12 个月前
c++·题解·优先队列·atcoder·大根堆·abc466·abc466f
题解:Atcoder Beginner Contest abc466 F - Many Mod Calculation给你整数 $N,X$ 和长度为 $N$ 的正整数序列 $A=(A _ 1,A _ 2,\ldots,A _ N)$ 。
进击的圆儿1 年前
算法·排序算法·分治·快排·大根堆·小根堆
分治算法_快速排序专题总结-----分治分治算法-快速排序专题集中刷题,从基础到进阶:重点突破了递归出口的理解和快速选择算法的优化思想。分治(Divide and Conquer) 是一种算法设计思想,将原问题分解为若干个规模较小的子问题,递归地解决这些子问题,然后将子问题的解合并为原问题的解。
hhhcbw2 年前
java·数据结构·c++·stl··大根堆·小根堆
C++ STL容器(五) —— priority_queue 底层剖析这篇来讲下 priority_queue,其属于 STL 的容器适配器,容器适配器是在已有容器的基础上修改活泼限制某些数据接口以适应更特定的需求,比如 stack 栈使数据满足后进先出,queue 队列使数据满足先进先出,其都是在已有容器上进行适配,以满足更细的需求。
我是有底线的