自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 图的深度遍历和广度遍历

首先定义一个图。然后再进行深度优先遍历,我们以无向图为例。深度优先遍历的基本步骤:1.访问初始节点v,并标记v结点为已访问2.查找节点v的第一个邻接节点w3.若w存在,则执行4.若不存在则返回到第一步,从v的下一个节点出发4.若w未被访问,则把w当作v进行深度优先遍历(继续执行123)5.若w已经被访问,查找v的从w开始的下一个邻接节点,转到3综上所知,深度优先遍历至少还需要查找当前节点的第一个邻接节点,以及查找v从w开始的下一个邻接节点,这两个方法。深度优先遍历的代码。

2023-11-17 15:28:14 70

原创 关于二分查找的一些问题

二分查找要求待查找数组必须有序。如果数组中有要查找的元素num,就返回该元素所在数组中的索引下标。如果没有,就返回-1.当计算mid时,为什么要使用位运算:不仅是因为位运算比直接计算的速度快。也是因为。如果left和right都是比较大的数那么(left+right)/2.可能就造成了溢出。最好使用left + (right-left)/2 的方式防止溢出。

2023-11-15 16:42:42 51 1

原创 七种排序算法的java实现

冒泡排序的思想就是将每个元素进行比较。如果当前元素比下一个元素大,就进行交换。优化的条件是,如果某趟排序中并没有发生交换,所以此时已经有序,直接退出即可。最坏的时间复杂度为O(n^2)

2023-11-14 20:44:14 49 1

原创 java实现栈

ps:java中的LinkedList集合提供了addLast和removeLast方法,所以可以直接使用LinkedList来模拟一个栈。

2023-11-12 13:08:24 44 1

原创 java实现链表

首先要有节点信息。也可以直接使用数字来充当节点信息然后是定义链表信息。这里使用的是带头结点的链表。也就是链表有一个头节点。该头节点是不存放任何数据的,只是为了方便链表的各种操作。(我们假定每个节点的no是不重复的)链表的操作主要是有:add(Node node) 添加一个节点。根据no的值,使加入的节点按no是顺序的remove(Node node) 删除一个节点show() 遍历链表,打印里面的所有数据mod(Node node) 改变节点的值。

2023-11-11 12:12:15 18 1

原创 java实现队列

队列的特性是先进先出。主要的应用是作为缓冲池。首先要有maxSize用来记录队列的最大长度。并且记录front和rear。rear表示队列中的最后一个元素,front表示队列中的第一个元素,在起始时,队列中没有数据。所以初始化front和rear都为-1.判断队列是否为空的条件是front==rear;判断队列是否满的条件是rear==maxSize -1;所以push表示添加数据。首先要判断队列是否已经满了,如果没有就先把front++。然后将该值加入到数组的索引为front的位置。

2023-11-09 10:49:01 25 1

原创 稀疏矩阵使用三元表存储并还原

创建存储稀疏矩阵的三元组,从三元组的第二行开始将非0元素的行索引和列索引以及非0元素的值存入。然后将三元组中第一行的值,赋值为稀疏矩阵的行维度和列维度,以及count。其中count是其中非0元素个数。创建一个11*11的稀疏矩阵,索引为1 2 和 2 3的位置元素不为0,其余位置元素均为0。稀疏矩阵是指二维数组中有大量的值为0,而真正要保存的数据却很少,造成了数组空间的浪费。下面的每一行存放的是每一个非0数据所在的索引坐标,以及每个元素的值。三元组的第一行表示稀疏矩阵的维度,以及非0数据的个数。

2023-11-08 20:29:40 225 1

原创 java中泛型的讲解

基本语法:修饰符 <T,R...>返回类型 方法名(参数列表){}细节: 1.泛型方法可以定义在普通类中,也可以定义在泛型类中2.当泛型方法被调用时,类型会确定3.public void eat(E e){} 修饰符后没有<T,R>,方法不是泛型方法,而是使用了泛型class Car{//普通方法//这个方法不是泛型方法,而是方法使用了泛型//泛型方法,定义了泛型就要用的,不然就没有意义了//传入形参时,编译器就会确定对应的类型car.fly("宝马",100);

2023-10-16 12:01:03 25 1

原创 java中集合的总结和归纳

对上述代码进行debug:进入add方法后,实际上进行的是linkLast方法首先创建一个节点为指向last。但链表中现在没有元素,所以last为null。然后创建一个newNode使前一个节点为链表的最后一个节点,新加入的元素放入该节点的数据域。然后把last指向newNode,即newNode现在是最后一个元素。然后进入if语句。first也指向newNode。表名里面只有一个节点newNode。而加入第二个节点时,进入的就是else里面的代码块,把最后一个节点的next域指向了新节点。

2023-10-15 19:04:24 72

原创 java中三种日期类的总结和简单使用

现在该类中的很多方法以及弃用,但是如果只是想要输出个当前时间,还是可以简单使用的。

2023-10-10 20:41:14 117 1

原创 关于java常用类中的String类的总结

(这里是jdk20版本下)

2023-10-10 11:48:56 62

空空如也

空空如也

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

TA关注的人

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