采用C++模板类实现 1 #ifndef _List_H_ 2 #define
_List_H_ 3 #include 4 #include "stdlib.h" 5 template 6 class CNode 7 { 8 public:
9 T data; 10 ...
分类:
其他好文 时间:
2014-05-18 00:38:59
阅读次数:
407
对于线性表我们应掌握如下要点:1、 掌握线性表的结构特点:顺序存储和链式存储。2、
掌握线性表的基本操作:初始化,插入,删除,查找,判空,求线性表长度等运算在顺序存储结构和链式存储结构上的实现。顺序存储具有随机访问的特点,而链式存储具有顺序访问的特点。对于不同的应用我们应当选择不同的结构。顺序结构实...
分类:
其他好文 时间:
2014-05-18 00:23:40
阅读次数:
404
都是些定义,没什么需要过多注意的。只要知道几个概念就好:逻辑结构:数据结构中元素之间的关系物理结构/存储结构:数据结构在计算机中的表示。有两种:顺序存储结构(顺序映像)、链式存储结构(非顺序映像)
分类:
其他好文 时间:
2014-05-16 06:47:26
阅读次数:
235
线性表的定义:N个数据元素的有限序列
线性表从存储结构上分为:顺序存储结构(数组)和 链式存储结构(链表)
顺序存储结构:是用一段连续的内存空间存储表中的数据 L=(a1,a2,a3....an)
链式存储结构:是用一段一段连续的内存空间存储表中每一行的数据,段与段之间通过一个引用(指针)相互连接来,形成一个链式的存储结构
看到顺序存储结构的图示,我们可能会马上联想到C语言的数组...
分类:
编程语言 时间:
2014-05-16 01:43:08
阅读次数:
359
线性表的实现分顺序存储结构和链式存储结构上一节我们主要介绍了顺序存储结构,在最后我们还分别总结了顺序存储结构的优缺点,对于顺序结构的缺点,我们有没有什么好的解决方法呢?我们今天要介绍的线性表的链式存储结构就可以很好的解决顺序结构的缺点,一起来看。顺序结构最大的缺点就是在进行插入和删除操作的时候,如果...
分类:
其他好文 时间:
2014-05-15 20:41:51
阅读次数:
474
我们先来看一张之前整理过的一张二叉树的链式存储结构
1、每个数据域,都有2个指针域,分别指向该节点的左孩子、右孩子,但是每个节点前驱、后继,要知道的话需要遍历整棵树,这在时间上耗费很大。
2、另外,在叶子节点中,我们可以看到如图,每个节点都会浪费2块存储空间,N个节点的二叉树,2N个指针域,连接线为2N-1,那么会有2N-(N-1) = N+1个指针域浪费掉。
为了优化以上2...
分类:
其他好文 时间:
2014-05-15 13:30:19
阅读次数:
283
我们分别从存储分配方式、时间性能、空间性能三方面来做对比。
存储分配方式:
顺序存储结构用一段连续的存储单元依次存储线性表的数据元素。
单链表采用链式存储结构,用一组任意的存储单元存放线性表的元素。
时间性能:
查找
顺序存储结构O(1)
单链表O(n)
插入和删除
顺序存储结构需要平均移动表长一半的元素,时间为O(n)
单链表在计算出某位置的指针后,插入和删...
分类:
其他好文 时间:
2014-05-14 14:16:42
阅读次数:
335
线性表的Java实现--链式存储(单向链表)
单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。
链式存储结构的线性表将采用一组任意的存储单元存放线性表中的数据元素。由于不需要按顺序存储,链表在插入、删除数据元素时比顺序存储要快,但是在查找一个节点时则要比顺序存储要慢。
使用链式存储可以克服顺序线性表需要预先知道数据大小的缺点...
分类:
编程语言 时间:
2014-05-06 23:08:53
阅读次数:
391
和线性表的链式存储结构相类似,也可采用链式方式存储串值。由于串结构的特殊性--结构中的每个数据元素是一个字符,则用链表存储串值时,存在一个“结点大小”的问题,即每个结点可以存放一个字符,也可以存放多个字符。下面是结点大小为4(即每个结点存放4个字符)的链表:head
--> (a) --> (b) ...
分类:
编程语言 时间:
2014-04-28 02:01:29
阅读次数:
549