一、什么是数据结构和算法
            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用等差求和得出后减去数组中的数可得缺失的唯一数字

