自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设置MySql的自增主键的值从删除之后的位置增加

这时就出现了一个问题:当我们向表中继续插入数据时,id 并不会为 2 ,id而是从删除前的记录继续递增,这就会给我们使用带来不便。此时我们删除表中 id = 2,3,4 的数据,并不会扰乱主键的递增。的 ,此时我们不断向数据库中插入数据,主键的值便会不断的自增。此时,再进行插入数据时,主键的值就从删除之后的位置增加。Mysql数据库的主键是。

2023-12-14 08:15:00 903 1

原创 哈希表详解+Java代码演示+面试高频问题!

2.5.2 开散列/哈希桶(重要!)1开散列法开散列法又叫链地址法(开链法),首先对关键码集合用散列函数计算散列地址,具有相同地址的关键码归于同一子 集合,每一个子集合称为一个桶,各个桶中的元素通过一个单链表链接起来,各链表的头结点存储在哈希表中。开散列从数据结构上可以看作由数组加链表加红黑树组成。(当链表长度大于等于8,链表长度大于等于64,此时将会变成红黑树)哈希桶是一种哈希表的实现方式,其结构如下:数组:哈希桶基于数组来实现,每个元素都是一个哈希桶节点。哈希函数:哈希桶使用哈

2023-12-11 10:01:54 1490 1

原创 使用接口自定义排序的多种方法 + PriorityQueue案例详解!

如果指向同一个对象,返回 true, 如果传入的为 null,返回 false,如果传入的对象类型不是 Student,返回 false, 按照类的实现目标完成比较,例如这里只要姓名和年龄一样,就认为是相同的。因为:对于用户实现自定义类型,都默认继承自Object类,而Object类中提供了equal方法,而==默认情况下调 用的就是equal方法,但是该方法的比较规则是:没有比较引用变量引用对象的内容,而是直接比较引用变量的地 址,但有些情况下该种比较就不符合题意。那为什么==可以比较?

2023-12-04 09:56:41 2454

原创 创建大顶堆代码+时间复杂度详解+归纳过程!

大家可能在看了上述代码后认为向下调整shiftDown(int parent,int len)函数的时间复杂度为 logN, 创建堆createHeap()这个函数的时间复杂度为N, 所以创建大根堆时间复杂度为 N * logN , 但其实这个结果是不正确的,创建大根堆正确的时间复杂度其实为O(N)。下面请大家跟着我以数学公式的方法进行推导:其中,每个父亲节点都需要和孩子节点进行值的比较,如果孩子的值大于父亲的值,则需要进行向下调整,即将父亲的值和孩子的值进行交换,以确保每个父亲节点的值均大于孩子节

2023-12-01 17:30:51 1653 1

原创 中缀表达式转后缀表达式/逆波兰表达式详细步骤 + java代码实现

逆波兰表达式是一种后缀表达式,它将运算符放置在操作数之后。逆波兰表达式求值的过程是从左到右扫描表达式,遇到数字时将数字压入栈中,遇到运算符时弹出栈顶的两个数字进行运算,并将结果压入栈中。最终栈中只剩下一个数字,即为表达式的值。以下是逆波兰表达式求值的Java代码和详细讲解:具体操作步骤如下:1.创建一个栈来存储数字。2.从左到右遍历逆波兰表达式中的每个元素。3.如果当前元素是运算符,则从栈中弹出两个数字进行运算,并将结果压入栈中。4.如果当前元素是数字,则将其压入栈中。5.遍历

2023-11-28 16:23:16 598

原创 泛型详细剖析 + 代码示例详解!

Java中对于Boolean、Byte、Character、Short、Integer这五种包装类型,会在内部维护一个缓存数组,范围为-128到127,当自动装箱时,如果值在这个范围内,则直接从缓存数组中获取对应的包装类型对象,而不是重新创建一个对象。因此,e和f的值都在这个范围内,它们引用的是同一个常量池中的对象,所以"e == f" 的结果是true。自动装箱和自动拆箱是Java中的两个特性,可以简化代码的编写,使得基本类型和其对应的包装类型之间的转换更加方便。Java的泛型机制是在编译级别实现的。

2023-11-24 09:35:57 1586 1

原创 详解时间复杂度+空间复杂度+各种代码案例

一.时间复杂度大O的渐进表示法算法中的基本操作的执行次数,为算法的时间复杂度(注意:这里指的是最坏情况下)在表示时间复杂度时,我们统一使用大O渐近法,实际中我们计算时间复杂度时,我们其实并不一定要计算精确的执行次数,而只需要大概执行次数。1、用常数1取代运行时间中的所有加法常数。2、在修改后的运行次数函数中,只保留最高阶项。3、如果最高阶项存在且不是1,则去除与这个项目相乘的常数。得到的结果就是大O阶这里我们把需要进行冒泡排序的元素个数看作n,最外层的for循环每执行一次,n的值减一,在第一次执

2023-11-23 10:10:49 378

原创 加盐算法加密和解密的详细过程

第二种是传统的MD5加密,这种方法虽然是不可逆的,但是有可能被暴力破解,这种加密方式是有规律可循的,在下面代码中就演示了比如对于“123456”,那么对应的MD5加密后的密文就是e10adc3949ba59abbe56e057f20f883e,彩虹表就应运而生,在彩虹表里面,几乎记录了所有字符串的MD5对照表。加盐加密算法中的盐就像做饭的厨师加盐一样,盐粒是随机的,没有规律可循,比如同样的“123456”密码,在第一次调用加盐算法和第二次调用加盐算法生成的结果都是不同的,因为每次调用都是生成随机的盐值。

2023-11-22 11:28:21 4532

原创 gitee代码仓库中文件的删除方法,详细!

gitee代码仓库中的代码文件删除方法

2023-11-22 08:37:08 2722

空空如也

空空如也

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

TA关注的人

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