数据结构
文章平均质量分 79
奈何、草
没有简介
展开
-
链表反转
链表反转 方法一:逐步插入 首先把头节点和后面节点断开,逐个遍历节点,并把遍历的节点插入到头节点之后。 C代码: #include<stdio.h> typedef struct Node{ int data; struct Node *prior; struct Node *next; }Node; //初始化链表 void initTail(int array[10],i...原创 2019-06-28 17:07:28 · 157 阅读 · 0 评论 -
java实现AVL树
思路比较简单不过多描述,只贴实现代码 import java.util.Comparator; /** * AVLTree * @param <T> */ public class AVLTree<T> { private static final int ALLOWED_IMBALANCE = 1;//最小不平衡因子 private AvlNode&...原创 2019-07-31 12:11:46 · 161 阅读 · 0 评论 -
B+树
B+树定义插入操作举例5阶B+树的插入删除操作举例5阶B+树的删除 定义 定义: (有两种版本,这里一种是关键字个数与孩子数相同,另一种是关键字个数比孩子数少1,这里使用第二种.) 1. B+树有两种类型节点: 索引节点和叶子节点,索引节点只存key,叶子节点存key和val 2. 根节点的key最少1个 3. m阶B+树最多m-1个孩子,最少Math.ceil(m/2)-1个孩子 4. 节点中按...原创 2019-05-29 16:51:28 · 341 阅读 · 0 评论 -
HashMap源码详细分析(上)
HashMap 目录HashMap数据结构构造方法 数据结构 int size; 数据量 Node<K,V>[] table; hash表 int threshold; 扩容临界点 threshold=table.length*loadFactor float loadFactor; 填装因子 构造方法 public HashMap(); 初始化fact...原创 2019-08-21 16:56:43 · 420 阅读 · 0 评论 -
优先队列
优先队列 目录优先队列数据结构流程图实现接口存储对象实现类测试 优先队列实现以下功能:(大根堆) insert方法.(插入一个元素)`` delete方法(删除指定元素) 通过map查找元素在数组中对应的下标删除指定元素,另外使用数组最后一个元素代替这个位置上的元素. pop方法(删除最大元素(出队)) array[0]删除 get方法(获取最大元素) return array[0] incre...原创 2019-08-16 15:36:18 · 306 阅读 · 0 评论 -
HashMap源码详细分析(下)
HashMap remove方法总体来说就是找到对应的key,如果是链表结构就删除链表节点,如果是红黑树节点就删除红黑树节点,下面对remove方法的过程进行了详细的备注,关于红黑树deleteBalance图解参考: https://blog.csdn.net/qq_40753996/article/details/89814273 目录HashMapremove方法removeNode方法Re...原创 2019-08-26 21:46:43 · 244 阅读 · 0 评论