自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 资源 (1)
  • 收藏
  • 关注

原创 字符匹配-暴力法

public class ViolenceMatch { public static void main(String[] args) { String str1 = "BBC ABCDAB ABCDABCDABDE"; String str2 = "ABCDABD"; int index = strMatch(str1, str2); ...

2019-12-29 16:17:21 150

原创 分支算法-汉诺塔

public class HanoiTower { public static void main(String[] args) { hanoi(3, 'A', 'B', 'C'); } public static void hanoi(int num, char a, char b, char c) { if(num == 1) { ...

2019-12-28 16:17:06 139

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

import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedList;public class GraphDemo { private ArrayList<String> vertexList; //存储顶点的集合 private int[][] edges; ...

2019-12-28 14:14:39 126

原创 图-代码实现

import java.util.ArrayList;import java.util.Arrays;public class GraphDemo { private ArrayList<String> vertexList; //存储顶点的集合 private int[][] edges; //邻接矩阵 private int numOfEdge...

2019-12-26 13:44:14 221

原创 平衡二叉树的实现

public class AVLTreeDemo { public static void main(String[] args) {// int[] arr = {4, 3, 6, 5, 7, 8};// int[] arr = {10, 12, 8, 9, 7, 6}; int[] arr = {10, 11, 7, 6, 8, 9};...

2019-12-25 14:16:41 73

原创 二叉树获取树的高度

public class AVLTreeDemo { public static void main(String[] args) { int[] arr = {4, 3, 6, 5, 7, 8}; /* 4 / \ 3 6 ...

2019-12-25 12:14:13 593

原创 双向链表的实现

管理单项链表的缺点分析:1、单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找2、单向链表不能自我删除,需要靠辅助节点,而双向链表,则可以自我删除,所以前面我们单链表删除节点时,总是找到temp,temp是待删除节点的前一个节点分析双向链表的遍历,添加,修改,删除的操作思路:1、遍历方法和单链表一样,只是可以向前,也可以向后2、添加(默认添加到双向链表的最后)(1)先找...

2019-12-24 16:50:18 109

原创 寄几用数组模拟的一个栈

package com.itguigu.myStack;public class StackDemo { public static void main(String[] args) { int[] array = new int[3]; Stack stack = new Stack(array); try { ...

2019-12-24 16:50:14 93

原创 单链表的实现

1、链表是以结点的方式来存储2、每个结点包含data域,next域:指向下一个节点3、链表的各个节点不一定是连续的4、链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定head节点:不存放具体的数据,作用就是表示单链表头水浒英雄排行榜管理:1、完成对英雄的增删改查操作2、第一种方法在添加英雄时,直接添加到链表的尾部3、第二种方法在添加英雄时,根据排名将英雄插入到指定位置...

2019-12-24 16:50:03 90

原创 数组模拟队列

思路分析:1、将尾指针往后移:rear+1,当front == rear 【空】2、若尾指针rear小于队列的最大下标maxSize-1,则将数据存入rear所指的数组元素中,否则无法存入数据。rear==maxSize-1【队列满】package com.itguigu.queue;import java.util.Scanner;public class ArrayQueueDe...

2019-12-24 16:49:48 92

原创 求单链表中节点的个数

public class LinkedListSize { public static void main(String[] args) { SingleLinkedList1 singleLinkedList = new SingleLinkedList1(); Node node1 = new Node(1); Node node2...

2019-12-24 16:49:39 2326

原创 查找单链表中的倒数第K个结点

package com.itguigu.linkedlist.interview;public class LinkedListBackwardsK { public static void main(String[] args) { SingleLinkedList2 singleLinkedList = new SingleLinkedList2(); ...

2019-12-24 16:49:33 247

原创 单链表的反转

package com.itguigu.linkedlist.interview;import java.util.Stack;public class LinkedListReverse { public static void main(String[] args) { SingleLinkedList3 singleLinkedList = new Sing...

2019-12-24 16:49:26 71

原创 从尾到头打印单链表

思路:1、上面的题的要求就是逆序打印单链表2、方式1:先将单链表进行反转操作,然后再遍历即可,这样的做法的问题是会破坏原来的单链表的结构,不建议3、方式2:可以利用栈这个数据结构,将各个节点压入到栈中,然后利用栈的先进后出的特点,就实现了逆序打印的效果public static void reverseList(Node head) { if (head.next == null ...

2019-12-24 16:49:18 105

原创 合并两个有序的单链表,合并之后的链表依然有序

思路:新建一个单链表,每次都把两个有序链表中的更小的值加入到新链表中public class LinkedListConbine { public static void main(String[] args) { SingleLinkedList4 singleLinkedList1 = new SingleLinkedList4(); Singl...

2019-12-24 16:49:08 2081 3

原创 单向循环链表

自己靠感觉实现的一个单向循环链表,写的代码很low~~~public class Josephu { public static void main(String[] args) { SingleCircleLinkedList list = new SingleCircleLinkedList(); Node node1 = new Node(1)...

2019-12-24 16:49:02 75

原创 约瑟夫问题单向循环链表实现

约瑟夫(Josephu)问题(丢手帕问题)1、Josephu问题为:设编号为1,2,。。。n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,直到所有人出列为止,由此产生一个出队编号的序列。Josephu问题的解决:用一个不带头结点的循环链表来处理Josephu问题:先构成一个有n个结点的单循环链...

2019-12-24 16:48:50 248

原创 数组模拟栈

public class StackDemo { public static void main(String[] args) { ArrayStack stack = new ArrayStack(3); stack.push(1); stack.push(2); stack.push(3); stack...

2019-12-24 16:48:49 64

原创 测试冒泡排序算法对80000个数据进行排序所花费的时间

import java.text.SimpleDateFormat;import java.util.Date;public class BubbleSort { public static void main(String[] args) { int[] array = new int[80000]; for (int i = 0; i < ...

2019-12-24 16:47:34 806

原创 选择排序的实现

import java.util.Arrays;public class SelectionSort { public static void main(String[] args) { int[] array = new int[6]; for (int i = 0; i < 6; i++) { array[i] = ...

2019-12-24 16:47:27 70

原创 测试选择排序算法对80000个数据进行排序所花费的时间

import java.text.SimpleDateFormat;import java.util.Date;public class SelectionSort { public static void main(String[] args) { int[] array = new int[80000]; for (int i = 0; i &l...

2019-12-24 16:47:19 277

原创 测试希尔排序【移动法】对一亿个数据进行排序所花的时间

import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Date;public class ShellSort { public static void main(String[] args) { int[] array = new int[100000000]; ...

2019-12-24 16:47:13 194

原创 测试快速排序对一亿个数据进行排序花费的时间

import java.text.SimpleDateFormat;import java.util.Date;public class QuickSort { public static void main(String[] args) { int[] array = new int[100000000]; for (int i = 0; i &l...

2019-12-24 16:47:07 849 1

原创 快速排序的实现

import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Date;public class QuickSort { public static void main(String[] args) { int[] array = new int[10]; fo...

2019-12-24 16:47:01 51

原创 归并排序的实现

package com.itguigu.sort;import java.util.Arrays;public class MergeSort { public static void main(String[] args) { int[] array = new int[6]; for (int i = 0; i < 6; i++) ...

2019-12-24 16:46:51 80

原创 测试归并排序对一亿个数据进行排序花费的时间

import java.text.SimpleDateFormat;import java.util.Date;public class MergeSort { public static void main(String[] args) { int[] array = new int[100000000]; for (int i = 0; i &l...

2019-12-24 16:46:01 333

原创 基数排序的实现

import java.util.Arrays;public class RadixSort { public static void main(String[] args) { int[] array = new int[8]; int len = array.length; for (int i = 0; i < len; i...

2019-12-24 16:45:50 87

原创 测试基数排序分别对四千万和五千万个数据进行排序所花费的时间

测试四千万:package com.itguigu.sort;import java.text.SimpleDateFormat;import java.util.Date;public class RadixSort { public static void main(String[] args) { int[] array = new int[400000...

2019-12-24 16:45:43 264

原创 线性查找法

public class OrderSearch { public static void main(String[] args) { int[] array = new int[]{1, 2, 3, 4}; int index = orderSearch(array, 3); if (index == -1) { ...

2019-12-24 16:45:31 79

原创 二分查找法非递归实现

public class BinarySearch { public static void main(String[] args) { int[] array = {1, 8, 10, 89, 1000, 1234}; int index = binarySearch(array, 89); if (index != -1) { ...

2019-12-24 16:45:22 108

原创 二分查找递归实现

public class BinarySearch { public static void main(String[] args) { int[] array = {1, 8, 10, 89, 1000, 1234}; int index = binarySearch(array, 0, array.length - 1, 8); if ...

2019-12-24 16:45:16 94

原创 二分查找法-当有序数组中有多个相同的数值

思路:因为数组是有序的,当找到了想要查询的值的位置的时候,查看其左右两边的值是否和它相等,相等则把位置记录下来。import java.util.ArrayList;public class BinarySearch { public static void main(String[] args) { int[] array = {1, 8, 10, 89, 100...

2019-12-24 16:45:16 1630 1

原创 插值查找-递归实现

public class Interpolation { public static void main(String[] args) { int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; System.out.println("index = " + interpolation(array, 0, array...

2019-12-24 16:45:08 195

原创 插值查找-非递归实现

public class Interpolation { public static void main(String[] args) { int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int index = interpolation(array, 0, array.length - 1, 10); ...

2019-12-24 16:44:55 116

原创 斐波那契-递归

public class Fibonacci { public static void main(String[] args) { for (int i = 1; i < 12; i++) { System.out.printf("fibonacci(%d) = %d\n", i, fibonacci(i)); } }...

2019-12-24 16:44:51 133

原创 斐波那契-非递归

package com.itguigu.search;import java.util.Arrays;public class Fibonacci { public static void main(String[] args) { int[] array = fibonacci(10); System.out.println(Arrays.toS...

2019-12-24 16:44:40 51

原创 斐波那契【黄金分割】查找算法

import java.util.Arrays;public class FibonacciSearch { public static int maxSize = 20; public static void main(String[] args) { int[] array = {1, 8, 10, 89, 1000, 1234}; ...

2019-12-24 16:44:29 124

原创 模拟哈希表的实现

public class HashTableDemo { public static void main(String[] args) { HashTab hashTab = new HashTab(3); Employee one = new Employee(1, "a"); Employee two = new Employee(2...

2019-12-24 16:43:53 104

原创 二叉树的前中后序遍历的实现

package com.itguigu.binarytree;public class BinaryTreeDemo { public static void main(String[] args) { //创建一颗二叉树 BinaryTree binaryTree = new BinaryTree(); //创建需要的节点 ...

2019-12-24 16:43:49 104

原创 二叉树-前中后序查找

public class BinaryTreeSearch { public static void main(String[] args) { //创建一颗二叉树 BinarySearch binarySearch = new BinarySearch(); //创建需要的节点 Data root = new Data(0...

2019-12-24 16:43:37 74

linux学习资料

很好的linux学习资料,我用它差点走向人生巅峰,好夺目,好炫彩。

2018-11-24

空空如也

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

TA关注的人

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