基础部分
一、时间复杂度
常数操作:和数据量无关的操作,例如+-*/,是衡量时间复杂度的最小操作。按最差情况估计时间复杂度。o(N^2)念法:B狗N平方
选择排序法:查看操作n+(n-1)+(n-2)...,比较操作n+(n-1)+(n-2)...,交换操作1+1+1...则有An^2+Bn+C------>时间复杂度:o(N^2
冒泡排序法:bubble
插入排序法:时间复杂度受数据影响,o(N)o(N^2)
二分法查找
Q:(1)有序数组找某个数是否存在,二分法查找(2)有序数组查找>=某个数最左的位置;查找<=某个数最右的位置(3)无序相邻两数不相等,局部最小值问题
异或:理解为不相等为一,无进位相加。满足交换律结合律。两数相异或为零,0^任何数=数,有a=a^b。b=a^b。a=a^b。则a,b值完成交换(ab可以为数值相同的值但是必须保证指向不同的内存)
Q:(1)一组数里只有1种数出现奇数次,找到这个数(2)一组数里只有2种数出现奇数次,找到这个数
优化两关键:①要么数据状况特殊②要么问的问题特殊
对数器:
左神一周刷爆力扣资料,兄弟们自取
链接:https://pan.baidu.com/s/1Q35eM01QbbjJaZW2U7Urag
提取码:bijr