数据结构
YO_RUI
虚无缥缈
展开
-
java-栈的实现
栈作为常用的数据存储结构之一,存储的特点是“先进后出”,通常都是直接拿Java提供的Stack使用,那我们也可以自己动手去实现下栈,栈的存储结构分为顺序存储和链式存储,本篇先实现顺序存储。一、基本实现 栈的顺序存储主要靠数组来存储数据,栈中还有一个比较重要的就是“栈顶指针”,不管入栈、出栈还是查看栈顶元素都要用到“栈顶指针”,所以这里可以把“栈顶指针”定义成一个int变量,等于数组最后一个元素的下原创 2017-08-15 12:14:37 · 384 阅读 · 0 评论 -
Java队列实现
一、队列简单介绍队列是一种常用的数据结构之一,与之前的栈类似,不过队列是“先进先出”。队列有队头(front)和队尾(rear),数据从队尾进入队列,从队头出队列,队头(front)指向队列的第一个数据,队尾(rear)指向队列中的最后一个数据。 二、队列实现队列有很多种,这里只是介绍最基本的实现,采用链式存储,也就是链式队列,与之前的链表存储形式一样,通过结点对象描述一个数据,结点对象包含具体数原创 2017-09-19 11:42:26 · 21310 阅读 · 9 评论 -
Java-链式栈
上一篇介绍了顺序栈,主要是通过数组来存储数据,因为数组在内存中是连续的。除了顺序栈,还可有链式栈,链式栈中的结点元素除了对应存储的数据,还会包含下一个结点的地址。 一、创建结点类相比与顺序栈,链式栈是通过结点类保存数据,每一个存储的数据就是一个结点对象,主要包含两个属性:数据和下一个结点的地址。创建节点类,采用泛型:public class Node<T> { private Node n原创 2017-09-05 08:55:23 · 654 阅读 · 0 评论 -
Java实现哈夫曼树及简易编码解码
一、基本概念 首先了解哈夫曼树之前先要知道的知识点,这些也都是树(不是书)中的概念:1、路径和路径长度 在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。2、结点的权及带权路径长度 若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。结点的带权路径长度为:从根结点原创 2017-11-17 17:09:56 · 12549 阅读 · 11 评论