
数据结构
相关数据结构的 Java 代码实现
最向往的地方
写 bug 小能手
展开
-
二分查找算法与分块查找算法
二分查找算法与分块查找算法原创 2021-04-22 15:06:59 · 330 阅读 · 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 · 129 阅读 · 0 评论 -
2路插入排序
对折半插入排序的一种改进,其目的是减少排序过程中的移动次数。原创 2021-04-24 13:20:50 · 119 阅读 · 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 · 167 阅读 · 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 · 135 阅读 · 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 · 295 阅读 · 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 · 276 阅读 · 0 评论 -
二叉排序树的添加与删除
二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。是数据结构中的一类。在一般情况下,查询效率比链表结构要高。原创 2021-04-22 22:39:53 · 266 阅读 · 0 评论 -
哈希查找
哈希查找原创 2021-04-23 00:42:32 · 130 阅读 · 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 · 96 阅读 · 0 评论 -
图 - 邻接表的实现(含 DFS,BFS算法)
图邻接表的实现BFS / DFSimport 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 · 303 阅读 · 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 · 150 阅读 · 0 评论 -
BF / KMP
排序BFimport 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 · 98 阅读 · 0 评论 -
直接插入排序
边插入边排序,保证子序列中随时都是排好序的原创 2021-04-24 12:37:30 · 86 阅读 · 0 评论 -
表插入排序
在顺序存储结构中,给每个记录增开一个指针分量,在排序过程中将指针内容逐个修改为已经整理(排序)过的后继记录地址。原创 2021-04-24 14:38:39 · 241 阅读 · 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 · 172 阅读 · 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 · 123 阅读 · 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 · 403 阅读 · 0 评论