排序_桶排序

排序_桶排序

bingliaolong Algorithm 6年前 28 0

简述 桶排序需要创建若干个桶来协助排序。 所谓桶,每个桶bucket代表一个区间范围,里面可以承载一个或多个元素。 复杂度 名称 最好 平均 最差 空间 稳定性 桶排序 n+k n nlog(n) n 是 实现 算法导论 桶排序思想,假设对数组A[p...r]排序,首先将这些元素...

搜索与图论模板

搜索与图论模板

bingliaolong Algorithm 4年前 14 0

树与图的存储 树是一种特殊的图,与图的存储方式相同。 对于无向图中的边ab,存储两条有向边a->b, b->a。 因此我们可以只考虑有向图的存储。 树与图的遍历 拓扑排序 时间复杂度O(n+m),n表示点数,m表示边数 朴素dijkstra算法 时间复杂度O(n*n+...

排序_基数排序

排序_基数排序

简述 基数排序思想,假设对数组A[p...r]排序,其中数组中所有元素都为正整数,并且不超过RADIXWITH位(有模板的RADIXWITH参数指定): 首先对A中所有元素按照个位数大小进行排序(原地的) 再对A中所有元素按照个十数大小进行排序(原地的) 一直到最后按照A中所有元...

动态规划一

动态规划一

bingliaolong Algorithm 9个月前 18 0

动态规划 概述 动态规划通过将复杂问题分解为相互重叠的子问题,并利用存储中间结果来避免重复计算,从而高效解决具有最优子结构特性的问题 其核心在于 “状态定义” 和 “状态转移” 实现步骤 定义状态 (State Definition) 这是动态规划最基础且关键的一步。你需要定义一...

排序_归并排序

排序_归并排序

bingliaolong Algorithm 5年前 25 0

简述 归并排序思想,假设对数组A[p...r]排序: 分解 将数组A[p...r]平均划分为2子数组A[p...q-1]个A[q...r],一直划分直到每个子数组只有1个元素 归并 对 A[p...q-1]和A[q...r]这两个已排序好的数组进行合并 复杂度 时间复杂度 O(n...

基础算法模板

基础算法模板

bingliaolong Algorithm 4年前 13 0

快速排序 归并排序 整数二分算法 浮点数二分算法 高精度加法 高精度减法 高精度乘低精度 高精度除以低精度 一维前缀和 二维前缀和 一维差分 二维差分 位运算 双指针算法 离散化 区间合并

排序_计数排序

排序_计数排序

bingliaolong Algorithm 6年前 24 0

简述 计数排序适用于对一定范围内的元素进行排序。 它的思路就是创建一个范围性的计数数组,用下标去对应元素的值,有几个元素,相应下面命中几次。然后根据元素命中次数对下标值进行一次输出,得到的序列就是有序的序列。 它是不需要进行元素比较。 注意: 当数列最大和最小值差距过大时,不适合...

数学知识模板

数学知识模板

bingliaolong Algorithm 4年前 24 0

试除法判定质数 试除法分解质因数 朴素筛法求素数 线性筛法求素数 试除法求所有约数 约数个数和约数之和 欧几里得算法 求欧拉函数 筛法求欧拉函数 快速幂 扩展欧几里得算法 高斯消元 递归法求组合数 通过预处理逆元的方式求组合数 Lucas定理 分解质因数法求组合数 卡特兰数 NI...

动态规划相关

动态规划相关

bingliaolong Algorithm 2年前 10 0

概述 动态规划(Dynamic Programming,简称 DP)是一种通过分解问题来解决复杂问题的算法技术,特别适用于具有最优子结构性质的问题,即问题的最优解可以由其子问题的最优解构建而成 动态规划的核心思想是将问题分解成更小的子问题,并保存这些子问题的解,避免重复计算,从而...

贪心算法

贪心算法

bingliaolong Algorithm 2年前 24 0

概述 贪心算法(Greedy Algorithm)是一种构造性算法,用于解决最优化问题 其核心思想是在每一步选择中,都采取当前状态下最优的选择,期望通过一系列局部最优的选择达到全局最优 贪心算法在许多实际问题中非常有效,但并不是所有问题都适用 特点 局部最优选择 每一步都选择当前...

扫一扫二维码分享