自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二叉树的遍历

二叉树 前序遍历 中序遍历 后序遍历

2022-03-02 22:55:56 286

原创 图解斐波那契搜索并使用java实现

斐波那契查找是在二分查找之上进行了优化将查找系数0.5换成了接近黄金分割比的系数假设有一个裴波那契数组int[] F和一个要进行搜索的数组int[] arr;arr.length = F[F.length -1]即数组的长度等于裴波那契数组最后一个值在契数列中任意一个值F[k] F[k - 2]/F[k - 1]近似于于黄金分割比即数字F[k] 的近似黄金分割点为 F[k - 1]将二分查找的中间系数改为int middle = left + F[k - 1] -1 ; //因为数组从0开始

2020-05-16 19:40:32 203

原创 实现归并排序java(分治与递归)

// 归并排序的基本思想是分治 // 将数组分成两个部分,然后将左右数组按大小进行排序并返回新的数组 // 归并方法用用到了递归,终止递归的条件是当数组只有一个元素的时候停止 // 为了标记左右数组需要两个指针分别记录做数组的起始位置和右数组的起始位置 // 实际上只要知道数组最右面值的下标也可以获取到右数组的起始位置,所以只需要传入数组的起始位置和末尾位置即可 public static int[] mergeSort(int[] arr, int left, int right) { /.

2020-05-14 18:29:20 239

原创 图解希尔排序并利用Java实现

// 希尔排序public class ShellSort { public static void main(String[] args) { int[] array = {12,98,23,56,3,59,2}; for (int i = 0; i < array.length; i++) { System.out.print(array[i]+","); } ...

2020-04-24 23:40:03 159

原创 图解插入排序并利用Java实现

1.什么是插入排序插入排序的基本思想就是先在数组中划分出一个有序的区域,然后将按无序区域的数按顺序插入到有序的区域中一般会指定数组的第一个数字或者最后一个数字作为最开始的有序区域,只有一个数字那么必然是有序的2.图解3.代码实现接下来用完整的代码实现插入排序并做测试public class InsertSort2 { public static void main(String...

2020-04-23 15:23:16 209

原创 选择排序图解并利用Java实现

选择排序是在冒泡基础上有一定的优化将数组的第一个值分别与之后的每个值进行比较,找到最大的值然后交换位置然后从第二个值开始分别与之后的每个值进行比较,找到剩下的值中最大的然后交换这个过程一直持续到最后一个元素。接下来通过画图来展示这个过程代码实现// 选择排序public class SelectionSort { public static void main(String[]...

2020-04-21 21:26:43 186

原创 冒泡排序图解并通过Java实现

冒泡算法图示重复以上的步骤只到排序完毕,下面通过具体的代码来实现冒泡排序// 利用冒泡算法实现数组排序public class BubbleSort { public static void main(String[] args) { int[] array = {2,43,5,34,7,8,4,34,56,8,234}; for (int i = 0; i < arra...

2020-04-20 18:55:23 225

原创 Java回溯完成八皇后问题

八皇后问题一个古老而著名的问题,是回溯算法的典型案例。该问题由国际西洋棋棋手马克斯·贝瑟尔于 1848 年提出:在 8×8 格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。这里我们创建一个一维数组map来代表棋盘并约定如下map[x]代表第几列,x代表第几行,下标都是从零开始完成这个问题需要创建一个方法用来检查,当前棋子是...

2020-04-19 11:08:05 127

原创 Java使用递归完成迷宫探路

1.利用二维数组创建一个地图map[][];做出以下约定:坐标值为1表示墙壁坐标值为0表示没有探测过的地方坐标值为2表示探测过的地方设定一个开始坐标,表示探测器在地图上的初始位置设置初始的地图如上图,这里我随机添加了几个障碍设置map[1][1]为起始点设置map[6][6]为终点,当探测器走到这个点的时候代表探测完成实现代码如下public class Labyrint...

2020-04-18 08:45:22 167

原创 Java利用栈实现中缀表达式转后缀表达式

先说明一下具体实现的步骤中缀表达式a + b*c + (d * e + f) * g,其转换成后缀表达式则为a b c * + d e * f + g * +。1)如果遇到操作数,我们就直接将其输出。2)如果遇到操作符,则我们将其放入到栈中,遇到左括号时我们也将其放入栈中。3)如果遇到一个右括号,则将栈元素弹出,将弹出的操作符输出直到遇到左括号为止。注意,左括号只弹出并不输出。4)如果...

2020-04-17 10:51:40 306

原创 Java实现循环链表并解决约瑟夫问题

第一步创建一个结点类public class ListNode { // 一个链表包括结点 以及增删该查的方法 // 每个结点包含一个id一个value以及nextNode存储下一个结点对象 private int id; // 用来标识结点 private String value; // 存储数据 // 每个链表在创建后必须包含一个头结点 public ListNode ne...

2020-04-15 09:59:04 164

原创 Java实现循环列表

public class deque { int maxSize; // 表示队列的最大容量 int front; // 表示队列的头部也就是队列的第一个元素 int rear; // 表示队列的尾部即队列的最后一个数字 int[] deque; // 用来充当队列的容器 public deque() { } // 空参构造 // 带参构造用来创建指定容量的队列容器 publ...

2020-04-12 10:36:43 769

空空如也

空空如也

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

TA关注的人

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