![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
糊糊67
求知若饥,虚心若愚
展开
-
类加载器和双亲委派模型
一、ClassLoader类加载器分为四类:Bootstrap(启动类加载器):这个类加载器使用C++实现,是虚拟机自身的一部分;其他的类加载器都由Java语言实现,独立于JVM外部并且都继承于java.lang.ClassLoader.BootStrap类加载器负责将存放于<Java_HOME>\lib目录中(或者被-Xbootclasspath参数指定路径中)能被虚拟机识别的...原创 2020-03-29 15:11:32 · 198 阅读 · 0 评论 -
空间复杂度与时间复杂度
空间复杂度主要衡量一个算法所需要的额外空间时间复杂度:衡量算法快慢的标准,主要衡量的是一个算法的运行速度,算法运行的指令个数,如果只有一句的话就是0(1),一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。在实际中一般情况关注的是算法的最坏运行情况,所以数组中搜索数据时间复杂度为O(N)CPU单位时间内算法指令数恒定求算法指令数 F(n) ...原创 2020-03-29 15:08:00 · 169 阅读 · 0 评论 -
数据结构三大表
一、线性表(linear list)是n个具有相同特性的数据元素的有限序列,常见的线性表有顺序表、链表、栈、队列、字符串线性表在逻辑上是线性结构,连续的,但是在物理上不一定是连续的通常是以数组和链式结构的形式存储二、顺序表顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表一般可以分为:静态顺序表:使用定长数组...原创 2020-03-29 15:06:49 · 1351 阅读 · 0 评论 -
深入分析 BTree、B+Tree、AVL树、红黑树
一、红黑树 – 平衡二叉搜索树 红黑树的特点节点是红色或黑色。根节点是黑色。每个叶子节点都是黑色的空节点(NIL节点)。每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。二、 AVL树 – 平衡二叉搜索树 AVL树的特点它的左子树和右子树都是AVL树左子树和右子树的高度差不能超...原创 2020-04-10 18:13:51 · 1375 阅读 · 0 评论 -
二叉树之堆
已知双亲下标已知孩子的下标堆:搜索二叉树原创 2019-11-11 11:35:26 · 117 阅读 · 0 评论 -
Java数据结构之栈和队列
栈是一个特殊的线性表,支持各种增删改查操作,支持三个核心操作,入栈、出栈、取栈顶public class MyStack1 { private int[] arr; //下标 private int length ; public MyStack1(int size) { this.arr = new int[size]; ...原创 2019-11-11 11:36:17 · 206 阅读 · 0 评论 -
二叉树的知识及面试题
1、树的知识树的概念:树是一种非线性的数据结构,由n个有限结点组成一个具有层次关系的集合特点:没有父结点的结点是根结点,可以说根节点只有一个,根结点只有一个父结点,每个结点有零个或多个子结点;树的度:一棵树中,最大的节点的度称为树的度;节点的度:一个节点含有的子树的个数称为该节点的度;节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推;2 、二叉树一、二叉树的特点...原创 2019-09-08 18:45:11 · 180 阅读 · 0 评论 -
数据结构之7大排序详细讲解
七大排序分类一、直接插入排序特点:元素越接近有序,该方法时间效率越高空间复杂度o(1),是一种稳定的排序算法时间复杂度o(n^2)原创 2019-05-19 11:36:30 · 603 阅读 · 0 评论 -
链表的增删
链表一般使用的是不带头单向非循环链表,在Java的集合框架库中 LinkedList 底层实现是不带头双向循环链表。链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。public class Link { //链表中的第一个结点 public static class Node { //下个结点的索引 ...原创 2019-04-20 20:54:55 · 246 阅读 · 0 评论 -
经常出错的二分查找
查找一个数字有俩种方法一个是遍历查找,该方法的时间复杂度是O(n),遍历n次,另一个就是二分查找,该方法适用于对有序数的查找,时间复杂度O(log2n) ,log以2为底的n,每次查找都对数量减半,其中可以是[left,right],当left=right时只有一个元素,或者[left,right),当left=right时没有元素,public class binarySort { ...原创 2019-03-31 12:38:32 · 296 阅读 · 0 评论