SM2官方文档整理 算法原理 SM2算法介绍 我国自主知识产权的商业密码算法,是ECC(椭圆加密算法)的一种,基于椭圆曲线离散对数问题(公钥密码体制所依据的难题主要为大素数分解问题、离散对数问题、椭圆曲线),计算复杂度是指数级。同等安全条件下,椭圆曲线密码较其他公钥算法所需密钥长度小很多。 ElGa ...
分类:
其他好文 时间:
2021-05-24 12:39:12
阅读次数:
0
优先队列用法详解 简介 运用c++STL,优先队列的实现:priority_queue 使用方法与其他STL类似(如vector,stack,queue 优点1:自动排序,时间复杂度log级别 优点2:已封装。使用方便 使用方法 top// 访问队头元素 empty// 队列是否为空 size// ...
分类:
其他好文 时间:
2021-05-24 11:54:02
阅读次数:
0
JS动画 缺点:(1)JavaScript在浏览器的主线程中运行,而主线程中还有其它需要运行的JavaScript脚本、样式计算、布局、绘制任务等,对其干扰导致线程可能出现阻塞,从而造成丢帧的情况。 (2)代码的复杂度高于CSS动画 优点:(1)JavaScript动画控制能力很强, 可以在动画播放 ...
分类:
Web程序 时间:
2021-05-24 10:17:12
阅读次数:
0
排序方法 平均情况 最坏情况 最好情况 空间复杂度 稳定性 复杂性 直接插入排序 O(n^2) O(n^2) O(n) O(1) 稳定 简单 希尔排序 O(nlog2n) O(nlog2n) O(1) 不稳定 较复杂 冒泡排序 O(n^2) O(n^2) O(n) O(1) 稳定 简单 快速排序 O ...
分类:
编程语言 时间:
2021-05-24 10:05:48
阅读次数:
0
对于包含n个数的数组而言,快速排序是一种最坏时间复杂度为O(n2)的排序算法。虽然最环情况很差,但是快速排序往往是排序时的最优选择,因为期望时间复杂度为Θ(nlogn),并且常数很小。 快速排序的描述: 快速排序使用了分治的思想,下面是快速排序的分治步骤: 分解:将数组A[l, r] 划分为A[l, ...
分类:
编程语言 时间:
2021-05-24 09:57:04
阅读次数:
0
简单题: 只出现过一次数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1]输出: 1示例 2: 输入: [4,1,2,1,2]输出: ...
分类:
其他好文 时间:
2021-05-24 08:14:02
阅读次数:
0
###双指针算法: 核心思想就是缩减时间复杂度 for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { 时间复杂度是O(n * n) } } 双指针模板 for (i = 0; j = 0; j < n; j++) { while (j ...
分类:
其他好文 时间:
2021-05-24 08:01:14
阅读次数:
0
思路: 还是异或的题。 因为我们前一道题已经得到一个算法,(3 ^ 4 ^ 5) = (1 ^ 2) ^ (1 ^ 2 ^ 3 ^ 4 ^ 5),所以在这题也可以通过该算法来减少异或次数。 我们有个很直接的想法就是从queries没获取一个查询范围,就从L-R的异或,那么最坏时间复杂度就是O(n*m ...
分类:
编程语言 时间:
2021-05-24 06:47:25
阅读次数:
0
前缀和: 例如原数组 a1 , a2 , a3 , ..... an 前缀和:Si = a1 + a2 + a3 + ... + ai 1、如何求Si for i = 1; i ? n; i++ s[i] = s[i-1] + ai 2、作用:求数组中某段的合 [l, r] 普通方法时间复杂度是O( ...
分类:
其他好文 时间:
2021-05-24 06:40:51
阅读次数:
0
解决 TOP k 问题通常可采用 堆排序 和 快速排序的思想 1. 大根堆(前 K 小) / 小根堆(前 K 大): 时间复杂度O(NlogK) c++ STL 中提供了 priority_queue 实现堆的基本功能,比如 priority_queue <int> pq; 堆 pq 的元素都是 i ...
分类:
编程语言 时间:
2021-05-24 05:41:19
阅读次数:
0