一文了解Java中常见数据结构

 引言

当我们深入的学习Java的过程中,如果没有对数据结构做出深刻的了解的话,接下来的学习过程将会尤为的艰辛,但是当我们学习过了数据结构、清楚它的内核以后,在日后的学习过程中将会起到很大的帮助作用。因此今天给大家简单的讲解一下Java中常见的数据结构。

概述

数据结构是计算机底层存储、组织数据的方式。是指数据相互之间是以什么方式排列在一起的 通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率
常见数据结构: 栈 队列 数组 链表 二叉树 二叉查找树 平衡二叉树 红黑树

栈和队列

栈的执行特点: 后进先出,先进后出 队列的执行特点: 先进先出,后进后出 数据从后端进入队列模型的过程称为:入队列; 数据从前端离开队列模型的过程称为:出队列;

数组

数组是一种查询快、增删慢的模型 查询速度快∶查询数据通过地址值和索引定位,查询任意数据耗时相同。(元素在内存中是连续存储的) 删除效率低:要将原始数据删除,同时后面每个数据前移 添加效率极低:添加位置后的每个数据后移,再添加元素

链表 

链表(单向链表和双向链表)的特点: 链表中的元素是在内存中不连续存储的,每个元素节点包含数据值和下一个元素的地址 链表查询慢:无论查询哪个数据都要从头开始找 链表增删相对快 //双链表 public class LinkedList<E> { transient Node<E> first; transient Node<E> last; private static class Node<E> { E item; Node<E> n; Node<E> p; Node(Node<E> p, E element, Node<E> n) { this.item = element; this.n = n; this.p = p; } } }

二叉树、二叉查找树 

二叉树特点

只能有一个根节点,每个节点最多支持2个直接子节点 节点的度:节点拥有的子树的个数,二叉树的度不大于2叶子节点度为o的节点,也称之为终端结点 高度:叶子结点的高度为1,叶子结点的父节点高度为2,以此类推,根节点的高度最高。 层:根节点在第一层,以此类推 兄弟节点︰拥有共同父节点的节点互称为兄弟节点
二叉查找树又称二叉排序树或者二叉搜索树 特点: 1,每一个节点上最多有两个子节点 2,左子树上所有节点的值都小于根节点的值 3,右子树上所有节点的值都大于根节点的值 目的:提高检索数据的性能
经验分享 程序员 微信小程序 职场和发展