![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DataStructures
? Wan
Timing
展开
-
哈希表
哈希表 在这里插入图片描述 package com.yhc.hashtab; import java.util.Scanner; public class HashTabDemo { public static void main(String[] args) { //创建哈希表 HashTab hashTab = new HashTab(7); //菜单 String key = ""; Scanner scan原创 2021-03-04 14:11:15 · 53 阅读 · 1 评论 -
几种排序算法
冒泡排序: 把最大的冒出来。 时间复杂度:O(n^2) package com.yhc.sort; import java.util.Arrays; public class BubbleSort { public static void main(String[] args) { int[] arr = {8, -9, 5, 0, 3}; int temp = 0; //优化 boolean flag = false;原创 2021-02-03 21:45:28 · 70 阅读 · 0 评论 -
递归、回溯
递归原则: 执行一个方法时,就创建一个新的受保护的独立空间(栈空间) 方法的局部变量是独立的,不会相互影响, 比如n 变量 如果方法中使用的是引用类型变量(比如数组),就会共享该引用类型的数据. 递归必须向退出递归的条件逼近,否则就是无限递归,出现StackOverflowError,死龟了:) 当一个方法执行完毕,或者遇到return,就会返回,遵守谁调用,就将结果返回给谁,同时当方法执行完毕或者返回时,该方法也就执行完毕。 迷宫问题: 走到最后面时,一直返回true。 package com.yh原创 2021-02-02 21:19:02 · 175 阅读 · 0 评论 -
波兰计算器
波兰计算器 中缀表达式转换为后缀: 初始化两个栈:运算符栈s1 和储存中间结果的栈s2; 从左至右扫描中缀表达式; 遇到操作数时,将其压s2; 遇到运算符时,比较其与s1 栈顶运算符的优先级: 1.如果s1 为空,或栈顶运算符为左括号“(”,则直接将此运算符入栈; 2.否则,若优先级比栈顶运算符的高,也将运算符压入s1; 3.否则,将s1 栈顶的运算符弹出并压入到s2 中,再次转到(4-1)与s1 中新的栈顶运算符相比较; 遇到括号时: (1) 如果是左括号“(”,则直接压入s1 (2) 如果是右括号“)原创 2021-02-01 17:04:34 · 242 阅读 · 0 评论 -
Josephu问题(单向环形链表)
Josephu问题; 设编号为1,2,… n 的n 个人围坐一圈,约定编号为k(1<=k<=n)的人从1 开始报数,数到m 的那个人出列,它的下一位又从1 开始报数,数到m 的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。 package com.yhc.linkedlist; public class Josephu { public static void main(String[] args) { CircleSingleLinkedLi原创 2021-01-29 15:19:59 · 69 阅读 · 0 评论 -
链表
单链表 package com.yhc.linkedlist; import java.util.HashSet; public class SingleLinkedList { public static void main(String[] args) { //先创建头节点head;表示单链表的头。 //每添加一个节点,直接加到链表的最后。 HeroNode hero1 = new HeroNode(1,"宋江","及时雨");原创 2021-01-26 17:05:04 · 55 阅读 · 0 评论 -
环形队列
2、环形队列 package com.yhc.queue; import java.util.Scanner; public class CircleArrayQueue { public static void main(String[] args) { //测试 CircleArray array = new CircleArray(4); char key =' '; //键盘输入 Scanner scanner = new原创 2021-01-25 14:31:49 · 167 阅读 · 2 评论 -
DataStructures
DataStructures 1、稀疏数组 package com.yhc.sparseArray; import java.io.*; public class sparseArray1 { public static void main(String[] args) throws IOException { //创建一个二维数组 int chess1[][] = new int[11][11]; //0:没有棋子 1:黑子 2:蓝子原创 2021-01-24 15:57:45 · 99 阅读 · 0 评论