![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
算法
北方的孤夜
程序猿,代码搬运工
展开
-
Leetcode 阶乘后的零【Java&Golang&Rust】
阶乘后的零 Java&Golang&Rust原创 2023-06-05 22:51:14 · 27 阅读 · 0 评论 -
CSDN每日一练 醉酒的狱卒【Java&Golang】
CSDN 每日一练 醉酒的狱卒 Java&Golang原创 2023-06-01 22:42:04 · 137 阅读 · 0 评论 -
【KMP算法】 Golang实现
KMP算法 Golang实现原创 2023-05-12 21:02:36 · 197 阅读 · 0 评论 -
【排序算法】十大排序之快速排序
快速排序是一种分治的排序算法。快速排序的基本思想:通过一趟排序将待排序列分隔成独立的两部分,其中一部分记录的元素均比另一部分的元素小,则可分别对这两部分子序列继续进行排序,以达到整个序列有序。原创 2023-04-30 22:51:46 · 115 阅读 · 0 评论 -
【排序算法】十大排序之归并排序
归并排序是一种经典的分治算法,它将数组分成两个子数组,对每个子数组递归地应用归并排序,最后将两个有序的子数组合并成一个有序的数组。原创 2023-05-05 02:26:23 · 35 阅读 · 0 评论 -
【排序算法】十大排序之堆排序
堆是一种叫做完全二叉树的数据结构,可以分为大根堆,小根堆,而堆排序就是基于这种结构而产生的一种程序算法。原创 2023-04-29 22:25:22 · 93 阅读 · 1 评论 -
【排序算法】十大排序之计数排序
计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,。计数排序 (Counting sort) 是一种稳定的排序算法。计数排序使用一个额外的数组C,其中第i个元素是待排序数组A中值等于i的元素的个数。然后根据数组C来将A中的元素排到正确的位置。计数排序是一个非基于比较的,该算法于1954年由 Harold H. Seward 提出。它的优势在于在对一定范围内的整数排序时,它的为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法。原创 2023-04-29 01:36:15 · 114 阅读 · 1 评论 -
【排序算法】十大排序之基数排序
基数排序是一种非比较排序算法,通过将数字按照各个位上的数字进行排序,以达到排序的目的。它的基本思想是先按照最低位的数字进行排序,然后依次往高位进行排序,直到最高位。基数排序的时间复杂度为O(d(n+r)),其中n是待排序数组的长度,d是最大数字的位数,r是数字的基数,例如10进制中r=10。基数排序可以用于大数据量的排序,并且不受数字大小的限制。原创 2023-04-28 16:41:49 · 493 阅读 · 1 评论 -
【排序算法】十大排序之桶排序
桶排序是一种线性时间复杂度的排序算法,它的基本思想是将待排序的数据分到若干个桶中,每个桶再单独进行排序,最后将各个桶中的数据按照顺序依次取出来即可。桶排序的时间复杂度为O(n),但是空间复杂度较高,因为需要使用一个数组来存储桶。同时,桶排序只适用于数据分布比较均匀的情况,如果数据分布不均匀,可能会导致某些桶中数据量过大或者过小,影响排序效率。原创 2023-04-27 23:30:21 · 112 阅读 · 0 评论