
Java数据结构
学习Java数据结构过程中的比价
静静等花开
这个作者很懒,什么都没留下…
展开
-
JAVA数据结构基础--二叉树
JAVA数据结构基础–二叉树定义:是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。二叉树的递归定义为:二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树二叉树特类型:1:满二叉树:只有度为0的结点和度为2的结点,并且度为0的结点在同一层上的二叉树。2:完全二叉树:深度为k,有n个结点的二叉树当且仅当其每一个结点都与深度为k,有n个结点的满二叉树中编号从1到n的结点一一对应时二叉树完原创 2020-09-02 15:50:29 · 252 阅读 · 0 评论 -
Java数据结构基础--顺序表的实现
java顺序表1.定义:把线性表中的所有表项按照其逻辑顺序依次存储到从计算机存储中指定存储位置开始的一块连续的存储空间中。2.实现:(1)基于java的一维数组来实现。只要定义了一个数组,就定义了一块可供用户使用的存储空间。数组的数据类型就是顺序表中的每个表项的数据类型。(2)数组的大小要大于等于顺序表的长度。(3)顺序表的第一个表项被存储在数组的起始位置,即下标为0的位置。第二个表项被存储在下标为1的位置上…第n个元素被存储在下表为n的位置上3. 完整代码:package s原创 2020-07-09 16:55:41 · 477 阅读 · 0 评论 -
JAVA数据结构基础--排序
冒泡算法 public static void bubbleSort(int arr[]){ int n = arr.length; for(int i = 0;i<n;i++) { for(int j=n-1;j>i;j--) { if(arr[j-1]>arr[j]) { int temp = arr[j]; arr[j] = arr[j-1]; arr[j-1] = temp; } } } }思想核心:原创 2020-09-15 22:53:40 · 145 阅读 · 0 评论 -
JAVA数据结构--最短路径问题
JAVA数据结构–最短路径问题邻接矩阵图Dijkstra算法:松弛概念最短路径思想:多次松弛操作 public void Dijkstra(String name) { int v = findByName(name); dist = new int[numOfVertex];//存储最短距离数组 pre = new int[numOfVertex];//前驱顶点数组 for (int i = 0; i < numOfVertex; i++) { //初始化原创 2020-09-09 22:42:00 · 997 阅读 · 0 评论 -
JAVA数据结构--图的遍历
JAVA数据结构–图的遍历深度优先遍历从这图上看,可以看出DSF是一个递归的方法。邻接矩阵图DFS完整代码: public int getFirstNeibor(String name) {//获取第一个邻接顶点,参数为顶点名字 int index = findByName(name);//获取顶点名称对应的下标 for (int i = 0; i < numOfVertex; i++) {//在邻接矩阵顶点对应的列寻找第一条可通的边 if (Edge[index][i]原创 2020-09-08 19:04:47 · 304 阅读 · 0 评论 -
JAVA数据结构基础--图的两种创建方式
JAVA数据结构基础–图的两种创建方式图的邻接矩阵表示如图示一个有向图转为矩阵表示的例子(矩阵中空格表示无穷大,即无路径到达)。矩阵的行表示起始点,列表示终止点。对角线元素表示自己到自己,全为0。图左侧的权值(道路长度)为1的路径,由1出发,指向0。在矩阵中表示为Edge[1][0]=1;表示1到0路径长度为1以下我分析的是无向图的矩阵表示代码,若改成有向图,改动插入边的函数即可。完整代码import java.util.LinkedList;import java.util.Que原创 2020-09-07 09:31:46 · 994 阅读 · 2 评论 -
Java数据结构基础--循环队列与链队列
Java数据结构基础–循环队列与链队列队列定义:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。循环队列(基于数组)完整代码:public class Queue { private int rear,front;//队首,队尾指针 private Object element[];//存储数组 private int原创 2020-08-06 16:25:50 · 470 阅读 · 0 评论 -
Java数据结构基础--顺序栈与链式栈
Java数据结构基础–顺序栈与链式栈栈的定义:是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。栈的操作:向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈的特点:先进后出,即先入栈的最后操作,后入栈的最先操作。顺序栈(基于数组):完整代码:public class Stack {原创 2020-08-03 17:01:49 · 538 阅读 · 0 评论 -
Java数据结构基础--单链表
Java数据结构基础–单链表单链表定义:(1)单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。(1)链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),(3)元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。实现:public class Node { Object data;//元素 private Node next;//指针 }定义结点类 NodeObject dat原创 2020-07-19 15:29:06 · 274 阅读 · 0 评论