Loading

随笔分类 -  算法

用于算法的文章编辑
摘要:#1、基本思路 例如,我要在0~10中随机取出5个数,且这5个数不能重复,那基本思路就是: (1)在一个数组A中保存0~10的数值,然后声明一个长度为5的数组B; (2)每次在0~10的范围内随机生成一个数 (3)将步骤2获取的数值作为索引获取数组A的数值,并将该值赋给数组B,同时移除数组A中的该值 阅读全文
posted @ 2023-04-19 13:52 Dwaynerbing 阅读(1655) 评论(0) 推荐(0)
摘要:检查一段代码的合法性的时候,其中一项就是括号配对检查。例如{{[()]}}、[]{()}是合法的,而{[()}、{[(])}是不合法的。具体代码如下所示: class Program { static bool IsValid(string testString) { ConcurrentBag<c 阅读全文
posted @ 2022-03-10 16:12 Dwaynerbing 阅读(215) 评论(0) 推荐(0)
摘要:一、实体鉴别 ​ 实体鉴别(经常简称为鉴别)就是一方验证另一方身份的技术。一个实体可以是人、客户/服务器进程等。这里仅讨论如何鉴别通信对端 实体的身份,即验证正在通信的对方确实是所认为的通信实体,而不是其他的假冒者。进行通信实体鉴别需要使用鉴别协议。鉴别协议通常在两个通信实体之间传输实际数据或者进行 阅读全文
posted @ 2021-01-28 13:53 Dwaynerbing 阅读(944) 评论(0) 推荐(0)
摘要:一、报文摘要算法基本概念 ​ 使用加密通常可达到报文鉴别的目的,因为伪造的报文解密后一般不能得到可理解的内容。但简单采用这种方法,计算机很难自动识别报文是否被篡改。另外,对于不需要保密而只需要报文鉴别的网络应用,对整个报文的加密和解密,会使计算机增加很多不必要的负担(加密和解密要花费相当多的CPU时 阅读全文
posted @ 2021-01-27 19:06 Dwaynerbing 阅读(2018) 评论(0) 推荐(1)
摘要:一、非对称加密算法基本概念 ​ 在对称密钥系统中,两个参与者要共享同一个秘密密钥。但怎样才能做到这一点呢?一种是事先约定,另一种是用信使来传送。在高度自动化的大型计算机网络中,用信使来传送密钥显然是不合适的。如果事先约定密钥,就会给密钥的管理和更换都带来了极大的不便。当然我们可以使用复杂的密钥分发中 阅读全文
posted @ 2021-01-27 11:08 Dwaynerbing 阅读(955) 评论(0) 推荐(1)
摘要:一、对称加密算法概念 ​ 我们通过计算机网络传输数据时,如果无法防止他人窃听, 可以利用密码学技术将发送的数据变换成对任何不知道如何做逆变换的人都不可理解的形式, 从而保证了数据的机密性。这种变换被称为加密( encryption),被加密的数据被称为密 文( ciphertext),而加密前的数据 阅读全文
posted @ 2021-01-25 13:21 Dwaynerbing 阅读(1192) 评论(0) 推荐(2)
摘要:一、2的幂次方的基本定义 什么样的数为2的幂次方?例如2^0=1,2^1=2,2^2=4……,符合公式2^n(n>=0)的数称为2的幂次方。 如何判断一个数是否为2的幂次方呢?基本思路:把一个数不断的除以2,得到商与余数,若余数等于1,则这个数必然不是;若余数大于1,则继续除以2,直到商等于1。若商 阅读全文
posted @ 2020-03-17 21:27 Dwaynerbing 阅读(2673) 评论(0) 推荐(0)
摘要:/* 冒泡法排序的基本思路 * 1:拿数组的第一个元素intTest[0]的值循环与剩余的元素比较,把最大的值与intTest[0]交换值,然后剩余的元素依次比较 ,即可得到从大到小排序的数组。由此可知,数组长度为n,至少要经过的计算步骤f(n):f(n)=f(n-1)+(n-1)。其中n>=1,f 阅读全文
posted @ 2017-12-03 16:19 Dwaynerbing 阅读(300) 评论(0) 推荐(0)
摘要:1 //辗转相除法求最大公约数 2 static int TestMath(int a,int b) 3 { 4 int r = 0;//保存最大公约数 5 //排序,a保存较大数,b保存较小数 6 if (a < b) 7 { 8 int temp=a; 9 a=b; b= temp ; 10 } 阅读全文
posted @ 2017-12-01 22:34 Dwaynerbing 阅读(237) 评论(0) 推荐(0)