
数据结构
数据结构底层实现
大威少MVP
这个作者很懒,什么都没留下…
展开
-
数据结构:优先队列和堆
数据结构:优先队列和堆优先队列的概念堆的基础表示二叉堆的代码结构⭐向堆中添加元素,Sift up方法的实现⭐向堆中取出元素,Sift Down方法的实现Heapify和Replace基于堆的优先队列 优先队列的概念 普通队列:先进先出;后进后出 优先队列:出队顺序和入队顺序没有关系;和优先级相关 队列中的元素是不断变化的,需要根据队列中元素的不断变化动态的调节队列的优先级 优先队列底层为什么选择堆...原创 2020-04-02 22:30:51 · 308 阅读 · 0 评论 -
数据结构:二分搜索树底层实现
数据结构:二分搜索树底层实现二分搜索树的定义二分搜索树代码结构向二分搜索树添加元素(递归实现)Contains方法(递归实现)前序遍历(递归实现)中序遍历(递归实现)后序遍历(递归实现)前序遍历(非递归实现)层序遍历(也称广度优先遍历)(非递归实现)查找最值查找最小值(递归实现)查找最小值(非递归实现)查找最大值(递归实现)查找最大值(递归非实现)删除最小值删除最小值(递归实现)删除最小值(非递归...原创 2020-04-02 18:39:12 · 724 阅读 · 2 评论 -
数据结构:队列底层实现
数据结构:队列底层实现队列定义定义队列的接口类①使用动态数组实现队列②使用链表实现队列拓展:循环队列 队列定义 1、队列是一种线性结构 2、相比数组,队列对应的操作可以看作是数组的子集 3、只能从一端添加(队尾)数据,从另一端取出数据(队首) 4、FIFO先进先出Fist In First Out 定义队列的接口类 public interface Queue<E> { ...原创 2020-03-28 23:11:18 · 1715 阅读 · 0 评论 -
数据结构:栈的底层实现
栈的底层实现栈的特性栈的应用定义栈的接口类①使用动态数组实现栈链表实现栈 栈的特性 栈是一种线性结构 相比数组,栈的操作可以看作是数组的子集 只能从一端添加(栈顶)数据,也只能从一端取出数据 先进后出、后进先出(LIFO)last in first out 栈的应用 Undo(撤销)操作 系统栈 定义栈的接口类 public interface Stack<E> { ...原创 2020-03-26 22:05:44 · 1122 阅读 · 0 评论 -
数据结构:链表底层实现
数据结构:链表底层实现链表特点数据存储在节点中优缺点数组与链表的对比链表头节点问题:添加元素和删除元素简化操作的方法:添加一个虚拟头节点。链表代码:整体结构添加操作链表的遍历,查询以及修改删除操作重写toString方法,方便打印 链表特点 数据存储在节点中 //内部类 private class Node{ public E e; //next存储下一个节点的地址...原创 2020-03-25 15:16:31 · 756 阅读 · 0 评论 -
数据结构 : Java实现动态数组
使用Java语言制作属于自己的动态数组。 import java.util.Objects; public class Array<E> { private E[] data; private int size; //构造函数,传入数组的容量 public Array(int capacity) { //强制转换capacity构造A...原创 2020-03-24 23:28:36 · 233 阅读 · 0 评论