数据结构
godchicken
这个作者很懒,什么都没留下…
展开
-
哈夫曼数(JAVA)
参考https://baijiahao.baidu.com/s?id=1663514710675419737&wfr=spider&for=pc package HuffmanTree; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; public class C原创 2020-10-28 14:17:49 · 152 阅读 · 0 评论 -
堆排序(JAVA)
参考:https://www.cnblogs.com/0zcl/p/6737944.html package tree; import java.lang.reflect.Array; import java.util.Arrays; public class HeapSort { public static void main(String[] args) { int arr[] = new int[] {1,3,54,6,7,8,2,3,5,7,89,8,5,4,3,55,-原创 2020-10-28 11:45:02 · 78 阅读 · 0 评论 -
归并排序
参考https://blog.csdn.net/doubleguy/article/details/81390951 package sort; import java.util.Arrays; public class MergeSort { public static void main(String[] args) { int arr[] = {3,-9,-1,-10,-2,9,66,99,666}; int[] temp = new int[arr.len原创 2020-07-29 21:04:35 · 104 阅读 · 0 评论 -
快速排序(JAVA)
参考https://blog.csdn.net/qq_28584889/article/details/88136498 package sort; import java.util.Arrays; public class QuickSort { public static void main(String[] args) { int arr[] = {3,-9,-1,-10,-2,9,66,99,666}; quickSort(arr,0,arr.length原创 2020-07-29 16:54:03 · 85 阅读 · 0 评论 -
希尔排序(JAVA)
思路参考: https://blog.csdn.net/qq_39207948/article/details/80006224 package sort; import java.util.Arrays; public class ShellSort { public static void main(String[] args) { int arr[] = {3,-9,-1,-10,-2,9,66,99,666}; shellSort(arr);原创 2020-07-29 15:51:59 · 96 阅读 · 0 评论 -
插入排序(JAVA)
类比打扑克洗牌 插入排序(Insertion Sorting)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。 package sort; import java.util.Arrays; public class InsertSort { public static void main(原创 2020-07-28 23:40:48 · 82 阅读 · 0 评论 -
选择排序(JAVA)
选择排序(select sorting)也是一种简单的排序方法。它的基本思想是:第一次从arr[0]arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2]arr[n-1]中选取最小值,与arr[2]交换,…,第i次从arr[i-1]arr[n-1]中选取最小值,与arr[i-1]交换,…, 第n-1次从arr[n-2]~arr[n-1]中选取最小值,与arr[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有原创 2020-07-28 23:06:14 · 84 阅读 · 0 评论 -
冒泡排序(java)
基本版 package sort; import java.util.Arrays; public class BubbleSort { public static void main(String[] args) { int arr[] = {3,-9,-1,-10,-2,9,66,-8}; BubbleSort bubbleSort = new BubbleSort(); bubbleSort.bubbleSort(arr); .原创 2020-07-28 21:48:09 · 98 阅读 · 0 评论 -
中缀表达式转换为后缀表达式(java)
依旧用了两个栈的方式来实现,实现步骤如下 (1)先判断是不是(),若是(则直接进栈,如果是)则弹出辅助栈的元素直到遇到( (2)判断辅助栈是不是为空,若是空直接进栈,若不是空则先判断优先级,若优先级等于或者小于栈顶的优先级,则把栈顶的符号进到主栈,再打当前符号进入到辅助栈,若当前优先级大于栈顶元素,则直接进栈 (3)那就是数字,直接进主栈 (4)把辅助栈的全部转移到主栈 (5)利用辅助栈进行翻转 代码如下: package stack; import java.util.Optional; /** *原创 2020-07-26 00:14:12 · 135 阅读 · 1 评论 -
用栈实现简易计算器(JAVA)
用栈实现简易计算器 package stack; import java.util.Optional; public class Calculator { public static void main(String[] args) { String expression = "300+2*6-1"; // 创建两个栈,数栈和符号栈 CalStack numStack = new CalStack(10); CalStack op原创 2020-07-24 17:47:44 · 811 阅读 · 4 评论 -
JAVA版本的栈
栈是一个特殊的线性表,最明显的特征是后进先出。可用于翻转数据、实现递归等等功能 1.用数组实现栈 (1)定义一个top来表示栈顶,初始化为-1 (2)入栈操作,top++;stack[top] = data; (3)出栈操作,value = stack[top] ,top– package stack; import java.util.Scanner; public class ArraryStackDemo { public static void main(String[] args)原创 2020-07-24 17:47:16 · 92 阅读 · 0 评论 -
JAVA版本的链表
链表 链表的特点: 与普通的数组不同,它在内存上的分布并不是连续的,而是分散的,可以利用更多内存的零散空间 (1)链表是以节点来储存,也可以想象成一个节点对象 (2)每个节点有data域用于储存数据,next域用于指向下一个节点,若是双向链表,还会有head域,指向上一个节点 单向链表 首先设计一个节点 为了更好的服用,先设计一个节点父类 @Data public class ListNode { ListNode next; public ListNode() { th原创 2020-07-23 16:05:22 · 115 阅读 · 0 评论 -
JAVA版本的队列
队列 1、数组模拟队列 (1)队列本身是序列表,若使用数组来储存队列的数据,需要声明MaxSize,即该队列最大容量 (2)队列的输入输出从前后端来处理,用front和reae分别来记录队列的前后端,当插入数据时,front不变,rear变;当输出数据时,rear不变,font变 (3)当指针font = rear时表示队列为空,当rear = maxSize-1时,表示满了 代码如下: package queue; import java.util.Queue; import java.util.Sc原创 2020-07-22 23:25:05 · 139 阅读 · 0 评论 -
JAVA版本的稀疏数组
稀疏数组的核心思想是把无意义的数据去掉,只保留有用的数据,实现压缩的效果 举例 用一行来表示行和列和有多少有效数据,其他用来表示该有效数据的位置 二维数组转为稀疏数组的思路 1.遍历原始的二维数组,得到有效数据的个数SUM 2.根据SUM就可以创建稀疏数组sparseArr int[sum+1][3] 3.将二维数组的有效数据存入稀疏数组 -------------------------------------------------------------- 稀疏数组转为原始二维数组的思路 1.先读原创 2020-07-22 17:59:35 · 127 阅读 · 0 评论