自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 数据结构-哈希表

为了避免这样的情况,Java的 HashMap 会在元素往链表上插入的时候做一个判定,判定如果当前链表的长度达到了一定的值了,直接把链表转成红黑树(增加效率)把一大串数据,通过一系列数学变换,映射到一个较小的数组中,比如把一亿的数据保存到数组int [ ] count=new int[10000]中,如果要存储的是任意整数,范围是42亿个,但是创建的保存数据的数组范围是10000个,此时必然会出现重复,方法:数组的每一个元素都是“链表节点”,在有冲突的位置使用一个链表,保存“冲突”的元素。

2025-04-12 10:59:30 464

原创 二叉搜索树,Set和Map

和Set类似,Map更进一步,Set上面保存的只是“键”(key),Map上面保存的是“键值对”(key-value)与List不同,List(有序的)中的{1,2,3}和{1,3,2}是不同的,而Set(无序的)中这两个组合是相同的。,该内部类中主要提供了<key, value>的获取,value的设置以及Key的⽐较⽅式。如果查找的值比该节点的值大,往右子树找,如果比该节点值小,往左子树找,想通就找到了。的容器或者数据结构,其搜索的效率与其具体的实例化⼦类有关。通过查找的方式,找到新元素所在的位置。

2025-04-11 10:00:00 1327

原创 各种排序思路及实现

循环往复,直到待排序区间为0设父节点下标为 i ,左子树下标2i +1,右子树下标2i+2因为堆的父子下标关系有一个前提,根节点下标是0,所以前半部分不能是已排序区间。

2025-04-08 21:26:08 1111 1

原创 优先级队列_堆

Java集合框架提供了两种优先级队列PriorityQueue和PriorityBlockingQueue,PriorityQueue是线程不安全的,后者是线程安全的。2.向下调整,则是指 找出子树中最小值,和根节点比较,若根节点大就交换,持续往下进行,直到根节点比子树小,或没有子树时。先把新元素进行尾差,然后向上调整(从最后的飞叶子节点开始调整成小堆,然后一次往上走,直到标记的child下标小于0)队列是一种先入先出的数据结构,优先级队列又特殊一点,优先级队列出队列时,是先对优先级高的元素出队列。

2025-04-06 12:18:22 669

原创 模拟实现ArrayList顺序表

两者的时间复杂度都为O(1) , 其他操作为O(N)创建顺序表的时候, 会先申请一块空间。顺序表是基于数组实现。

2025-01-21 15:51:45 553

原创 Java数据结构__Arraylist与顺序表

ArrayList是以泛型⽅式实现的,使⽤时必须要先实例化ArrayList实现了RandomAccess接⼝,表明ArrayList⽀持随机访问ArrayList实现了Cloneable接⼝,表明ArrayList是可以clone的ArrayList实现了Serializable接⼝,表明ArrayList是⽀持序列化的和Vector不同,ArrayList不是线程安全的,在单线程下可以使⽤,在多线程中可以选择Vector或者。

2025-01-18 14:36:32 907

原创 JavaSE练习--图书管理系统(控制台版本)

各种操作放在operatin包中 , 用户分类放在user包中 , 每个书的信息存在Book类中 , 一系列书放于BookList类中< 1 > 首先通过IOperation接口创建一个work方法(用于统一各种Operation方法名)< 2 >通过抽象类User实现管理员(AdminUser)和普通用户(NormalUser)的多态 , 分别实现两种不同的菜单操作,实现不同的operations数组操作< 3 > 用Main方法选择调用不同的身份,启动程序。

2025-01-02 10:00:00 1006 3

原创 JavaSE_String类(2)

根据之前所学知道, 字符串中用"=="是比较两字符的位置是否一样//false//true利用intern , 把"hello"字符串放进常量池中,此时s2就指向常量池的对象,结果为真。

2024-12-29 10:43:35 659

原创 JavaSE_String类(1)

与equals不同的是, equals返回值类型是boolean , compareTo返回的是int类型.从前往后找 , 返回String字符串第一次出现的下标 , 没找到返回-1。从formIndex往前找字符char出现位置的下标 , 没找到返回-1。从后往前找 , 返回字符char第一次出现位置的下标 , 没有返回-1。< 1 > 先从首字符开始,按照字典次序大小比较 , 如果。比较的是字符串的地址 , 要想比较内容是否相等 , 就用。返回字符char第一次出现的位置 , 没找到返回-1。

2024-12-11 22:10:52 992

原创 JavaSE_继承和多态(2)

5.重写的方法, 可以使用 @Override 注解来显式指定. 有了这个注解能帮我们进行一些合法性校验. 例如不小心将方法名字拼写错了 (比如写成 aet), 那么此时编译器就会发现父类中没有 aet 方法, 就会编译报错, 提示无法构成重写.将一个子类对象经过向上转型之后当成父类方法使用,再无法调用子类的方法,但有时候可能需要调用子类特有的方法,此时:将父类引用再还原为子类对象即可,即向下转换。1.子类在重写父类的方法时,一般必须与父类方法原型一致: 返回值类型 方法名 (参数列表) 要完全一致。

