
数据结构
阿懂!!
这个作者很懒,什么都没留下…
展开
-
栈的实现(基于链表)
首先定义一个接口(基于已写好的链表实现的栈) public interface Stack<E> { int getSize(); boolean isEmpty(); boolean contains(E e); //入栈 void push(E e); //查看栈顶的数据 E peek(); //出栈 E pop(); } 定义一个栈的类,继承Stack接口...原创 2018-09-11 16:43:26 · 332 阅读 · 0 评论 -
最大堆的实现
对于“堆”的简单描述:常见的堆为二叉堆,在二叉堆中又分为大顶堆(最顶上的元素最大)和小顶堆(最顶上的元素最小),其最终的数据结构还是一个树(完全二叉树),并且所有的节点都比它左右孩子的值大(对于大顶堆) /** * 数据结构:最大堆(基于【我自定义的】链表) * 描述:实现了 添加、删除、判空、判断是否存在 * @author hcc * */ public class ArrayH...原创 2018-10-17 11:47:41 · 379 阅读 · 2 评论 -
Java实现二分搜索树(实现了前序、中序、后序遍历(递归、非递归两种方式)、添加元素、删除元素操作)【大家共同学习,有问题可以沟通交流】
二分搜索树的概念:首先它是一个二叉树、二叉搜索树的每一个节点的值都大于其左子树的所有节点的值,小于其右子树上所有节点的值 package com.hcc.DStructure; import java.util.Queue; import java.util.Stack; import java.util.concurrent.ArrayBlockingQueue; /** * 二分搜...原创 2018-10-11 10:47:44 · 834 阅读 · 0 评论 -
数据结构链表的实现
/** * 链表的实现 * @author hcc * */ public class HLinkList<E> { //虚拟头结点 private Node dummy_head; //链表的长度(也是链表中数据的个数) private int size; @SuppressWarnings("unused") private class Node{ pri...原创 2018-09-11 10:29:25 · 248 阅读 · 0 评论 -
循环队列的实现
定义一个接口 public interface Queue<E> { //计算队列的大小 int getSize(); //判空 boolean isEmpty(); boolean contains(E e); //入队 void enqueue(E e); //出队 E dequeue(); //获得队首元素 E getFront(); } 定义一个类,...原创 2018-09-14 10:51:49 · 201 阅读 · 0 评论 -
队列的实现
基于动态数组实现 定义一个接口 public interface Queue<E> { //计算队列的大小 int getSize(); //判空 boolean isEmpty(); boolean contains(E e); //入队 void enqueue(E e); //出队 E dequeue(); //获得队首元素 E getFront();...原创 2018-09-14 10:50:02 · 154 阅读 · 0 评论 -
栈的实现(基于数组)
(基于已写好的动态数组实现的栈) 首先写一个接口 public interface Stack<E> { int getSize(); boolean isEmpty(); boolean contains(E e); //入栈 void push(E e); //查看栈顶的数据 E peek(); //出栈 E pop(); } 再写一个继承该接口的栈类 ...原创 2018-09-13 11:50:57 · 472 阅读 · 0 评论 -
动态数组(使用泛型)实现存储多种复杂数据类型(有问题提出来大家一起学习)
/** * 使用泛型实现存储各种复杂数据类型 * @author hcc * */ public class HGenericityArrayList<E> { //默认数组的容量 private static final int DEFAULT_CAPACITY = 10; //用来存储数据的数组 private E[] data; //数据的个数(大小...原创 2018-09-06 17:07:59 · 519 阅读 · 0 评论 -
动态数组(只存int类型)实现增删改查等基本操作(有错误提出来大家一起学习)
/** * 基于数组编写动态数组的类 * @author hcc */ public class HArrayList { //默认数组的容量 private static final int DEFAULT_CAPACITY = 10; //用来存储数据的数组 private int[] data; //数据的个数(大小) private int size; /*...原创 2018-09-06 17:04:23 · 677 阅读 · 0 评论 -
手动编写AVL(平衡二叉树),实现了基本的add、get 、remove、 toString、 contains等方法,
平衡二叉树:是指一棵空树或者是任意节点的左右孩子的高度相差绝对值小于等于1 package com.hcc.DStructure; import java.util.ArrayList; import java.util.concurrent.ArrayBlockingQueue; /** * AVL * @author hcc * * @param <K> * @...原创 2018-11-16 17:33:05 · 241 阅读 · 0 评论