自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 函数式接口和方法引用

函数式接口是仅包含一种抽象方法的任何接口。(一个函数式接口可能包含一个或多个默认方法或静态方法。)由于一个函数式接口仅包含一个抽象方法,因此在实现该方法时可以省略该方法的名称。示例JDK8专门为函数式接口提供了一个注释标识,该注释只能使用在接口类型的定义上,表明这是一个函数式接口,编译器在编译时就会对该接口进行检测:接口中是否只有一个抽象方法。如果有多个抽象接口方法或者一个抽象接口方法都没有,则将会编译错误示例如果接口类型上没有注解,但接口中只有一个抽象方法,这个接口也是函数式接口。

2026-04-18 23:39:37 188

原创 堆排序算法

【代码】堆排序算法。

2026-03-27 16:59:00 51

原创 交换排序算法

【代码】交换排序算法。

2026-03-27 16:58:22 97

原创 关键路径的实现

即边表示活动的网,是与AOV网(顶点表示活动)相对应的一个概念。而拓扑排序恰恰就是在AOV网上进行的,这是拓扑排序与关键路径最直观的联系。AOE网是一个带权的有向无环图,其中顶点表示事件,弧表示活动,权表示活动持续的时间。源点:入度为0的点汇点:出度为0的点:事件最早发生时间,就是顶点的最早发生时间(取最大值):事件最晚发生时间,就是顶点的最晚发生时间(从终点向起点逆向推导,取最小值)。:活动最早发生时间,就是边(活动)的最早开始时间(等于该边的起点顶点的ETV。

2026-03-24 19:30:47 47

原创 拓扑排序的实现

AOV网在一个表示工程的有向图中,用顶点表示活动,用弧表示活动之间的优先级关系的有向图称为顶点表示活动的网(),简称AOV网。就是用顶点表示活动的网拓扑序列设G = (V, E)是一个具有n个顶点的有向图,V中的顶点序列满足若从顶点Vi到Vj有一条路径,则在顶点序列中顶点Vi必在顶点Vj之前。则我们称这样的序列为一个拓扑序列。​拓扑排序所谓的拓扑排序,其实就是对一个有向无环图构造拓扑序列的过程。

2026-03-23 19:14:32 35

原创 Dijkstra算法的实现

【代码】Dijkstra算法的实现。

2026-03-23 13:45:18 245

原创 15_Prim算法

Prim。

2026-03-21 18:04:04 48

原创 14_kruskal

(克鲁斯卡尔算法)是一种用于寻找加权无向图的的贪心算法。它的核心目标是:在一个包含 V 个顶点和 E 条边的连通图中,找到一棵包含所有顶点的树,使得这棵树的所有边权重之和最小。kruskal:m 条边,n 个顶点,m 条边中找 n - 1 条边, n - 1 条边之和是最小,且他们会构成最小生成树。约束:必须保证这条边的加入,不会产生环添加一条边,<a, b> 知道两个顶点,不在一个集合里,采用并查集。

2026-03-21 01:06:47 215

原创 12_十字链表的操作与实现

【代码】12_十字链表的操作与实现。

2026-03-19 20:24:55 57

原创 11_邻接表的操作与实现

101E4。

2026-03-18 13:34:51 50

原创 Lambda

表达式标准语法 示例 表达式只能使用在只有一个接口方法的接口上,只有一个接口方法的接口称之为函数式接口() 练习定义一个接口将任意对象以字符串的形式展示出来,并在测试类中使用表达式完成测试定义一个接口计算两个树的和,并在测试类中使用表达式完成测试2. 表达式省略规则()中所有的参数类型可以省略如果()中有且仅有一个参数,那么()可以省略如果{}中有且仅有一条语句,那么{}可以省略,这条语句后的分号也可以省略。如果这条语句是return语句,那么return关键字也可以省略。 示例编

2026-03-14 20:46:05 77

原创 哈夫曼树的操作与实现

【代码】哈夫曼树的操作与实现。

2026-03-14 16:55:28 25

原创 Java集合

用数组实现集合使用数组对元素进行增删改查时,需要我们自己编码实现。而集合时Java平台提供的,也能进行增删改查,已经有了具体的实现。我们不需要再去实现,直接使用Java提供的集合即可,这无疑减少了编程的工作量。同时Java平台提供的集合无论是在数据结构还是算法设计上都具有更优的性能。集合接口体系中有两个顶层接口和,接口属于单列集合(可以理解为一次存储一个元素),属于双列集合(可以理解为一次存入两个相关联的元素)。2.2 实现了接口,属于单列集合的顶层抽象类。在抽象类中没有实现的方法:由此可以看出并

2026-03-12 17:43:37 225

原创 并查集的操作与实现

并查集(英文:Disjoint-set data structure, 直译为不交集数据结构)是一种数据结构,用于处理一些不交集的合并及查询问题。

2026-02-14 23:40:45 599

原创 平衡二叉树的操作与实现

AVL。

2026-02-14 23:39:49 268

原创 搜索二叉树的操作与实现(c Java)

如果它的左子树不空,则左子树上所有的值均小于它的根节点的值若它的右子树不空,则右子树上所有的值均大于它的根节点的值它的左、右树又分为二叉排序树。

2026-02-03 02:31:52 331

原创 06_线索二叉树实现(c java)

现有一个结点数目为n的二叉树,采用二叉链表的形式存储,对于每个结点均有指向左右孩子的两个指针域。结点为n的二叉树一共有 n + 1 个空指针域。:先对二叉树中序化,中序线索化,建立虚线以后,再进行前驱后继的处理,就直接按照线索化的路径进行遍历。中序遍历:1. 一直往左走,直到找到左线索点。2. 当前这个点是否有右线索,一直往右。3. 当发现某个点的右边不是线索化点,把这个右边的点当作新结点,重复1.。

2026-01-21 18:07:42 274

原创 Git常用命令

打开Git 图形界面: 打开Git 命令行。

2026-01-20 19:44:01 163

原创 二叉树遍历(c Java)

引入一个栈,每激活一个结点,它的左右任务按照先序顺序保存到记忆栈,先右后左放入记忆栈。出栈,出一个,激活一个新的任务,又重复,先右后左放入栈,当栈内没有元素时,整个遍历就结束。用队列实现,层次遍历,激活一个节点,就可能产生2个新任务,引入缓存区查看任务, 不断从缓存区中获取任务。释放二叉树,可以采用递归,先访问左孩子,再访问右孩子,再释放结点。递归, 先访问左孩子,再访问结点数据,再访问右孩子。递归,先访问节点数据,在访问左孩子,在访问右孩子。递归, 先访问左孩子,再访问右孩子, 再访问数据。

2026-01-18 15:15:20 365

原创 Java IO流

需要导包。

2026-01-13 05:00:25 1168

原创 队列的操作与实现(C Java)

操作行为上,只能在两端进行操作。一端是写,一端是读。写端是:队尾,读端是队头。

2026-01-12 00:25:09 241

原创 栈的操作与实现(Java C)

表的插入和删除只能在一端进行,先进后出。

2026-01-11 02:24:33 277

原创 链表的操作与实现(Java C)

对于顺序表而言,内存利用率很高,按位置查找效率高。但插入删除需要搬移大量元素,时间效率低。并且堆区必须出现连续的空间,空间不满足。因此可以考虑链表链表的定义:单向链表只能往一个方向访问,一旦访问了下一个节点,那么再也不能回到之前的状态了需要申明节点和表头,每个节点的next域指向下一个节点,而表头则存储头节点和节点的总个数等,在头节点(head)中的无任何意义,则是指向第一个节点 。 C实现: Java 实现:1.2 创建链表Java中直接new即可c需要通过函数来创建一个表头,如果创建成功就对这个

2026-01-10 03:11:02 680

原创 链表的操作与实现(Java C)

对于顺序表而言,内存利用率很高,按位置查找效率高。但插入删除需要搬移大量元素,时间效率低。并且堆区必须出现连续的空间,空间不满足。因此可以考虑链表链表的定义:单向链表只能往一个方向访问,一旦访问了下一个节点,那么再也不能回到之前的状态了需要申明节点和表头,每个节点的next域指向下一个节点,而表头则存储头节点和节点的总个数等,在头节点(head)中的无任何意义,则是指向第一个节点 。 C实现: Java 实现:1.2 创建链表Java中直接new即可c需要通过函数来创建一个表头,如果创建成功就对这个

2026-01-10 03:08:12 903

原创 单向链表的实现

对于顺序表而言,内存利用率很高,按位置查找效率高。但插入删除需要搬移大量元素,时间效率低。并且堆区必须出现连续的空间,空间不满足。因此可以考虑链表链表的定义:单向链表只能往一个方向访问,一旦访问了下一个节点,那么再也不能回到之前的状态了需要申明节点和表头,每个节点的next域指向下一个节点,而表头则存储头节点和节点的总个数等,在头节点(head)中的无任何意义,则是指向第一个节点 。 C实现: Java 实现:创建链表Java中直接new即可c需要通过函数来创建一个表头,如果创建成功就对这个链表进行

2026-01-08 19:07:44 329

原创 顺序表的实现

顺序表操作简单,但要进行多次删除和插入时需要大量操作。

2026-01-05 02:20:35 509

原创 字符串(听课笔记)

String 位于Java.lang包中,无需导包String类由fianl修饰,表示不能被修改,不能被继承String类构建的对象不可在被修改。

2025-12-13 23:47:54 516

原创 异常(听课笔记)

再Java中,异常的类型非常多,要想使用这些异常,首先必须熟悉它们。这无疑是一个巨大的工作,很耗费时间。如果我们可以自定义异常,则只需要熟悉ExceptionThrowable即可。这大大缩小了范围,自定义异常还可以帮助我们快速定位问题。public class 类名 extends RuntimeException {}public class 类名 extends Exception {}示例:在登录时经常会看到:用户名提示不存在或者账号密码错误。请用自定义异常来描述。

2025-12-12 22:36:01 935

原创 多态和Object类笔记

继承、接口就是多态的具体体现方式方法重载在编译时就已经确定如何调用,因此方法重载属于编译时多态。示例:3. 运行时多态运行时多态:Java虚拟机为每个变量中引用的对象调用适当的方法。它不会调用由变量类型定义的方法。这种行为成为虚拟方法的调用。示例:案例:王者中英雄都有名字,都会攻击,分为物理攻击和法术攻击应用场景:动物园中有老虎,熊猫,猴子等动物,每种动物吃的东西不一样,老虎吃肉,熊猫吃竹叶,猴子吃水果,动物管理员会给它们喂食物分析:老虎,熊猫,猴子都是动物,它们的动作都是吃,动物管理

2025-12-11 20:39:24 623

原创 内部类(听课笔记)

匿名内部类的本质就是隐藏了名字的内部类。

2025-12-08 20:44:12 284

原创 接口(听课笔记)

接口用关键字interface来定义publicinterface接口名 {}接口不能实例化接口和类之间是实现关系,通过implements关键字表示public class 类名implements接口名 {}接口的子类(实现类)要么重写接口中所有的抽象方法要么是是抽象类注意1:接口和类的实现关系,可以但实现,也可以多实现public class 类名implements接口名1, 接口名2 {}注意2:实现类还可以在继承一个类的同时实现多个接口。

2025-12-08 20:42:55 971

原创 权限修饰符和代码块

学习笔记

2025-12-07 15:44:42 308

原创 final

final 修饰方法:​ 表明该方法是最终方法,不能被重写final 修饰类:​ 表明改类是最终类,不能被继承final 修饰变量:​ 叫做常量,只能被赋值一次​​​​​因为是常量,不能被再次赋值。

2025-12-07 13:50:56 212

空空如也

空空如也

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

TA关注的人

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