JAVA 数据结构与算法
robin_xc
这个作者很懒,什么都没留下…
展开
-
JAVA数据结构与算法之————二叉树
JAVA数据结构和算法之————二叉树树节点结构:TreeNodepackage tree;public class TreeNode<E> implements Cloneable { private E data = null; private TreeNode<E> lChild = null; private TreeNode<...原创 2019-04-21 10:17:29 · 719 阅读 · 1 评论 -
JAVA数据结构与算法之————最小生成树
Kruskal算法和Prim算法KruskalKruskal算法是用来计算加权连通图的最小生成树的算法。基本思想:按照权值从小到大的顺序选择n-1条边,并保证这n-1条边不构成回路。边结构:public static class Edge{ int begin; int end; int weight; public Edg...原创 2019-04-29 15:51:10 · 420 阅读 · 1 评论 -
JAVA 数据结构与算法之————栈
JAVA 实现栈和队列栈和队列的特性在本篇博客中不进行介绍,附上代码。1, 以线性表作为栈的实现过程。package stack_queue;import java.util.ArrayList;import java.util.List;public class LineStack<E> { private List<E> data = new A...原创 2019-04-20 13:20:44 · 435 阅读 · 0 评论 -
JAVA数据结构与算法之————堆排序
JAVA数据结构与算法之————堆排序直接上代码:public class Heap { public void heapSort(int[] heap){ /*从最后一个叶子节点的父节点往前调整堆,直到根节点*/ for(int i = (heap.length - 1) / 2; i > 0; i--){ heapAdj...原创 2019-05-04 15:25:52 · 447 阅读 · 0 评论 -
JAVA数据结构与算法之————归并排序
JAVA数据结构与算法之————归并排序归并排序具体原理网上已经有很多大佬分享了,请自行学习,这里主要分享代码。1.空间复杂度为O(nlogn)的方法/* * 空间复杂的为O(nlogn) * */ private void merge1(E[] L, int low, int mid, int hight, String ascOrDesc) { /...原创 2019-05-04 15:08:24 · 347 阅读 · 0 评论 -
JAVA数据结构与算法之————希尔排序
JAVA数据结构与算法之————希尔排序个人理解:希尔排序其实是增量不为1的冒泡排序。代码:import java.util.Arrays;/** 希尔排序算法的时间复杂度为O(n^1.5), 空间复杂度为O(1)* */public class ShellSort<E extends Comparable> { private Swap<E> s ...原创 2019-05-04 14:25:51 · 466 阅读 · 1 评论 -
JAVA 数据结构与算法之————快速排序
JAVA 数据结构与算法之————快速排序快速排序:/** 快速排序的时间复杂度为O(nlogn), 空间复杂度为O(logn)* */public class QuickSort<E extends Comparable> { Swap<E> s = new Swap<>(); /*一轮排序*/ public int sor...原创 2019-05-04 13:09:39 · 498 阅读 · 0 评论 -
JAVA 数据结构与算法之————选择排序,冒泡排序,插入排序
JAVA 数据结构与算法之————选择排序,冒泡排序1.选择排序:/** 选择排序的时间复杂度为O(n2),空间复杂度为O(1)* * */public class SelectSort<E extends Comparable> { private Swap<E> s = new Swap<>();/*ascOrDest=“asc" 升...原创 2019-05-04 12:49:41 · 425 阅读 · 0 评论 -
JAVA数据结构与算法之————图(邻接表)
JAVA数据结构与算法之————图(邻接表)图节点结构:public class VertexNode { /*节点数据*/ public String data; /*指向第一边节点的指针*/ public EdgeNode firstedge; /*标记节点是否被访问*/ public boolean isVisited; ...原创 2019-04-28 17:57:50 · 652 阅读 · 0 评论 -
JAVA数据结构与算法之————平衡二叉树
JAVA数据结构与算法之————平衡二叉树平衡二叉树 又称AVL树,平衡二叉树具有的特性是:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。本文将从以下几个方面进行介绍:TreeNode结构介绍。向平衡二叉树中插入元素,然后调整二叉树使其仍然为平衡二叉树。创建平衡二叉树。删除平衡二叉树中的节点。介绍TreeNode结构:由于我在博客...原创 2019-04-23 17:03:52 · 476 阅读 · 0 评论 -
JAVA数据结构与算法之————排序二叉树
JAVA数据结构与算法之————二叉树文中设计到的TreeNode结构请看我前面的文章:https://mp.csdn.net/mdeditor/89429077#搜索排序二叉树,判断二叉树中是否存在元素e// 搜索排序二叉树, 查找元素e是否在二叉树中 public boolean search(TreeNode<E> T, E e) { if ...原创 2019-04-21 19:52:06 · 516 阅读 · 0 评论 -
JAVA数据结构与算法之————图(邻接矩阵)
JAVA数据结构与算法之————图(邻接矩阵)本文将介绍图的存储结构:邻接矩阵的构造,图的深度优先遍历,图的广度优先遍历图的结构:public class MGraph { /* * 存储图中节点的数组 * */ private String[] vexs; /* * 邻接矩阵 * */ private int[][] arc;...原创 2019-04-25 16:05:27 · 697 阅读 · 0 评论