![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java数据结构与算法笔记
wlrobot
这个作者很懒,什么都没留下…
展开
-
Java数据结构与算法(堆排序)
//堆排序 public void heapSort(int arr[]) { //1)将无序序列构建成一个堆,根据升序降序需求选择大顶堆或小顶堆; for (int i = arr.length / 2 - 1; i >= 0; i--) { adjustHeap(arr, i, arr.length); } //2)将堆顶元素与末尾元素交换,将最大元素"沉"到数组末端; //3)重新调整结构.原创 2021-11-14 16:02:11 · 711 阅读 · 0 评论 -
Java数据结构与算法(线索二叉树)
class BinaryTree { private HeroNode2 root; //为了实现线索化,需要创建要给指向当前节点的前驱节点的指针 private HeroNode2 pre; public void setRoot(HeroNode2 root) { this.root = root; } //编写对二叉树进行中序线索化的方法 public void threadedNodes(HeroNode2 node) { if(node==null) { retur原创 2021-11-06 23:34:09 · 85 阅读 · 0 评论 -
Java数据结构与算法(二叉树)
public class BinaryDemo { public static void main(String[] args) { // TODO Auto-generated method stub HeroNode2 hero1 = new HeroNode2(3, "张三"); HeroNode2 hero2 = new HeroNode2(5, "李四"); HeroNode2 hero3 = new HeroNode2(2, "王二"); HeroNode2 hero4 = new H原创 2021-10-31 16:33:59 · 53 阅读 · 0 评论 -
Java数据结构与算法(哈希表)
public class HashTabDemo { public static void main(String[] args) { HashTab h1 = new HashTab(5); Emp emp1 = new Emp(0, "张三"); Emp emp2 = new Emp(1, "李四"); Emp emp3 = new Emp(2, "王二"); Emp emp4 = new Emp(3, "小明"); Emp emp5 = new Emp(4, "小红");原创 2021-10-26 20:03:25 · 63 阅读 · 0 评论 -
Java数据结构与算法(查找)
public class SearchTest { public static void main(String[] args) { Search s = new Search(); // int arr[]= {0,2,3,4,12,23,23,23,23,23,23,23,23,23,23,23,23}; // Set resIndexSet=s.binarySearch2(arr, 23, 0, arr.length-1); // System.out.println(resIndexSet);原创 2021-10-24 14:27:19 · 1576 阅读 · 0 评论 -
Java数据结构与算法笔记——排序算法(全)
import java.util.Arrays; public class ShellSort { public static void main(String[] args) { int[] arr = { 8, 9, 1, 7, 3, 4, 5, 2, 6, 0 }; shellSort(arr); } public static void shellSort(int[] arr) { int count=0,temp=0; for (int gap = arr.length原创 2021-10-03 19:51:33 · 74 阅读 · 0 评论 -
Java数据结构与算法笔记——递归(八皇后问题)
public class Queue8 { int max = 8; int num=0; int[] array = new int[max]; public static void main(String[] args) { Queue8 q=new Queue8(); q.check(0); } //编写一个方法,放置第n个皇后 private void check(int n) { if(n==max) { print(); return; } //依原创 2021-10-02 21:32:38 · 57 阅读 · 0 评论 -
Java数据结构与算法笔记——递归(回溯过迷宫)
public class MiGong { public static void main(String[] args) { // 先创建一个二维数组,模拟迷宫 // 地图 int[][] map = new int[8][7]; // 1表示墙, // 上下全为墙 for (int i = 0; i < 7; i++) { map[0][i] = 1; map[7][i] = 1; } // 左右全为1 for (int i = 1; i <原创 2021-09-28 21:35:58 · 60 阅读 · 0 评论 -
Java数据结构与算法笔记——栈(逆波兰计算器)
import java.util.ArrayList; import java.util.List; import java.util.Stack; public class PolandNotation { public static void main(String[] args) { String suffixExpression = "3 4 + 5 * 6 -"; List<String> list = getListString(suffixExpression);原创 2021-09-26 19:51:20 · 64 阅读 · 0 评论 -
Java数据结构与算法笔记——栈
栈 class ArrayStack { private int maxSize; private int[] stack; private int top = -1; public void setMaxSize(int maxSize) { this.maxSize = maxSize; stack = new int[this.maxSize]; } public boolean isFull() { return top == maxSize - 1; } publ原创 2021-09-22 19:11:42 · 50 阅读 · 0 评论 -
Java数据结构与算法笔记——链表
链表 public class SingleLinkedListDemo { public static void main(String[] args) { // TODO Auto-generated method stub HeroNode hero1=new HeroNode(1,"宋江","及时雨"); HeroNode hero2=new HeroNode(2,"卢俊义","玉麒麟"); HeroNode hero3=new HeroNode(3,"吴用","智多星")原创 2021-09-19 17:27:59 · 56 阅读 · 0 评论 -
java数据结构与算法笔记——队列
队列 //使用数组模拟队列-编写一个ArrayQueue类 class ArrayQueue { private int maxSize; private int front; private int rear; private int[] arr; // 创建队列的构造器 public ArrayQueue(int arrMaxSize) { maxSize = arrMaxSize; arr = new int[maxSize]; front = -1; rear =原创 2021-09-18 16:54:59 · 59 阅读 · 0 评论 -
Java数据结构与算法笔记——稀疏数组
线性结构与非线性结构 稀疏数组 代码 public class SparseArray { public static void main(String[] args) { // 创建一个二维数组 // 0:表示没有棋子,1:表示黑棋 2:表示白棋 int chessArr1[][] = new int[11][11]; chessArr1[1][2] = 1; chessArr1[2][3] = 2; // 输出原始的二维数组 System.out.println(原创 2021-09-17 10:44:36 · 107 阅读 · 0 评论