本文主要是介绍数据结构学习/复习1--时间复杂度计算/异或的几个实际用途,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、什么是数据结构和算法
1注:在内存中的存储管理数据
2注:解决问题的方法
二、时间复杂度
1.算法的效率
2.时间复杂度的概念
计算时间复杂度案例1:
计算时间复杂度案例2:
计算时间复杂度案例3:
计算时间复杂度案例4:
计算时间复杂度案例5:
计算时间复杂度案例6:
计算时间复杂度案例7:
计算时间复杂度案例8:
计算时间复杂度案例9:
大O渐进表示法:
最好最坏与平均:
注意事项1:不建议直接数循环,要看具体算法
3.常见复杂度对比:
三、练习题与回顾
法1:异或
注意事项:异或等按位运算均针对二进制位
1. **交换两个变量的值**:不使用临时变量,可以通过异或运算来交换两个变量的值。
2. **检查一个数是否是2的幂**:一个数是2的幂当且仅当它的二进制表示中只有一位是1,其余位都是0。通过将该数与`n-1`进行异或运算,如果结果为0,则`n`是2的幂。
3. **合并两个排序数组**:在归并排序中,可以使用异或运算来合并两个已排序的数组。
4. **计算一个数组中元素的唯一值**:通过异或运算,可以找出数组中只出现一次的元素,而忽略出现两次的元素。
5. **实现简单的加密算法**:异或运算可以用于简单的加密和解密操作。通过将明文与密钥进行异或运算得到密文,再用相同的密钥与密文进行异或运算即可得到明文
法2:公式法
注: 将0~n用等差求和得出后减去数组中的数可得缺失的唯一数字
这篇关于数据结构学习/复习1--时间复杂度计算/异或的几个实际用途的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!