本文目录导读:
图片来源于网络,如有侵权联系删除
《常用计算机公式大全》
在计算机科学领域,各种各样的公式发挥着至关重要的作用,它们是解决问题、进行数据处理、算法设计等的关键工具,以下是一些常见的计算机相关公式:
数据存储与进制转换公式
(一)二进制、十进制、十六进制转换
1、十进制转二进制
- 公式:除2取余,倒序排列,例如将十进制数10转换为二进制,10÷2 = 5余0,5÷2 = 2余1,2÷2 = 1余0,1÷2 = 0余1,将余数倒序排列得到1010。
2、二进制转十进制
- 公式:按权展开求和,对于二进制数1010,计算方法为 \(1\times2^{3}+0\times2^{2}+1\times2^{1}+0\times2^{0}=8 + 0+2+0 = 10\)。
3、二进制转十六进制
- 首先将二进制数从右到左每4位一组进行划分,例如二进制数11010110,可划分为1101和0110,然后将每一组转换为十六进制数,1101对应十六进制的D,0110对应6,所以结果为D6。
算法复杂度分析公式
(一)时间复杂度
1、线性时间复杂度 - O(n)
- 当算法中的操作次数与输入规模n呈线性关系时,时间复杂度为O(n),例如在一个简单的数组遍历算法中:
```python
arr = [1, 2, 3, 4, 5]
for num in arr:
print(num)
```
这里的操作次数与数组的长度n成正比,随着n的增大,操作次数线性增长。
2、对数时间复杂度 - O(log n)
图片来源于网络,如有侵权联系删除
- 常见于二分查找算法等,在一个有序数组中进行二分查找时,每次查找都将搜索范围缩小一半,设数组长度为n,经过k次查找后剩余的元素个数为1,则 \(n\times\frac{1}{2^{k}} = 1\),解得 \(k=\log_{2}n\)。
3、平方时间复杂度 - O(n²)
- 例如冒泡排序算法,对于n个元素的数组,需要进行n - 1轮比较,每一轮比较的次数依次为n - 1,n - 2,\(\cdots\),1,总的比较次数为 \(\sum_{i = 1}^{n-1}i=\frac{n(n - 1)}{2}\),时间复杂度为O(n²)。
(二)空间复杂度
1、常数空间复杂度 - O(1)
- 如果算法执行过程中所需要的额外空间不随输入规模n的变化而变化,就是常数空间复杂度,例如计算一个整数的平方:
```python
num = 5
result = num * num
print(result)
```
这里只使用了几个固定的变量,不依赖于输入规模。
2、线性空间复杂度 - O(n)
- 当算法需要创建一个与输入规模n成正比大小的辅助数据结构时,空间复杂度为O(n),例如创建一个长度为n的数组来存储一些中间结果。
信息论相关公式
(一)熵(Entropy)
1、离散随机变量的熵公式:\(H(X)=-\sum_{i = 1}^{n}p(x_{i})\log_{2}p(x_{i})\)
- \(X\) 是离散随机变量,\(p(x_{i})\) 是 \(X = x_{i}\) 的概率,熵表示随机变量的不确定性程度,例如在一个抛硬币的实验中,如果硬币是均匀的,正面和反面出现的概率都是0.5,那么熵 \(H(X)=-(0.5\log_{2}0.5 + 0.5\log_{2}0.5)=1\)。
计算机图形学公式
(一)两点间距离公式
1、在二维平面上,两点\((x_{1},y_{1})\)和\((x_{2},y_{2})\)之间的距离公式为:\(d=\sqrt{(x_{2}-x_{1})^{2}+(y_{2}-y_{1})^{2}}\)
图片来源于网络,如有侵权联系删除
- 在计算机图形学中,这个公式常用于计算图形中两个顶点之间的距离,例如判断两个图形对象是否靠近等操作。
2、在三维空间中,两点\((x_{1},y_{1},z_{1})\)和\((x_{2},y_{2},z_{2})\)之间的距离公式为:\(d=\sqrt{(x_{2}-x_{1})^{2}+(y_{2}-y_{1})^{2}+(z_{2}-z_{1})^{2}}\)
(二)直线方程
1、一般式:\(Ax + By+C = 0\)
- 在计算机图形学中,用于表示二维平面中的直线,通过给定不同的 \(A\)、\(B\)、\(C\) 值可以确定不同的直线。
2、点斜式:\(y - y_{1}=m(x - x_{1})\)
- ((x_{1},y_{1})\)是直线上的一点,\(m\)是直线的斜率,这个公式在绘制直线、计算直线与其他图形的交点等方面有应用。
密码学相关公式
(一)哈希函数
1、哈希函数是一种将任意长度的数据映射为固定长度的哈希值的函数,虽然没有一个统一的数学公式来表示所有的哈希函数,但常见的哈希函数如MD5(虽然已不安全)和SHA - 256等都有其内部复杂的计算逻辑。
- 以SHA - 256为例,它对输入数据进行多轮的位运算、逻辑运算等操作,最终得到一个256位的哈希值。
(二)对称加密算法中的加密和解密公式(以AES为例)
1、加密公式:\(C = E(K,P)\)
- \(C\) 是密文,\(K\) 是密钥,\(P\) 是明文,\(E\) 是加密函数。
2、解密公式:\(P = D(K,C)\)
- \(D\) 是解密函数,在AES算法中,加密和解密过程涉及到多轮的字节替换、行移位、列混合等操作,这些操作都是基于特定的数学变换和密钥的参与。
这些只是计算机科学众多公式中的一部分,不同的领域如人工智能、数据库管理等还有各自特定的公式来解决相关的问题,掌握这些公式对于深入理解计算机科学的各个分支和进行有效的程序设计与问题求解是非常必要的。
评论列表