算法的时空复杂度

一、 算法运算的实现是指该运算的算法。算法是计算机科学的一个基本概念,也是程序设计的一个核心概念。 1. 算法的描述: 程序介于自然语言和程序设计语言的伪代码非形式算法(自然语言) 框图(N-S图) 2. 算法的好坏评价因素 正确性:能正确地实现预定的功能,满足具体问题的 需要。易读性:易于阅读、理解和交流,便于调试、修改和 扩充。健壮性:即使输入非法数据,算法也能适当地做出 反应或进行处...

Read more

区块链100问

[TOC]区块链100问—-第一部分:比特币和区块链的发展史第1集:从物物交换到比特币货币一开始是实物货币,贝壳、金银等,因为他们具有稀缺性,用于充当一般等价物。后来我们开始用纸币进行支付。纸币的制作成本可能只有几厘钱,却能够换取价值100元的物品,这是因为有国家的信用背书,让人们相信这一文不值的纸币能够换100元的商品。随着互联网的发展,我们从纸币过度到记账货币,比如发工资只是在银行卡账户上做数...

Read more

子网地址和广播地址的计算

已知某子网的一个主机的IP地址是203.123.1.135,子网掩码是255.255.255.192。主机IP地址转换为二进制数(二进制标记法):11001011   01111011   00000001   10000111子网掩码转换为二进制数(二进制标记法): 11111111   11111111   11111111   11000000 计算该子网的子网地址是什么?子网...

Read more

十大经典排序算法

0、算法概述0.1 算法分类十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。 0.2 算法复杂度 排序方法 时间复杂度(平均) 时间复杂...

Read more

蓄水池抽样算法(Reservoir Sampling)

一、问题给定一个数据流,数据流长度N很大,且N直到处理完所有数据之前都不可知,请问如何在只遍历一遍数据(O(N))的情况下,能够随机选取出m个不重复的数据。这个场景强调了3件事: 数据流长度N很大且不可知,所以不能一次性存入内存。时间复杂度为O(N)。随机选取m个数,每个数被选中的概率为m/N。 第1点限制了不能直接取N内的m个随机数,然后按索引取出数据。第2点限制了不能先遍历一遍,然后分块存...

Read more

加密算法、非对称加密算法和 Hash 算法

对称加密(Symmetric Cryptography),又称私钥加密对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key),这种方法在密码学中叫做对称加密算法。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加...

Read more