文章列表

  • 全部
  • 正则表达式 5
  • 设计模式38
  • Halo1
  • Linux5
  • Java37
  • Android51
  • Mac3
  • 算法31
  • Flutter8
  • 写作5
  • Java

    泛型的实例上界与下界

    泛型的实例上界与下界 编译报错,主要原因是,fruit是可以添加香蕉,苹果等水果的,但是实例就只给了Apple的List, 编译前报错 我们可以通过强转来避免避免报错,添加Banana运行时也不会报错,这实际上是一个很严重的bug,我们明明是一个Apple的实例却装了香蕉 ,为什么运行时会不报错,主

  • Java

    泛型的使用

    泛型的使用 泛型目的 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)

    时间复杂度(2) 1.最好情况复杂度 2.最坏情况复杂度 3.平均时间复杂度 4.均摊时间复杂度 实战 // 全局变量,大小为10的数组array,长度len,下标i。 int array[] = new int[10]; int len = 10; int i = 0;

  • 开发

    时间复杂度(1)

    时间复杂度(1) 时间复杂度 :也叫渐进时间复杂度,表示的是时间与数据规模的增长关系 $Tn = O(f(n))$ Tn表示的是时间,n的增长表示数据增长的规模 举个例子 #include<stdio.h> int main() { int x = 5; int y = 8;

  • LeetCode题解

    33. 搜索旋转排序数组 二分搜索

    33. 搜索旋转排序数组 二分搜索 题目描述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k+1], ..., nums[n-1],

avatar

心偏两寸半

这就是我

  • 179

    文章

  • 11

    分类

  • 78

    访问量

  • 2023-08-13

    建站天数

avatar

心偏两寸半

这就是我

  • 179

    文章

  • 11

    分类

  • 78

    访问量

  • 首页
  • 关于我
  • 控制面板
请您轻一点,我是很昂贵的机器人哦! O.O