数据结构
相关数据结构的 Java 代码实现
最向往的地方
写 bug 小能手
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二分查找算法与分块查找算法
二分查找算法与分块查找算法原创 2021-04-22 15:06:59 · 354 阅读 · 0 评论 -
希尔排序
希尔排序 基本思想: 先将整个待排记录序列分割成若干子序列,分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。 public class shellSort { public static void main(String[] args) { int[] array = {26,28,45,30,35,99,45,35,93,52,}; System.out.println("排序前:"); for (i原创 2021-04-24 15:08:47 · 146 阅读 · 0 评论 -
2路插入排序
对折半插入排序的一种改进,其目的是减少排序过程中的移动次数。原创 2021-04-24 13:20:50 · 140 阅读 · 0 评论 -
顺序队列-链队列-循环队列(基本操作)
队列 顺序队列 import java.util.Scanner; public class ArrayQueue { private Scanner sc = new Scanner(System.in); private nodeOfQueue[] root; private int front; private int rear; private boolean b = true; /** * 主函数 * @param arg原创 2021-04-17 17:00:35 · 190 阅读 · 0 评论 -
快速排序
##快速排序 -从待排序列中任取一个元素 (例如取第一个) 作为中心,所有比它小的元素一律前放,所有比它大的元素一律后放,形成左右两个子表; 然后再对各子表重新选择中心元素并依此规则调整,直到每个子表的元素只剩一个。此时便为有序序列了 public class quickSort { public static void main(String[] args) { int[] array = {77,63,48,33,10,11,98,32,94,85,83,58,54,30,79原创 2021-04-24 16:06:22 · 164 阅读 · 0 评论 -
图 - 邻接矩阵(含 DFS,BFS 算法)
图 邻接矩阵 代码所添加图 import java.util.Arrays; public class Graph { /* 结点 */ private node[] nodes = new node[10]; private int nodeNum = 0; /* 弧 */ private int[][] num = new int[10][10]; private int max = 1314; /* 辅助数组,用于遍历图 */原创 2021-04-22 00:19:05 · 318 阅读 · 0 评论 -
矩阵转置(压缩/快速)
矩阵转置 public class threeGroup { /* 定义辅助数组 */ private final int[] num = new int[30]; /* 每列上非零元素的个数 */ private final int[] pos = new int[30]; /** * 主函数 * @param args ... */ public static void main(String[] args) {原创 2021-04-17 17:11:30 · 306 阅读 · 0 评论 -
二叉排序树的添加与删除
二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。是数据结构中的一类。在一般情况下,查询效率比链表结构要高。原创 2021-04-22 22:39:53 · 302 阅读 · 0 评论 -
哈希查找
哈希查找原创 2021-04-23 00:42:32 · 156 阅读 · 0 评论 -
折半插入排序
排序 - 折半插入排序 import java.util.Scanner; public class binaryInsertSort { private static Scanner sc = new Scanner(System.in); public static void main(String[] args) { array num = new array(); System.out.print("请输入数据个数:"); int x原创 2021-04-24 13:18:40 · 109 阅读 · 0 评论 -
图 - 邻接表的实现(含 DFS,BFS算法)
图 邻接表的实现 BFS / DFS import java.util.Scanner; public class LinkGraph { /* 图 */ private static graph graph = new graph(); private Scanner sc = new Scanner(System.in); public static void main(String[] args) { LinkGraph linkGraph原创 2021-04-22 00:22:36 · 332 阅读 · 0 评论 -
顺序栈和链栈的一些基础操作
顺序栈 import java.util.Scanner; public class commonStack { // 用于从键盘上获取数据 private Scanner sc = new Scanner(System.in); private stack[] stacks; private static int first,end; private boolean b = true; /** * 主函数 * @param args原创 2021-04-17 16:21:52 · 177 阅读 · 0 评论 -
BF / KMP
排序 BF import java.util.Scanner; public class bf { private Scanner sc = new Scanner(System.in); public static void main(String[] args) { new bf().control(); } private void control(){ System.out.print("请输入一串字符:");原创 2021-04-17 17:16:44 · 127 阅读 · 0 评论 -
直接插入排序
边插入边排序,保证子序列中随时都是排好序的原创 2021-04-24 12:37:30 · 111 阅读 · 0 评论 -
表插入排序
在顺序存储结构中,给每个记录增开一个指针分量,在排序过程中将指针内容逐个修改为已经整理(排序)过的后继记录地址。原创 2021-04-24 14:38:39 · 259 阅读 · 0 评论 -
顺序表-链表的基础操作
顺序表-链表 顺序表的简单操作 import java.util.Scanner; /* PS: 以下线性表基于线性结构实现 */ public class ArrayList { /* 获取键盘上传来的数据 */ private Scanner sc = new Scanner(System.in); /* 建立线性表 */ private list[] List; private int nodeNum = 0; /** * 主函原创 2021-04-17 15:52:20 · 193 阅读 · 0 评论 -
Java - 树的一些操作
Java - 树的一些操作: import java.util.ArrayList; import java.util.Scanner; public final class Traversing_BinaryTree { /* 记录二叉树结点的个数 */ private int num_Of_Tree_Node = 0; /* 根结点 */ private node_Of_BinaryTree root; /* 用于从键盘上获取用户输入 */ p原创 2021-04-16 23:55:55 · 147 阅读 · 0 评论 -
Huffman树的创建与编码的输出
Huffman树的创建与编码的输出 Huffman树与Huffman编码 import java.util.Scanner; public class Huffman_Tree { // you know Scanner sc = new Scanner(System.in); // 栈,用于输出Huffman编码 private Stack stack = new Stack(); /* 存放二叉树结点 */ private binaryTree_N原创 2021-04-17 12:07:43 · 425 阅读 · 0 评论
分享