数据结构
假装自己不胖
这个作者很懒,什么都没留下…
展开
-
数据结构之队列
队列 队列就是一种先进先出的特殊数据结构 public class MyQueue<T> { public MyQueue(int capacity) { this.capacity = capacity + 1; this.queue = newArray(capacity + 1); this.head = 0; ...原创 2020-01-08 20:05:00 · 143 阅读 · 0 评论 -
数据结构之二叉树
二叉树 二叉树的特点: 每个节点最多有两个子节点 左树和右树是有顺序的,不能偏差 即使这个节点只有一个子树,也要分辨是左树还是右树 五种基本形态: 空二叉树,只有一个根结点,根结点只有左树,根节点只有右树,根节点左右树都有 特殊的二叉树 斜二叉树:都只有左树或者都只有右树 满二叉树:所有分支结点都有左右子树,且叶子节点都在同一层 完全二叉树:可以理解为带缺点的满二叉树,任何一个完全二叉树...原创 2020-01-08 19:38:29 · 136 阅读 · 0 评论 -
数据结构之栈
栈 栈就是一个先进后出的结构,可以用数组来组成也能用队列来组成,只是每次新增和删除都只能从栈顶取 public class MyStack<E> { public MyStack() { } /** * 压数入栈 * * @param item 入栈的参数 * @return */ publi...原创 2020-01-07 19:51:49 · 99 阅读 · 0 评论 -
数据结构之链表
链表 是一个物理存储单元上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针连接次序实现的 存储结构(和数组对比) 数组需要连续内存 链表不需要,也就是不需要整块内存,更适合有很多碎片内存的环境 组成:由一个数据域(存储数据元素),一个指针域(存储下一个节点地址) 类型 单链表 每个节点都有一个指向下一个的节点,尾部下一个指向的是null 循环链表 在单链表的基础上,...原创 2020-01-06 21:34:32 · 74 阅读 · 0 评论 -
数据结构之数组
数组 数组是一种线性表数据结构,用一组连续的内存空间,来存储一组具有相同类型的数据, 计算机给每个内存单元都分配了一个地址,然后要找到这个地址需要用一个寻址公式 a[i] = baseAddress + i * dataTypeSize 如果下标不是从0开始而是从1开始的话,以上的公式的i需要在进行一个-1的操作,等于浪费了一次计算 特点: 高效的随机访问 低效的插入和删除(需要移动...原创 2020-01-06 20:35:04 · 115 阅读 · 0 评论