- 博客(88)
- 收藏
- 关注
原创 【Java 数据结构】实现一个二叉搜索树
本期主要讲解:1、认识二叉搜索树2、实现一个二叉搜索树2.1 成员变量2.2 insert 方法2.3 search 方法2.4 remove 方法(重点)3、二叉搜索树总结
2023-01-09 15:27:08
7094
55
原创 【Java 数据结构】常见排序算法(下)
本期主要讲解:1、上期回顾2、冒泡排序3、快速排序3.1 理解快速排序的二叉树结构3.2 Hoare 法3.3 三数取中3.4 小区间优化3.5 挖坑法3.6 前后指针法3.7 注意事项4、归并排序
2023-01-04 18:58:23
2306
18
原创 【Java 数据结构】常见排序算法(上)
本期主要讲解:1、 认识排序2、常见排序的分类3、直接插入排序4、希尔排序(缩小增量排序)5、选择排序6、堆排序
2022-12-31 20:47:27
4352
19
原创 【Java 数据结构】优先级队列
本期主要讲解:1、优先级队列1.1 优先级队列概念1.2 堆的概念1.3 堆的存储结构2、模拟实现优先级队列2.1 成员变量的设定2.2 根据数组构造出一个堆2.3向下调整2.4 createHeap 方法实现2.5 offer 方法实现2.6 poll 方法实现3、PriorityQueue 的使用3.1 注意事项3.2 PriorityQueue 如何创建大堆?3.3 PriorityQueue 的扩容机制4、top-k 问题
2022-12-26 09:15:38
3874
26
原创 【Java 数据结构】树和二叉树
本期主要讲解:1、什么是树?1.1 简单认识树1.2 树的概念1.3 树的表示形式2、二叉树2.1 二叉树的概念2.2 特殊的二叉树2.3 二叉树的性质2.4 二叉树性质相关习题3、实现二叉树的基本操作3.1 了解二叉树的存储结构
2022-12-21 08:30:00
6893
52
原创 【Java 数据结构】队列与OJ题
本期主要讲解:1、什么是队列?2、初识Queue2.1 认识一下Queue2.2 简单使用下Queue3、模拟实现Queue3.1 构造方法和成员属性3.2 offer 方法3.3 poll 方法3.4 peek 方法4、队列相关的OJ题4.1设计循环队列 (来源:LeetCode 难度:中等)4.2用队列实现栈 (来源:LeetCode 难度:简单)4.3用栈实现队列 (来源:LeetCode 难度:简单)4.4最小栈(来源:LeetCode 难度:中等)
2022-12-11 13:37:30
3785
40
原创 【Java 数据结构】栈与OJ题
本期主要讲解:1、什么是栈?2、模拟实现一个栈2.1 构造方法和成员属性2.2push 方法2.3pop 方法2.4 peek 方法2.5 empty 方法3. 栈相关的OJ题3.1有效括号(来源:LeetCode 难度:简单)3.2 逆波兰表达式求值(来源:LeetCode 难度:中等)3.3栈的压入、弹出序列(来源:牛客网 难度:中等)
2022-11-21 14:02:09
2374
65
原创 【Java 数据结构】双向链表
本期主要讲解:1、什么是双向链表2、实现一个双向链表2.1 实现前的约定2.2 addFirst 方法2.3 addLast 方法2.4 addIndex 方法2.5 contains 方法2.6 removeAllKey 方法3、LinkedList 的学习3.1认识下 LinkedList3.2 LinkedList 的构造方法3.3 LinkedList 的遍历4、ArrayList 和 LinkedList的区别
2022-11-16 16:37:30
2790
30
原创 【Java 数据结构】单链表与OJ题
本期主要讲解:1、什么是链表?2、实现一个单向非循环链表2.1 实现前的约定2.2 addFirst 方法2.3addList 方法2.4 addIndex 方法2.5 contains 方法2.6 remove 方法2.7 removeAllKey 方法2.8 size 和 clear 方法3、单链表OJ题深度解剖3.1 移除链表元素(来源:LeetCode 难度:简单)3.2反转链表(来源:LeetCode 难度:简单)3.4链表中倒数第k个节点(来源:牛客网)...
2022-11-07 11:14:47
2902
96
原创 【Java 数据结构】顺序表
本期主要讲解:1、什么是顺序表?2、模拟实现ArrayList2.1 模拟实现前的约定2.2构造方法2.3 add方法2.4 contains 方法2.5 indexOf 方法2.6 get 方法2.7 set 方法2.8 remove 方法2.9 getSize 和 clear 方法3、ArrayList 的学习3.1 ArrayList的成员属性3.2 ArrayList的构造方法4、ArrayList的使用4.1 ArrayList的遍历4.2 扑克牌例子
2022-11-01 09:05:15
4060
134
原创 【Java SE】认识泛型
本期主要讲解:1、如何创建可以存放各种类型的数组?2、泛型的概念2.1 浅聊泛型2.2 泛型的简单语法2.3 类型形参列表的命名规范2.4 使用泛型知识创建数组2.5 什么是裸类型?3、泛型是如何编译的?3.1 泛型的擦除机制3.2 再谈为什么不能实例化泛型数组?3.3 什么是泛型的上界?3.4 再谈擦除机制4、包装类的知识5、泛型方法6、通配符6.1 引出通配符6.2 认识通配符6.3通配符的上界6.4 通配符的下界
2022-10-24 19:41:52
1810
12
原创 【Java SE】异常的认识
1、简单认识异常2、异常的体系结构3、异常的分类3.1 编译时异常3.2 运行时异常4、如何处理异常?4.1 异常的抛出4.2 异常的捕获4.2.1 throws 关键字4.2.2 try 和 catch 关键字4.2.3 finally 关键字4.2.4 finally 的执行时机是什么?4.3 异常处理的流程5、自定义异常类...
2022-10-17 10:43:49
1726
131
原创 【Java SE】String类
本期主要讲解:1、字符串的构造1.1 简单初始化字符串1.2 String是引用类型2、String类常用方法3.1 什么是字符串常量池3.2 从内存的角度理解创建String对象3.3 intern 方法3.4 一道面试题4、StringBuilder 和 StringBuffer4.1 为什么String对象不可变?4.2 介绍StringBuilder 和 StringBuffer4.3三种字符串类型的区别
2022-10-06 18:31:16
939
56
原创 【Java SE】抽象类和接口
本期主要讲解:1、抽象类1.1 抽象类的概念1.2 抽象类的语法1.3 抽象类的特性1.4 抽象类的作用2、接口2.1 接口的概念2.2 接口的语法规则2.3 接口的简单使用2.4 接口的特性2.5 实现多个接口2.6 接口之间的继承2.7 抽象类和接口的区别3、Object 类3.1 认识Object类3.2 获取对象信息3.3 对象的比较 equals 方法......
2022-09-26 20:44:05
1734
108
原创 【Java SE】多态的详解
本期主要讲解:1、多态1.1 简单了解多态1.2 多态的实现需要具备哪些条件?2、方法重写2.1 重写的概念2.2 方法重写的规则2.3 重写和重载的区别2.4 为什么需要重写呢?3、向上转型和向下转型3.1 向上转型3.2 结合向上转型,正式学习多态3.3 向下转型4、通过练习进一步了解多态4.1 打印指定不同图案(多态实现)4.2 避免在构造方法中调用重写的方法...
2022-09-14 09:00:00
7003
80
原创 【Java SE】继承的详解
本期主要讲解:1、继承1.1 继承的概念1.2 继承的语法和简单使用1.3 子类中访问父类成员出现同名2、 super关键字2.1 如何使用 super 关键字2.2 子类构造方法2.3 super 和 this 的区别3、再谈代码块3.1 回顾3.2 继承关系中的执行顺序4、 protected 关键字4.1 protected关键字的作用4.2 子类如何访问父类 private 修饰的成员?4.3 为什么 private 和 protected 不能修饰...
2022-09-08 09:06:08
10027
103
原创 【Java SE】封装的详解
本期主要讲解:1、封装1.1 什么是封装?2.2 访问权限2.3 private 简单使用2、封装之包的概念2.1 什么是包?2.2如何导入包中的类?2.3 自定义包3、static修饰符3.1 为什么需要 static 修饰成员?3.2 static 修饰成员变量3.3 static 修饰静态成3.4 static 成员变量初始化4、代码块4.1 代码块的分类及概念4.2 构造代码块和静态代码块5、内部类5.2 实例内部类5.3 静态内部类............
2022-09-04 07:42:55
12022
120
原创 【Java SE】类和对象
本期主要讲解:1、面向对象的初识1.1 面向对象和面向过程的区别2、类的定义和使用2.1 什么是类?2.2 类的定义3、类的实例化3.1 什么是实例化3.2 使用类实例化对象:3.3 类和对象的简单说明4、this 引用的认识4.1 为什么需要 this 引用4.2 什么是 this 引用?5、对象的构造和初始化5.1 如何初始化对象5.2 构造方法5.3 默认初始化5.4 就地初始化...............
2022-08-29 09:38:52
14222
60
原创 【Java SE】数组的深入理解
本期主要讲解:1、数组的基本概念1.1 我们为什么需要数组?1.2 数组的创建与初始化1.3 数组的使用1.4 数组的遍历2、引用类型数组的深入讲解2.1 简单了解 JVM 的内存分布2.2 基本类型变量与引用类型变量的区别2.3 通过方法更深刻理解引用变量2.4 数组作为函数返回值3、二维数组3.1 二维数组的概念和内存布局3.2 二维数组的定义和初始化3.3 二维数组遍历3.4 不规则的二维数组...........................
2022-08-25 09:00:00
10391
127
原创 【Java SE】方法的使用
本期主要讲解:1、方法的简述和概念1.1 什么是方法?1.2 方法的定义和使用1.3 形参与实参的关系2、方法重载2.1 为什么需要方法重载?2.2 方法重载的使用2.3 方法的签名3、方法的递归
2022-08-21 09:00:00
5879
95
原创 【Java SE】程序逻辑控制
本期主要讲解:1、分支语句1.1 认识 if 语句1.2 两个 if 分支以上的情况1.3 if 嵌套的情况1.4 switch 语句1.5 使用 switch 的注意事项2、循环结构2.1 while 循环2.2 for 循环2.3 do while 循环2.4 break 和 continue3、输出到控制台4、从键盘输入............
2022-08-17 09:06:25
9709
169
原创 【Java SE】运算符详解
本期主要讲解:1、算数运算符1.1 四则运算符1.2 复合运算符1.3 自增自减运算符2、关系运算符3、逻辑运算符3.1 逻辑 && 和 逻辑 | |3.2 逻辑非!4、位运算符4.1 按位与(&)和按位或( | )4.2 按位异或(^)和按位取反(~)5、移位运算符6、条件运算符......
2022-08-13 09:00:00
10376
145
原创 【Java SE】基本数据类型
本期主要讲解:1、什么是常量?1.1 Java常量分类:2、基本数据类型2.1 类型的基本认识:2.2 为什么会出现数据类型?3、变量和数据类型3.1 什么是变量?3.2 标识符的命名规则3.3 整型家族变量3.4 浮点家族变量3.5 布尔类型变量4、类型转换4.1 什么是类型转换?4.2 隐式类型转换4.3 强制类型转换5、类型提升5.1 int与long之间的那些事5.2 小于四个字节的类型变量如何运算?............
2022-08-10 09:00:00
20835
137
原创 【C语言】指针和数组的深入理解(第四期)
1、数组参数和指针参数1.1 一维数组传参1.2 一级指针传参1.3 二维数组参数和二级指针参数1.4 野指针的问题2、函数指针3、函数指针数组4、指向函数数组的指针5、回调函数6、一道笔试题...
2022-08-07 09:00:00
20139
128
原创 【C语言】指针和数组的深入理解(第三期)
本期主要讲解:1、指针变量在口语中为什么会跟指针混用?2、指针数组和数组指针2.1 什么是指针数组?2.2 什么是数组指针?2.3 指针数组和数组指针的布局3、多维数组和多维指针3.1 二维数组3.2 二级指针3.3 一道面试题...............
2022-08-04 09:33:20
9885
79
原创 【C语言】指针和数组的深入理解(第二期)
本期主要讲解:1、数组的概念2、数组的内存布局3、数组名到底是什么?4、数组名做左值和右值的区别5、以指针的形式访问和以数组的形式访问6、为什么C语言要把指针和数组元素访问互通呢?...............
2022-07-29 09:00:00
7241
120
原创 【C语言】指针和数组的深入理解(第一期)
本期主要讲解:1、指针是什么?2、为什么要有指针?3、指针的内存布局4、指针变量类型有什么作用?5、指针的解引用6、如何将数值存储到指定的内存地址?
2022-07-23 09:00:00
25219
131
原创 【C语言】预处理的深入理解(第二期)
本期主要讲解:1、条件编译1.1 条件编译如何使用?1.2 用 #if 模拟 #ifdef1.3 为何要有条件编译? 2、文件包含2.1 #include 究竟干了什么?2.2 防止头文件重复包含的条件编译是如何做到的?3、选学内容3.1 #error 预处理3.2 #line 预处理 3.3 #pragma 预处理3.3.1 #pragma message3.3.2 #pragma once3.3.3 #pragma warning3.3.4 #pragma pack3.4 # 和 ##.........
2022-07-13 09:00:00
10542
104
原创 【C语言】预处理的深入理解(第一期)
本期主要讲解:1、#define的深度认识1.1 数值宏常量1.2 字符串宏常量1.3 用宏充当注释符号1.4 用宏替换多条语句1.5 宏定义的使用建议2、#undef 撤销宏2.1 宏的定义位置和有效范围2.2 宏的取消2.3 一道笔试题.........
2022-07-07 09:30:00
2672
91
原创 【C语言】符号的深入理解(第二期)
本期主要讲解:1、按位运算符1.1 按位或 ( | ) 和 按位与 ( & )1.2 按位异或 ( ^ ) 1.3 一个关于整型提升的问题 2、移位操作符 2.1 左移>操作符2.2 习题练习 3、++ 和 -- 的操作3.1 基本操作 3.2 从汇编角度深入理解 a++...............
2022-07-01 10:38:26
3475
67
原创 【C语言】符号的深入理解(第一期)
本期主要讲解:1、注释符号1.1 注释的基本注意事项1.2 如何写出好的注释?2、接续符和转移符2.1 续行功能2.2 转义字符3、单引号和双引号3.1 基本概念3.2 特殊情况4、逻辑操作符4.1 && (逻辑与)4.2 || (逻辑或)4.3 逻辑与和逻辑或的笔试题.........
2022-06-25 09:30:00
23063
97
原创 【C语言】关键字的深入理解(第六期)
1、struct 关键字的理解和柔性数组2、union 内存级布局理解3、enum 是你想的这样吗4、typedef 深入理解5、关键字的分类总结
2022-06-21 09:45:00
2850
130
原创 【C语言】关键字的深入理解(第五期)
本期主要讲解:1、站在汇编角度理解 return 关键字2、const 的应用场景可真不少 3、你可能没见过的关键字 - volatile(汇编讲解)
2022-06-02 14:32:43
2808
131
原创 【C语言】关键字的深入理解(第四期)
本期我们接着深度解剖C语言——关键字篇:1、switch 深入理解2、如何正确的使用 case?3、循环语句while for do while深度讲解4、go to 真的没人用了吗?5、continue的作用是什么?6、void 到底是何方妖怪?............
2022-05-24 09:30:00
6938
136
原创 【C语言】三子棋小游戏(详解)
前面讲了那么多的知识,今天来放松一下, 一起来一个简易的小游戏——三子棋:1、设计思路设计一个的棋盘 玩家自行输入坐标,电脑随机下棋 三种情况:玩家赢,电脑赢,平局2、 代码实现既然是小游戏,我们就可以设置一个简易的菜单,比如1为开始游戏,0为退出游戏:...
2022-05-08 10:13:12
2040
127
原创 【C语言】关键字的深入理解(第三期)
1、什么是语句,表达式?2、bool 变量在C语言中到底是怎么一回事?3、浮点数真的是你想的这样吗?4、指针变量和 0 比较5、else 匹配问题以及 if 的其他常见问题
2022-04-30 11:48:17
8480
227
原创 【C语言】关键字的深入理解(第二期)
本期主要讲解sizeof和signed、unsigned关键字,以及认识大小端存储和变量的命名规则,坚持下去,你就是大牛。
2022-04-18 16:41:36
2631
144
原创 【C语言】关键字的深入理解(第一期)
本期深度讲解register,extern,static关键字,以及让初学者对变量有充足的认识,相信小伙伴看完本期肯定有收获,Come on, believe in yourself!
2022-04-11 17:39:20
5242
219
原创 快速排序,归并排序导致栈溢出如何解决?(非递归算法)
本期主要讲解:栈溢出的主要原因,内存分布的认识,快速排序和归并排序的非递归算法,结合上期,充分带你学习排序,内含有精美的配图和优质的代码风格!
2022-04-03 12:47:01
5352
183
原创 常见的排序算法(下)
本期主要讲解:快速排序的三种递归算法,归并排序的分治算法,以及冒泡排序,都配有详细的图解,以及排序的复杂度及稳定性分析,有任何不懂的可以随时问我哦!
2022-03-30 20:27:36
17634
212
MySQL 联合查询案例代码
2023-01-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