学习
jessy!
这个作者很懒,什么都没留下…
展开
-
Https建立通信过程
Https建立通信过程https比http多了加密传输的功能,即在http下加入SSL层。建立通信过程:首先查找通过tcp的三次握手与服务器建立连接,然后开始与服务器协商加密。服务端返回证书,证书中有公钥。客户端验证证书合法性,然后生成对称密钥(随机数),使用证书中的公钥加密刚刚生成的对称密钥,发送到服务器端。服务器用私钥解密,获得对称密钥,使用对称密钥来加密数据然后传输。客户端用自己生成的对称密钥解密数据,SSL开始通信...原创 2021-03-11 11:43:16 · 314 阅读 · 0 评论 -
佛洛依德算法求最短路径(记录路径信息)
佛洛依德算法:利用D矩阵拿到邻接矩阵中的权值。path矩阵记录两点之间的移动中转点(初始值为起点)。对于邻接矩阵中 i 到 j 点的权值进行比较,若加上一个中转点 k 后的权值小于原本的权值,则对D[i][j]改为较小的D[i][k] + D[k]+[j]而更新之后,路径则是从i–j改为i–k--j,所以path[i][j] = path[k][j];若要输出 i到 j的路径,要循环输出p...原创 2019-11-18 13:38:21 · 1444 阅读 · 0 评论 -
归并排序实现(递归与非递归)
归并排序实现原理的个人理解将数组不断等分成一个个小数组,再对每个小数组进行排序合并成一个新的有序数组。特点:稳定,当元素相同时不移动元素的位置,按照输入顺序来排,比较次数一般少于快排,移动次数一般多于快排JavaScript递归实现:function merge(left, right){ var result = []; while(left.length > 0 &...原创 2019-10-22 20:11:43 · 282 阅读 · 0 评论 -
十进制转x进制,x进制转十进制,以及任意进制相加
1.由十进制转化为x进制#include <iostream>#include <cstring>using namespace std;void change1(int num,int x); //十进制转2到16进制的数int main(){ int x; //x为进制 int num; cout <<...原创 2019-04-12 18:38:00 · 1949 阅读 · 4 评论 -
c++链表的创建(顺逆序输出)
先定义一个结构体struct item{ int data; //存放数据 item* next;};顺序输出则需要三个指针:head p2(temp) tailhead用来保存开头的数据地址,p2用来中转,实现新链表的连接工作输出则从head开始,直到head为NULL int i; item*head=NULL; ite...原创 2019-04-21 19:14:39 · 1889 阅读 · 0 评论 -
ACM 1103 开心的金明(初了解栈与堆内存问题)
原题链接:本题为经典的01背包问题,运用公式可求最优解,详解可看本人在题目“采药”中的解答#include <iostream>#include <stdio.h>#include <cmath>using namespace std;int f[26][30001]={};int main(){ int N,m; ...原创 2019-04-26 15:53:08 · 206 阅读 · 0 评论 -
大整数阶乘
题目描述:对输入正整数n,输出n!准确值(0<n<10^5)该题的位数太过庞大,用整型或是浮点型都是不能表示出来,需要使用数组来储存大量的位数。阶乘的算法:从1到n,每个数都把原数组储存到的数乘一遍,再覆盖进去例如:5!=12345,而1234=24,则54321=524,也就是把数组乘一遍,所以得到代码:#include <iostream>#include &...原创 2019-05-15 09:24:15 · 396 阅读 · 1 评论 -
ACM 输出杨辉三角
杨辉三角的第i+1行是(a+b)^i的展开式的系数,它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。输入:4输出:11 11 2 11 3 3 1#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace std;int main(...原创 2019-05-16 00:11:40 · 301 阅读 · 0 评论