数据结构
蒙太纳奇
如狼一样的不息
展开
-
二叉树排序
1.二叉树由各种节点组成 每个节点都可以有左子节点,右子节点 每一个节点都有一个值2.排序 二叉树的遍历分左序,中序,右序 左序即: 中间的数遍历后放在左边 中序即: 中间的数遍历后放在中间 右序即: 中间的数遍历后放在右边 如图所见,我们希望遍历后的结果是从小到大的,所...原创 2019-10-15 08:34:28 · 295 阅读 · 0 评论 -
数据结构和算法02-算法大纲
1.算法 就是数据处理的技巧和方法。2.算法的特性以及设计要求3.算法的效率问题 算法效率一般使用事前分析估算的方法。 核心观点:以空间换时间的概念4.常见的时间复杂度...原创 2019-08-30 15:36:15 · 125 阅读 · 0 评论 -
数据结构和算法01-数据结构大纲
1.源于如下网站的学习总结:https://www.bilibili.com/video/av2975983?from=search&seid=46363099443980119502.数据结构 程序设计 = 数据结构 + 算法。 数据结构:即数据元素之间关系的集合。 物理结构:是用于研究计算机是如何把数据存储到存储器(内存)中的,而如硬盘...原创 2019-08-30 10:23:34 · 169 阅读 · 0 评论 -
Stack,Vector
Stack,Vector源码分析属性Object[] elementData;int elementCount; //序列长度,同时用于标记栈顶位置(elementCount-1)初始化,置空,长度获取入栈 push(E item)数组扩容判断入栈:elementData[elementCount++] = obj;弹出 pop()element...原创 2019-07-24 16:30:17 · 106 阅读 · 0 评论 -
LinkedList
结构分析LinkedList 使用了循环双向链表数据结构,由一系列表项连接而成。一个表项总是包含 3 个部分:元素内容,前驱表和后驱表。在 JDK 的实现中,无论 LikedList 是否为空,链表内部都有一个 header 表项,它既表示链表的开始,也表示链表的结尾。header 的后驱表项是链表中第一个元素,header 的前驱是链表中最后一个元素。源码分析属性...原创 2019-07-24 16:30:30 · 123 阅读 · 0 评论 -
ArrayList
属性项private static final int DEFAULT_CAPACITY = 10;默认初始容量private transient Object[] elementData;元素的存放数组结构private static final Object[] EMPTY_ELEMENTDATA = {};调用无参构造初始化时设置elementData=EMPT...原创 2019-07-24 16:30:25 · 113 阅读 · 0 评论 -
ConcurrentHashMap原理分析
ConcurrentHashMap模型图ConcurrentHashMap(整个Hash表)容量 initialCapacity默认初始容量:int DEFAULT_INITIAL_CAPACITY = 16;负载因子 loadFactor默认初始负载因子:float DEFAULT_LOAD_FACTOR = 0.75f;并发级别 concurrencyLe...原创 2019-07-24 16:30:37 · 137 阅读 · 0 评论 -
map,set,list下的数据结构总括
数据结构依赖关系图大纲集合安全问题ArrayList、HashSet、HashMap 非线程安全在扩容时均未线程安全的。Vector,HashTable,ConcurrentHashMap 线程安全Collections.synchronizedList(list)线程安全Collections.synchronizedCollection(c)Co...原创 2019-07-24 16:30:42 · 216 阅读 · 0 评论 -
java线性结构依赖关系图
qq_38331606原创 2018-10-31 08:05:34 · 1069 阅读 · 0 评论 -
数据结构之线性表
数据结构之线性表线性表线性表是零个或者多个元素组成的有限序列,每个元素最多只有一个前驱/后驱,且元素的数据类型相同。主要分为两种结构,顺序存储结构,链表结构 顺序存储结构 特点使用连续的存储结构进行存储,通过数组的拷贝来不断扩容。优缺点优点:对于小线性表或长度固定的线性表,具有简单、运算方便等优点;同时随机访问速度快,O(1)。缺点:插入删除时间复杂度为O(n),同时...原创 2018-10-31 08:04:26 · 139 阅读 · 0 评论 -
后缀表达式
中缀表达式转化为后缀表达式中缀表达式“9+(3-1)*3+10/2”转化为后缀表达式“9 3 1-3*+ 10 2/+”规则:从左到右遍历中缀表达式的每个数字和符号,若是数字就输出,即成为后缀表达式的一部分;若是符号,则判断其与栈顶符号的优先级,是右括号或优先级低于找顶符号(乘除优先加减)则栈顶元素依次出找并输出,并将当前符号进栈,一直到最终输出后缀表达式为止。后缀表达式计算后缀表达式...原创 2018-10-31 07:58:27 · 422 阅读 · 0 评论 -
HashMap原理
前言Hash:散列,将一个任意一个长度或者数据,通过特定的算法,转化成一个固定值Map:地图,通过x,y的坐标去查找元素模型图描述使用Entry<K,V>[] table数组用于单向链表的头部节点(通过key的hash,使用求模的方法获取待插入对象在table的位置),又名为槽;而槽上的数据,通过单向链表的方式进行存储,并通过便利该链表以确保同一Map中k...原创 2018-10-31 07:57:57 · 140 阅读 · 0 评论 -
HashCode原理
HashCode原理原理 概念: 根据一定的规则将与对象相关的信息(比如对象的存储地址,对象的字段等)映射成一个数值,这个数值称作为散列值。 作用: 主要是保证基于散列的集合,如HashSet、HashMap以及HashTable等,在插入元素时保证元素不可重复,同时为了提高元素的插入删除便利效率而设计;主要是为了查找的便捷性而存在。 常见类别 Integer.h...原创 2018-10-31 07:56:58 · 3642 阅读 · 0 评论 -
ConcurrentHashMap原理
ConcurrentHashMap原理模型图qq_38331606 ConcurrentHashMap(整个Hash表) 容量 initialCapacity默认初始容量:int DEFAULT_INITIAL_CAPACITY = 16;负载因子 loadFactor默认初始负载因子:float DEFAULT_LOAD_FACTOR = 0.75f;并发级别 conc...原创 2018-10-31 07:55:30 · 139 阅读 · 0 评论