![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
iteye_18158
这个作者很懒,什么都没留下…
展开
-
数据结构学习---线性表
本人第一次发帖,只是想把自己学习的知识做一个记录,在数据结构相关的内容里面大部分来自于周鹏的“数据结构--java语言版”一书,如有侵权望作者即时指出,谢谢。 工作了两年多,平时都不注意基本知识积累,或者曾经知道了,但是没有及时记录,过几个月就忘记了,现在出去找工作,很多都会问关于数据结构的知识,每次总是一知半解的回答,最终结果就是没通过面试,好的工作机会眼睁睁的看着没把握住,实在可惜,...2014-02-25 22:15:13 · 106 阅读 · 0 评论 -
数据结构学习---线性表的数组实现LIstArray
线性表的数组实现,其内部存放数据的实际上就是一个可变容量的数组,大家都知道数组的特性,获取数组中I的数据的时间为常数,所以做查询非常快。[code="java"]package taxus.list;public class ListArray implements List{ private final int LEN = 5; private int siz...2014-02-25 22:39:42 · 143 阅读 · 1 评论 -
数据结构学习---线性表的链式存储实现(单链表)
之前实现了线性表的数组实现方式,了解了其特性,查询很快,不过才进行元素插入和删除时需要移动元素才能完成。为了避免这种缺点,我们需要在每个单元中设置指针来表示元素之间的逻辑关系,增加了额外的存储空间。用链式存储是以空间为代价换取了时间,其实写代码基本没有绝对的事情,我们总是在寻找最合适的方式处理我们遇到的问题,在时间和空间之间找平衡点,有时候时间要求更多一点,有时候空间要求更多一点,具体情况具体...2014-02-26 11:48:13 · 212 阅读 · 0 评论 -
数据结构学习---线性表的链式存储实现(双向链表)
单链表的优点是结构简单,但是单链表只能通过一个节点房后其后续节点,无法直接访问其前驱结点,要在单恋保重找到某个节点,必须从链表的首节点出发,依次向后寻找。为此在单链表的基础上进行扩展,使得不但能够访问其后续节点,也可访问前驱结点。做法为在单链表节点上增加一个域,指向节点直接前驱结点。双链表节点结构图,如图:[img]http://dl2.iteye.com/upload/attachmen...2014-03-01 22:55:57 · 162 阅读 · 0 评论 -
数据结构学习---线性表的单链表实现
在使用链表实现线性表是,既可以选择单链表,也可以选择双向链表,实际中的选择要依据需要实现的基本操作来决定。 在使用单链表实现线性表的时候,为了使程序更加简洁和方便,我们在单链表的最前面添加一个哑元节点,也称为头节点。在头节点中不存储任何实质的数据对象,其next指向线性表中0号元素所在的节点。头节点的引入也使线性表运算中的边界条件更容易一些。带头节点的单链表实现线性表结构图:[i...2014-03-01 23:40:58 · 111 阅读 · 0 评论 -
数据结构学习---线性表的数组实现与单链表实现比较
[b]1. 基于时间的比较 [/b] 线性表的操作主要有查询,插入,删除三类。 对于查找操作有基于序号的查找,即存取线性表中i号数据元素,由于数组的随机存取特性,在线性表的顺序存储实现中可以在常数1时间内完成,而在线性表中则需要从节点开始顺着链表才能获取,无法在常数时间内完成,因此顺序存储由于链式存储。查找操作还有基于元素的查找,即线性表是否包含某个元素,元素的序号是多少,这类操作的线...2014-03-02 00:18:58 · 135 阅读 · 0 评论 -
数据结构学习---基于双向链表实现的链接表
经过前面的学习,我们看到如果使用ListSLink对线性表进行每个元素的访问get(i)则需要n*n的时间,因为在使用链表实现取i号数据元素的操作时,需要将节点的引用给从链表前向后移动i次,而取i+1时又不能在上一次操作---取i好数据元素-----中受益,必须从链表前端开始定位,则访问线性表中每一个元素一次所需要的时间为n*n。这是难以接受的。 链接表可以看成是一组节点序列以及基于节...2014-03-13 21:54:50 · 147 阅读 · 0 评论 -
数据结构学习---栈
栈是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶。对栈的操作有进栈(push)和出栈(pop),前者相当于插入,后者则是删除最后插入的元素。最后插入的元素可以通过使用top在执行pop之前进行考查。对空栈进行的pop或top一般被认为是栈的ADT中的错误。 栈有时又叫做LIFO(后进先出)表。如图描述的模型只象征着push是输入操作而pop和top是输出操作。普通的...2014-03-18 22:05:29 · 98 阅读 · 0 评论 -
数据结构学习---队列
像栈一样,队列(queue)也是表,然而,使用队列时插入在一端进行而删除在另一端进行。 队列的基本操作时enqueue入队,它是在表的末端(队尾(rear))插入一个元素,和dequeue出队它是删除并返回在表的开头(队首(front))的元素,如图是队列的抽象模型。[img]http://dl2.iteye.com/upload/attachment/0095/0535/7104f...2014-03-18 22:24:03 · 71 阅读 · 0 评论