java数据结构与算法
evior
因为爱 所以爱
展开
-
java数据结构与算法--数组
1.数组基础package com.evior.demo1;/** * 数组 * * 1 数组的创建 * 2 访问数组的数据项 * */public class Array { public static void main(String[] args) { //1 数组的创建 int[] arr=new int[5]; ...原创 2018-05-01 08:40:20 · 108 阅读 · 0 评论 -
java数据结构与算法----平衡二叉树(AVL树)的设计与实现
转载至:https://blog.csdn.net/javazejian/article/details/53892797上一篇博文中,我们详细地分析了树的基本概念以及二叉查找树的实现过程,基于二叉查找树的特性,即对于树种的每个结点T(T可能是父结点),它的左子树中所有项的值小T中的值,而它的右子树中所有项的值都大于T中的值。这意味着该树所有的元素可以用某种规则进行排序(取决于Comparab...转载 2018-09-01 18:40:39 · 165 阅读 · 0 评论 -
Java数据结构---树与二叉树
转载至: https://blog.csdn.net/javazejian/article/details/53727333树博文总算赶上这周发布了,上篇我们聊完了递归,到现在相隔算挺久了,因为树的内容确实不少,博主写起来也比较费时费脑,一篇也无法涵盖树所有内容,所以后续还会用2篇左右的博文来分析其他内容大家就持续关注吧,而本篇主要了解的知识点如下(还是蛮多的!): 树的基本概...转载 2018-09-01 17:27:34 · 461 阅读 · 0 评论 -
Java算法与数据结构--希尔排序
1.希尔排序的产生希尔排序是基于插入排序的,插入排序步长为1的,而插入排序的步长是计算出来的。(学习希尔排序之前需要了解插入排序)。2.插入排序的缺陷步长为1的插入排序,必须得移动多次,举个栗子,假如一个很小的数据在考右侧的位置上,那么要讲该数据排序到正确的位置上,则所有中间数据都需要向右移动一次。3.希尔排序的优点希尔排序通过加大插入排序中元素之间的间隔(步长),并对这些间隔...原创 2018-08-31 19:39:43 · 193 阅读 · 0 评论 -
java数据结构与算法--归并排序
下面先看一个归并排序过程的示例: 待排序列(14,12,15,13,11,16): 首先用分割的方法,将这个序列分割成一个个已经排好序的子序列,然后再利用归并的办法将一个个子序列合并成排好序的序列,如下图: 上面很明显就是采用先 “分割” 再 “合并” 的思想。我们首先把一个未排序的序列从中间分割成2部分,再把2部分分成4部分,依次分割下去,直到分割成一个一个的数据,再把这些数据两两归并到...原创 2018-05-02 22:17:50 · 157 阅读 · 0 评论 -
java数据结构与算法--快速排序
该方法的基本思想是:1.先从数列中取出一个数作为基准数。2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。 虽然快速排序称为分治法,但分治法这三个字显然无法很好的概括快速排序的全部步骤。因此我的对快速排序作了进一步的说明:挖坑填数+分治法:先来看实例吧,定义下面再给出(最好能用自己的话来总结...原创 2018-05-02 21:08:30 · 120 阅读 · 0 评论 -
java数据结构与算法--双端链表链表与双向链表
1、双端链表package com.evior.linklist;public class Node { //数据域 public long data; //指针域 public Node next; public Node(long value) { this.data=value; next=null; }...原创 2018-05-01 16:56:46 · 779 阅读 · 0 评论 -
java数据结构与算法--链表
1.链表Node节点类package com.evior.linklist;public class Node { //数据域 public long data; //指针域 public Node next; public Node(long value) { this.data=value; next=null;...原创 2018-05-01 16:51:48 · 158 阅读 · 0 评论 -
java数据结构与算法--栈与队列
1、模拟栈package com.evior.stack;/** * 模拟栈 */public class Stack { //栈顶指针 private int top=-1; //数组 private int[] arr; public Stack() { arr=new int[50]; } public...原创 2018-05-01 08:52:58 · 140 阅读 · 0 评论 -
java数据结构与算法--三种排序算法
1.代码package com.evior.demo3;/** * 数组的排序 */public class Sort { /** * 冒泡排序 */ public void sortT1(int [] arr){ for (int i=0;i<arr.length-1;i++){ for (int j...原创 2018-05-01 08:47:58 · 162 阅读 · 0 评论 -
java数据结构-----图(邻接矩阵和邻接表)
https://blog.csdn.net/xxniuren/article/details/52218211JAVA数据结构之图1、图的介绍和原理1.1、图的基本概念图是由顶点集(VertexSet)和边集(EdgeSet)组成,针对图G,顶点集和边集分别记为V(G)和E(G)。依据图的边集是否为有向,可把图分为有向图和无向图,根据图是否有权重,可以分为有权图和无权图。...转载 2018-09-01 19:03:23 · 4098 阅读 · 0 评论