![](https://i-blog.csdnimg.cn/columns/default/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
十一月上
ののののののののの
展开
-
数据结构之队列及Java实现
一、队列的基本介绍队列也是一种特殊的线性表,特点是先进先出,只能在表的一端进行插入,在另一端进行删除。向队列中插入元素的过程称为入队(Enqueue),删除元素的过程称为出队(Dequeue),并把允许入队的一端称为队尾,允许出的的一端称为队头,没有任何元素的队列则称为空队。其一般结构如下所示: 二、队列的Java实现与栈的实现相似,队列也有两种实现方式,分别基于数组和基于链表。...原创 2018-04-17 20:31:00 · 286 阅读 · 0 评论 -
数据结构之二叉树及Java实现
一、二叉树的基本介绍链表、栈以及队列都是线性的数据结构,元素存储起来较为简单,元素只存在一个对一个的关系,而树则是一种更为复杂的数据结构,这种结构元素存在一个对多个的关系,一个父节点可以包括多个子节点。二叉树是一种特殊的树,每个节点最多只有两个子树,而且子树区分是左节点和右节点,次序不能颠倒。 树和二叉树的区别如下所示:树中节点的最大度数没有限制,而二叉树节点的最大度数为2,也就是说最...原创 2018-04-18 15:34:34 · 3546 阅读 · 0 评论 -
数据结构之链表及Java实现
一、链表的基本介绍链表是最基本的数据结构,Java中LinkedList的实现原理就是链表。链表是由多个节点组成的,每个节点只存储数据和下一个节点的位置,这样就可以一级一级地将多个节点串在一起,最后一个节点指向为空,因此链表不需要连续的内存空间,存储是分散的,通过每个节点的地址将各个节点连起来。链表向外暴露的只有一个头节点,通过头节点就可以对整个链表进行操作,链表在进行循环遍历时效率不高,但是...原创 2018-04-12 14:27:29 · 288 阅读 · 1 评论 -
数据结构之二叉查找树及Java实现
一、二叉查找树的介绍二叉查找树(Binary Search Tree),又被称为二叉搜索树或二叉排序树,是一种特殊的二叉树,利用它可以很方便的对树中节点进行排序和检索。 二叉查找树需要满足以下的性质:若它的左子树不为空,则左子树上的所有节点的值都小于根节点的值若它的右子树不为空,则右子树上的所有节点的值都大于根节点的值它的左、右子树也都是二叉查找树对于二叉查找树,按照中序遍历...原创 2018-04-18 17:12:41 · 393 阅读 · 0 评论 -
数据结构之栈及Java实现
一、栈的基本介绍栈是一种只允许在一端进行插入或删除的线性表,也就是说先进后出。栈的操作端通常被称为栈顶,另一端被称为栈底,栈的插入操作称为压栈(push),栈删除操作称为出栈(pop)。压栈是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;出栈则是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。 二、栈的Java实现栈的实现方式主要分为两种,一种是基于数组实现的,另一种则是...原创 2018-04-12 23:00:29 · 2107 阅读 · 2 评论 -
数据结构之平衡二叉树及Java实现
一、平衡二叉树的基本介绍平衡二叉树是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。构造与调整方法平衡二叉树的常用算法有红黑树、AVL、Treap等。最小二叉平衡树的节点的公式如下 F(n)=F(n-1)+F(n-2)+1 这个类似于一个递归的数列,可以参考Fibonacci数列,1是根节点,F(n-1)是左子树的节点数量,F(n-2)是右子树的节点数量...原创 2018-04-19 14:49:33 · 535 阅读 · 1 评论 -
数据结构之红黑树及Java实现
一、红黑树的基本介绍红黑树也是一种特殊的二叉查找树,与平衡树相似,它也是为了解决普通二叉查找树的检索效率问题而设计的,红黑树的每个节点上都有存储位表示节点的颜色,可以是红(Red)或黑(Black)。红黑树并不是真正的平衡二叉树,但在实际应用中,红黑树的统计性能要高于平衡二叉树,但极端性能略差。红黑树在原有排序二叉树的基础上增加了几个特性: (1)每个节点或者是黑色,或者是红色。 (2...原创 2018-04-20 10:36:11 · 348 阅读 · 0 评论 -
数据结构之B-树、B+树
数据结构之B-树、B+树、B*树原创 2018-04-20 10:42:24 · 11079 阅读 · 0 评论