数据结构
文章平均质量分 89
飘泊极光
elasticsearch学习者~
展开
-
栈的简单实现(一)
什么是栈?栈结构是从数据的运算来分类的,也就是说栈结构具有特殊的运算规则。而从数据的逻辑结构来看,栈结构其实就是一种线性结构。说到线性结构,我们很容易就想到联想到线性结构中的顺序表和链表。而栈也确实鱼这两种结构存在有着不一般的关系,从存储结构来对栈进行划分,栈可以分为两类:顺序栈结构:用一组地址连续的内存单元依次保存栈中的数据。链式栈结构:用链表的形式保存栈中的数据。但无论原创 2013-06-10 17:46:54 · 532 阅读 · 0 评论 -
顺序表的简单实现
虽然java库已经有成熟的顺序表实现,但是自己写一个能加深对顺序表的认识。何为顺序表呢?在《数据结构(C语言版)》一书中,顺序表的描述如下:线性表的顺序表示(下文称为顺序表)指的是用一组地址连续的存储单元依次存储线性表的数据元素。以元素在计算机内“物理位置相邻”来表示线性表中数据元素之间的逻辑关系。每一个数据元素的存储位置都和线性表的起始位置相差一个和数据元素在线性表中的位序成正比原创 2013-05-30 22:17:21 · 547 阅读 · 0 评论 -
栈的简单实现(二)
上文栈的简单实现(一)实现了不能扩展栈容量的顺序栈结构,这次给栈加上扩容功能,这样就不用担心出现满栈的情况了。不过由于本人技术水平不够,也还在学习当中,因此只能固定扩大大小,而不是根据实际情况进行最合适的扩大。跟上文代码差不多,只是新增了一个扩容的方法,以及改变了push方法。新增代码如下:/** * 扩大栈的容量 */ private void expanedLis原创 2013-06-10 18:26:33 · 548 阅读 · 0 评论 -
栈的简单实现(三)
继上文栈的简单实现(一)和栈的简单实现(二)实现了顺序结构的栈后,本文为简单实现链式栈结构。代码如下:package ds.stack;import ds.linkedlist.LinkedList;/** * 简单链式栈结构 * * @author Abyss_CMG * * @param */public class Stack3 { private L原创 2013-06-10 21:05:34 · 521 阅读 · 0 评论 -
链表简单实现
在前面回顾了一下顺序表的简单实现,我们不难发现顺序表的一些缺点/不足:①顺序表在插入和删除结点时,要进行大量的数据移动操作(当顺序表很大时,无疑会耗费相当大的时间)②顺序表扩大容量不方便(实际上是先建立一个容量更大的顺序表,然后将数据移动到新的顺序表中)为了克服顺序表结构的这些缺点/不足,我们可以采用链表结构。那,何为链表呢?链表结构是一种动态存储分配的结构形式,可以根据需要动原创 2013-06-02 13:57:17 · 548 阅读 · 0 评论 -
队列的简单实现(一)
与栈相似的线性结构还有一种,那就是队列。栈遵循后进先出(Last In First Out, LIFO)原则,而队列则恰好相反,遵循先进先出(First In First Out, FIFO)原则。与栈相同,从存储结构来对队列进行划分,队列可以分为两类:顺序队列结构:用一组地址连续的内存单元依次保存队列中的数据。链式队列结构:用链表的形式保存队列中的数据。如上图原创 2013-06-11 12:34:28 · 580 阅读 · 0 评论 -
队列的简单实现(二)
上文队列的简单实现(一)简单的实现了顺序队列结构,这次是实现简单的链式结构。代码如下:package ds.queue;import ds.linkedlist.LinkedList;public class Queue2 { private LinkedList head = null;// 指向队列头的引用 private LinkedList objData = n原创 2013-06-11 15:40:58 · 428 阅读 · 0 评论