摘要:
高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下图: 阅读全文
posted @ 2022-07-26 12:34
开源遗迹
阅读(85)
评论(0)
推荐(0)
摘要:
现在假设有一个很实际的问题:我们要在 n 个城市中建立一个通信网络,则连通这 n 个城市需要布置 n-1 一条通信线路,这个时候我们需要考虑如何在成本最低的情况下建立这个通信网?于是我们就可以引入连通图来解决我们遇到的问题, n 个城市就是图上的 n 个顶点,然后,边表示两个城市的通信线路,每条边上 阅读全文
posted @ 2022-07-26 12:32
开源遗迹
阅读(63)
评论(0)
推荐(0)
摘要:
在搜索算法中优化中,剪枝,就是通过某种判断,避免一些不必要的遍历过程,形象的说,就是剪去了搜索树中的某些“枝条”,故称剪枝。应用剪枝优化的核心问题是设计剪枝判断方法,即确定哪些枝条应当舍弃,哪些枝条应当保留的方法。 阅读全文
posted @ 2022-07-26 12:16
开源遗迹
阅读(286)
评论(0)
推荐(0)
摘要:
将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。 public class radixSort {int a[]={49,38,65,97,76,13,27,49,78,34 阅读全文
posted @ 2022-07-26 12:14
开源遗迹
阅读(30)
评论(0)
推荐(0)
摘要:
桶排序的基本思想是:把数组 arr 划分为 n 个大小相同子区间(桶),每个子区间各自排序,最后合并 。基数排序是桶排序的一种特殊情况,可以把基数排序当成每个桶里只有一个元素的情况。1.找出待排序数组中的最大值 max、最小值 min2.我们使用 动态数组 ArrayList 作为桶,桶里放的元素也 阅读全文
posted @ 2022-07-26 12:03
开源遗迹
阅读(74)
评论(0)
推荐(0)
摘要:
归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 public class MergeSortTest {public static void main(String[] args) 阅读全文
posted @ 2022-07-26 11:51
开源遗迹
阅读(85)
评论(0)
推荐(0)
摘要:
基本思想:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序” 时,再对全体记录进行依次直接插入排序。1. 操作方法:选择一个增量序列 t1, t2, …, tk,其中 ti>tj, tk=1;2. 按增量序列个数 k,对序列进行 k 趟排序;3. 每趟排序 阅读全文
posted @ 2022-07-26 11:45
开源遗迹
阅读(35)
评论(0)
推荐(0)
摘要:
快速排序的原理:选择一个关键值作为基准值。比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的)。 一般选择序列的第一个元素。一次循环:从后往前比较,用基准值和最后一个值比较,如果比基准值小的交换位置,如果没有继续比较下一个,直到找到第一个比基准值小的值才交换。 找到这个值之 阅读全文
posted @ 2022-07-26 11:08
开源遗迹
阅读(35)
评论(0)
推荐(0)
摘要:
通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入。插入排序非常类似于整扑克牌。在开始摸牌时,左手是空的,牌面朝下放在桌上。接着,一次从桌上摸起一张牌,并将它插入到左手一把牌中的正确位置上。 为了找到这张牌的正确位置,要将它与手中已有的牌从右到左地进行比较。无论什么时 阅读全文
posted @ 2022-07-26 10:56
开源遗迹
阅读(38)
评论(0)
推荐(0)
摘要:
(1)比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。(2)这样对数组的第 0 个数据到 N-1 个数据进行一次遍历后,最大的一个数据就“沉” 到数组第N-1 个位置。(3) N=N-1,如果 N 不为 0 就重复前面二步,否则排序完成 public static void 阅读全文
posted @ 2022-07-26 10:05
开源遗迹
阅读(30)
评论(0)
推荐(0)

浙公网安备 33010602011771号