2024-12-08 21:47:00 263

原创 JavaSE_继承和多态(1)

对于Child独有的方法,不能调用这也体现了向上继承的性质:把子类与父类相同的属性赋值给父类。

2024-12-07 16:43:18 1109

原创 C语言习题_反向存放数组元素(不含元素个数)

( 2 ) 因为不确定输入几个元素 , 我们就从其他方法入手 , 比如当要结束输出的时候 , 会输入换行符 , 利用这个特性写入代码 , 当碰到 ’ \ n ’ 时 , 结束循环输入。( 3 ) 其次是输入的值存入数组中 , 假设要存的值为num , 假设count为初始下标0 , 每次循环条件成立就把num值存入, 再让count自增1 , 就能成功存入了。此处可发现, 输入实例是不带n ( 即你要输入几个元素 ) 的 , 让原本简单的题目增加了一点难度 , 下面上题解。

2024-12-06 00:55:24 210

原创 C语言_指针 ( 1 )

在C语言中 , 创建变量就相当于在内存中开辟了一块空间 , 而每个空间(相当于一个小房间) 存贮这个变量值 , 而这块空间也有单独的名字,这个名字就是地址 , 取地址操作符 & 就是把这个房间名字取出来 , 即。像这样写也是可以的, 类似于变量的初始化和赋值, 已定义pc的为char* 类型的数, 之后pc就默认表示为一个指针类型的数据 , 再让pc指向c的地址 , 但是要。就是p的类型,存入int型变量的地址,同理char类型的变量,存它的地址的类型为char。解引用*pa得到的就是a的值 ,

2024-12-02 10:40:45 1155

原创 JavaSE_类和对象

this引用指向当前对象(成员方法运行时调用该成员方法的对象),在成员方法中所有成员变量的操作,都是通过该引用去访问。即this引用的是调用成员方法的对象因此,this.name指向的是最开始定义的成员变量对上述代码改动如下int age;cat.meow("小白",4);System.out.println("猫的名字是"+cat.name+".猫的年龄是"+cat.age);构造方法(也称为构造器)是一个特殊的成员方法,名字必须与类名相同,在创建对象时,由编译器自动调用,并且。

2024-11-27 21:25:01 1039 3

原创 C语言习题_打印亲密数对

‌亲密数对是指两个整数,它们的所有因子(除了自身)之和等于另一个整数。‌。

2024-11-23 20:18:29 575

原创 C语言_自定义函数

其中,type(类型)可为int,double,void等类型,函数名是可以自己定义(随便取)的1上述自定义函数的返回值是x和y的和,在main函数中输出则为5其中main函数中的自定义函数()中调用的为实参,把这个实参分别传给自定义函数的x,y.其中,形参是实参的一份临时拷贝 , 也就是说 ,,例如如图 , 形参a的改变和main函数被调用的值无关 , return语句返回的值是在add函数这个范围里的 , 与主函数的a无关,如果想让a值为0 , 代码应该这样修改。

2024-11-16 22:51:20 1178

原创 Java__数据类型与变量

1.不同类型转化,范围小的赋给范围大的会自动转化2.范围大的类型转为范围小的,要自己转化,也。

2024-11-05 21:17:53 1060

原创 初识c语言及数据类型

这篇文章主要是对c语言前面两章易错点总结和补充,主要介绍:1.输出函数puts2.单(双,三)目运算符的定义3.数据类型(int float等)4.数据转换例题

2024-11-01 18:58:50 833

原创 c语言——进制和进制转换

进制转换

2024-10-30 01:24:46 340

原创 C语言——函数递归

虽然函数递归看起来很简洁,但是在一些题目中不适用,可能会出现多次重复计算的情况(斐波那契数计算),所以在做题时要多观察,多练手。发现后面的阶乘有每次都减一的规律,当阶乘变为0的时候(0的阶乘为0),停止计算,从中可以发现递归的结构,用c语言来实现。递归分为递推和回归,即先递推再回归,当碰到递归时后面的式子暂时先不算,当递推到最后一次时开始回归并计算后面的式子。,以此类推,直到最后乘到n(k==1),停止递推,是k在逐渐趋近于1,以下为思路。(1)递归存在限制条件,当满足这个限制条件的时候,递归便不在继续。

2024-10-28 20:19:36 313

原创 c语言——分支和循环(2)各种符号

c语言分支和循环基础概念

2024-10-24 13:42:42 921

原创 c语言——分支和循环(1)

介绍分支和循环语句的基础概念

2024-10-23 17:21:35 938

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除