文章列表
泛型的实例上界与下界 编译报错,主要原因是,fruit是可以添加香蕉,苹果等水果的,但是实例就只给了Apple的List, 编译前报错 我们可以通过强转来避免避免报错,添加Banana运行时也不会报错,这实际上是一个很严重的bug,我们明明是一个Apple的实例却装了香蕉 ,为什么运行时会不报错,主
泛型的使用 泛型目的 1.帮助检查代码中的类型,提前报错 2.自动强转 3.增加类的拓展性,使得类更加灵活,复用性高 4.这个类型的不同实例的具体类型可能会有不同,针对是实例,因此静态字段和静态方法不能使用泛型类的类型参数 什么时候使用泛型 1.当了一个类,其中一个属性是是多变类型的时候可以使用,
快速排序 快速排序:和归并排序类似,也是分区递归排序,区别是,归并排序先分区,在排序合并,快排是,先抽取point,排序,分区,在抽point,point是要排序数组里的一个数,我直接抽第一个,把大于point的数放左边,小于point的数放右边,在吧point置换进去 public class C
归并排序 思路很简单,就是不断的分区,分到不可在分的时候就合并,很适合用递归,可惜不是原地排序,用了额外空间,因此没有快排火,代码思路简单,数组合入,与复制要注意边界,我就是这样被坑的 public class Client { public static void main(String[
冒泡,插入,选择排序 冒泡排序:依次比较相邻元素,大的交换到右边 插入排序:后面元素依次与前面排好序元素做比较,小的插进来,后面的元素后移 选择排序:取未排好的第一个元素,依次比较后面元素,小则交换
链表 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据 链表(Linked)是一种线性表数据结构。不需要连续的内存空间,来存储一组具有相同类型的数据 特征: 单链表 1.拥有data和后继 2.插入删除时间复杂度为O(1) 3.查找时间复杂度为O(n) 4
数组 数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据 随机下标访问为O(1) $address = base + n*btye$ 二维数据随机地址 $address = base + (i*btye + j)*byte$ 插入删除时间复杂度 $(1 +
时间复杂度(2) 1.最好情况复杂度 2.最坏情况复杂度 3.平均时间复杂度 4.均摊时间复杂度 实战 // 全局变量,大小为10的数组array,长度len,下标i。 int array[] = new int[10]; int len = 10; int i = 0;
时间复杂度(1) 时间复杂度 :也叫渐进时间复杂度,表示的是时间与数据规模的增长关系 $Tn = O(f(n))$ Tn表示的是时间,n的增长表示数据增长的规模 举个例子 #include<stdio.h> int main() { int x = 5; int y = 8;
33. 搜索旋转排序数组 二分搜索 题目描述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1],
这就是我
文章
分类
访问量
建站天数
标签目录
最近评论