数据结构
文章平均质量分 74
ZJ慧
一个刚开始努力且有梦想的应届菜鸟
展开
-
数据结构-优先队列和堆篇
数据结构-优先队列和堆篇文章目录数据结构-优先队列和堆篇一. 优先队列二. 堆1. 最大堆定义2. 堆的操作3. Replace:取出最大元素后,放入一个新元素4. heapify: 将任意数组整理成堆的形状5. 基于堆的优先队列一. 优先队列普通队列:先进先出,后进后出优先队列:出队顺序和入队顺序无关;和优先级相关动态选择优先级最高的任务执行定义队列:Interface Queue <-------------PriorityQueue implement Qu原创 2021-02-26 18:45:04 · 195 阅读 · 0 评论 -
数据结构-集合和映射篇
数据结构-集合和映射篇文章目录数据结构-集合和映射篇一. 集合(Set)1. 定义集合2. 基于二分搜索树的集合定义3. 基于链表的集合定义4. 集合类复杂度分析5. 集合的时间复杂度分析二. 映射1. 定义映射接口2. 基于链表的映射节点构造3. 基于二分搜索树的映射节点构造4. 映射的时间复杂度分析5. 集合和映射的关系一. 集合(Set)SetVoid add(E) 不能添加重复元素 应用:客户统计、词汇量统计Void remove(E)Boolean contains(E)Int原创 2021-02-25 17:03:25 · 574 阅读 · 0 评论 -
数据结构-二分搜索树篇
数据结构-二分搜索树篇文章目录数据结构-二分搜索树篇二叉树二分搜索树:也是二叉树1. 定义二分搜索树节点2. 二分搜索操作3. 二分搜索树的遍历树结构本身是一种天然的组织结构二叉树和链表一样,动态数据结构class Node{ E e; Node left; Node right;}二叉树具有唯一 根节点二叉树每个节点最多有两个孩子:左孩子,右孩子叶子结点二叉树每个节点最多有一个父节点二叉树具有天然的递归结构每个节点的左子树也是二叉树,每个节点的右子原创 2021-02-24 16:19:48 · 129 阅读 · 0 评论 -
数据结构-链表和递归篇
数据结构-链表和递归篇一. 链表(Linked List)动态数组、栈、队列底层依托静态数组;靠resize解决固定容量问题链表 :真正的动态数据结构最简单的动态数据结构更深入的理解引用(或者指针)更深入的理解递归辅助组成其他数据结构数据存储在“节点”(Node)中优点:真正的动态,不需要处理固定容量的问题缺点:丧失了随机访问的能力1. 数组和链表的对比对比数组链表适用场景最好用于索引有语义的情况不适用于索引有语音的情况最大的原创 2021-02-24 15:42:23 · 550 阅读 · 0 评论 -
数据结构-栈和队列篇
数据结构-栈和队列篇一. 栈栈也是一种线性结构,相比数组,栈对应的操作是数组的子集只能从一端添加,也只能从一端去除元素,这一端称为栈顶栈是一种后进先出的数据结构(Last In First Out)栈的应用:系统中常用的"撤销操作";程序调用的系统栈(记录子程序调用时中断点的位置):在编程进行子过程的调用时(当fun A()进行到2号中断点时,程序会调用fun B,即A2进栈),当一个子过程进行完毕后会自动转入到上层调用中断的位置(当fun C结束后,会转到fun B的2号位置,即B2原创 2021-02-23 17:48:13 · 99 阅读 · 0 评论 -
数据结构-数组篇
数据结构-数组篇1. 基础‘ ‘public class Main { /** * 数组基础 * 索引 索引可以有语意也可以没有语意 * @param args */ public static void main(String[] args) { int[] arr = new int[10]; for(int i=0;i<arr.length;i++){ arr[i] = i;原创 2021-02-23 17:26:28 · 93 阅读 · 0 评论