![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
猫球球
一年测试,一年前端,一年java。
最后决定在java的路上蹒跚前行。
展开
-
【数据结构】数据结构探索(二) —— 二叉树(Binary Tree)
我们对树这一种结构有了入门的了解以后,我们就要开始研究最重要的树结构即二叉搜素树。二叉树(Binary Tree)的定义二叉树是(n≥0 )数据元素的有限集。它或为空集(n=0),或者含有唯一的一个元素称为根结点,其余的元素被分为两个互不相交的有限集合。每个集合本身又是一棵二叉树,称为根结点的左子树和右子树。二叉树(binary tree)是树形结构的另一个重要类型。二叉树的每个结...原创 2018-11-09 14:12:08 · 252 阅读 · 0 评论 -
【数据结构】数据结构探索(三) —— 二叉搜索树(Binary Search Tree)
部分内容引自大佬博客《深入理解二叉搜索树(BST)》https://blog.csdn.net/u013405574/article/details/51058133二叉搜索树是一种有顺序的二叉树,它具有以下特征:1.每个元素有一个关键字,并且任意两个元素的关键字都不同;因此所有的关键字都是唯一的。 2.在根节点的左子树中,元素的关键字(如果有的话)都小于根节点的关键字。 3.在根节点...原创 2018-11-09 15:18:58 · 250 阅读 · 0 评论 -
【数据结构】数据结构探索(四)—— AVL树(平衡二叉树)
AVL树又称平衡二叉搜索树,它能保证二叉树高度相对平衡,尽量降低二叉树的高度,提高搜索效率。它具有以下特点:1. 左子树和右子树的高度之差的绝对值不超过1 2. 树中的每个左子树和右子树都是AVL树3. 每个节点都有一个平衡因子(balance factor--bf),任一节点的平衡因子是-1,0,1。(每个节点的平衡因子等于右子树的高度减去左子 4. 树的高度 ) .AVL树出了...原创 2018-11-09 18:52:27 · 321 阅读 · 0 评论 -
【转载】清晰理解红黑树的演变---红黑的含义
原文地址:https://www.cnblogs.com/tiancai/p/9072813.html前言 红黑树,对不少人来说是个比较头疼的名字,在网上搜资料也很少有讲清楚其演变来源的,多数一上来就给你来五条定义,红啊黑啊与根节点距离相等之类的,然后就开始进行旋转、插入、删除这些操作。一通操作下来,连红色和黑色怎么来的,是什么含义,有什么作用都云里雾里的,能搞清楚就怪了。 ...转载 2018-11-09 23:29:37 · 140 阅读 · 0 评论 -
【数据结构】数据结构探索(四)—— 红黑树(R-B Tree)
本文部分代码和图来自大佬博客https://blog.csdn.net/v_JULY_v/article/details/6105630,向大佬致敬; 红黑树,一种二叉查找树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。红黑树有五个性质: 性质1. 节点是红色或黑色。 性质2. 根节点是黑色。 性质3 每个叶节点(NIL节点,空节点)是...原创 2018-11-12 23:09:32 · 214 阅读 · 0 评论 -
【数据结构】数据结构探索(一) —— 树的综述
最近研究了mysql的索引结果,mysql的索引结果是使用了b+ tree的数据结构,了解了结构以后,对索引的功能和使用的一些规则就有了更加深入的了解,原来只是死记硬背规则和策略,现在感觉能知道背后到底是因为什么。之后因为看到了Set对象的元素存入方式,TreeSet使用的是红黑树存储,来保证元素不会重复,我大概能理解他的实现原理,但我回头一想居然发现我对红黑树的定义已经完全想不起来了。所以准...原创 2018-11-08 23:51:15 · 339 阅读 · 0 评论 -
【JAVA】HashMap源码探索
hashmap的源码在java的面试中一直是一个很关键的部分,在搜索面试题的时候我们经常会看到类似这样的题目:hashmap的底层数据结构是什么? 描述一下hashmap put方法的过程?很多时候我们好像都只顾着使用它,而不清楚底层实现,还有的时候我们知道一鳞半爪,但是表示不出来具体的内容。今天我准备从源码理一遍,HashMap的实现细节。 一. 什么是Map? 根...原创 2018-11-30 23:57:18 · 646 阅读 · 2 评论