算法
算法
李景琰
y-aicloud.com。专注Java/Go/Python/大数据/前端/文档/运维等,网站/后台/小程序/H5/电脑DIY等。
沉淀、成长、突破,超越自己,才是真的高贵!
展开
-
算法之基数排序
基数排序:将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位 开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序 列。原创 2023-07-27 19:47:31 · 104 阅读 · 0 评论 -
算法之桶排序算法
桶排序的基本思想是: 把数组 arr 划分为 n 个大小相同子区间(桶),每个子区间各自排序,最 后合并。计数排序是桶排序的一种特殊情况,可以把计数排序当成每个桶里只有一个元素的情况。2.使用 动态数组 ArrayList 作为桶,桶里放的元素也用 ArrayList 存储。桶的数量为(maxmin)/arr.length+1。3.遍历数组 arr,计算每个元素 arr[i] 放的桶。1.找出待排序数组中的最大值 max、最小值 min。原创 2023-07-27 19:24:08 · 582 阅读 · 0 评论 -
算法之归并排序算法
归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列 分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。原创 2023-07-27 18:57:04 · 273 阅读 · 0 评论 -
算法之二分查找
二分查找 又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置 的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小, 则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。原创 2023-07-27 16:57:21 · 209 阅读 · 0 评论 -
Java泊松分布
Poisson泊松分布,是一种统计与概率学里常见到的离散概率分布。泊松分布的概率函数为:泊松分布的参数λ是单位时间(或单位面积)内随机事件的平均发生次数。泊松分布适合于描述单位时间内随机事件发生的次数。泊松分布的期望和方差均为λ。原创 2023-05-06 17:25:18 · 635 阅读 · 0 评论 -
算法之Redis集群CRC16算法
算法原理:将需要发送15位的二进制信息,表示为代数多项式g(x) = x^14 + x^12 + x^9 + x^8 + x^7 + x^5 + 1,其中g中第k位的值,对应g(x)中x^k的系数。查表法是将移位异或的计算结果做成了一个表,就是将0~256放入一个长度为16位的寄存器中的低八位,高八位填充0,然后将该寄存器与多项式0XA001按照上述3、4步骤,直到八位全部移出,最后寄存器中的值就是表格中的数据,高八位、低八位分别单独一个表。或者将接受到的所有信息除多项式,如果能够除尽,则信息正确。原创 2023-03-27 17:05:17 · 1057 阅读 · 0 评论 -
算法之希尔排序-改进的插入排序
希尔排序将整个数组根据间隔h分割为若干个子数组,他们相互穿插在一起,每一次排序时,分别对每一个子数组进行排序。当h=3时,希尔排序将整个数组分为交织在一起的三个子数组。如图所示。其中,所有的方形为一个子数组,所有的圆形、三角形分别组成另外两个子数组。每次排序时总是交换间隔为h的两个元素。在每一组排序完成后,可以递减h的值,进行下一轮更加精细的排序。直到h=1,此时等价于一次插入排序。原创 2023-03-13 11:43:28 · 170 阅读 · 0 评论 -
算法之插入排序
插入排序的基本思想:一个未排序的数组(链表)可分为两部分,前部分时已排序的,后半部分是未排序的。在进行排序时,在未排序的部分中选择一个元素,将其插入前面有序的数组中即可。最终,未排序的部分直到0,排序就完成了。当前数据的插入依赖于上一次得到的有序序列,所以插入排序很难并行化。原创 2023-03-13 10:20:45 · 98 阅读 · 0 评论 -
算法之奇偶交换排序
奇偶排序解开了冒泡排序每次迭代交换数据的相关性。它将排序分为两个过程,奇交换和偶交换。对于奇交换来说,它总是比较奇数索引及其相邻的后续元素。对于偶交换来说,它总是比较偶数索引及其相邻的后续元素。奇交换和偶交换会成对出现,这样能保证比较和交换涉及数组中的每一个元素。原创 2023-03-12 16:10:51 · 665 阅读 · 0 评论 -
算法之冒泡排序
在每次迭代的交换过程中,由于每次交换的两个元素存在数据冲突,对于每个元素,它既可能与前面的元素交换,也可能与后面的元素交换,因此很难直接改造成并行算法。在冒泡排序的执行过程中,如果数字较小,就会逐步被交换到前面去,相反,对于大的数字,则会下沉,交换到数组的末尾。该算法的最差时间复杂度为O(n2),最优时间复杂度为O(n),平均时间复杂度为 O(n2)。原创 2023-03-12 15:28:58 · 111 阅读 · 0 评论 -
矩阵算法之矩阵乘法
1、当矩阵A的列数(column)等于矩阵B的行数(row)时,A与B可以相乘。2、矩阵C的行数等于矩阵A的行数,C的列数等于B的列数。3、乘积C的第m行第n列的元素等于矩阵A的第m行的元素与矩阵B的第n列对应元素乘积之和。原创 2023-03-12 13:51:53 · 27686 阅读 · 1 评论