二分查找的最坏时间复杂度为O(log n),把n等于1000带入得到,log1000>9,<10,取整那么至少10
数组地址在堆中,一旦数组被定义好之后,首元素地址就会存储在变量名中,所以跟它本身的储存方式还是息息相关的。
1.顺序表的特点是逻辑上相邻的数据元素,其物理存储位置也相邻,并且顺序表的存储空间需要预先分配;
2.链式存储中逻辑上相邻的数据元素其物理存储位置不一定相邻,是因为链表通过指针实现元素间的逻辑关系;
3.顺序存储结构适合频繁的查询时使用,链式存储结构适合频繁的插入,删除和更新元素时使用
33/7=5, 查找33需要1次;24/7=3,查找24需要1次;8/7=1,查找8需要1次;17/7=3,查找17需要2次;21/7=0,查找21需要1次;
10/7=3,查找10需要3次;ASL=每个关键字查找的次数之和/关键字的个数=(1+1+1+2+3+1)/6=1.5
第一种初始化
int[][] matrix=new int[][]{
{1,2,3,4} ,
{5,6,7,8} ,
{9,10,11,12}
};第二种初始化
int[][] matrix={
{1,2,3,4} ,
{5,6,7,8} ,
{9,10,11,12}
};第三种初始化
锯齿矩阵/二维数组
int[][] matrix={
{1,2,3,4} ,
{5,6,7} ,
{8,9},
{10}
};
初始时在序列中找到最小(大)元素,放到序列的起始位置作为已排序序列;然后,再从剩余未排序元素中继续寻找最小(大)元素,放到已排序序列的末尾。这样一直重复知道找完为止。
快速排序 nlogn 堆排序 nlogn 冒泡排序 在改良的冒泡下 最优时间复杂度为n 插入排序 最优下n 选择排序 n*n
归并 nlogn