1、在等概率情况下,顺序表的插入操作要移动__N/2____结点。
【解析】
添加到第1个,移动N个;
添加到第2个,移动(N-1)个;
……
添加到第N个,移动1个;
添加到第(N+1)个,移动0个;
平均:(0+1+2+……+N)/(N+1)=N/2;
2、在等概率情况下,顺序表的删除操作要移动__(N-1)/2____结点。
【解析】
删除第1个,移动(N-1)个;
删除第2个,移动(N-2)个;
……
删除第N个,移动0个;
平均:[0+1+……+(N-1)]/N=(N-1)/2;
3、在等概率情况下,顺序表的查找操作要移动__(N+1)/2____结点。
【解析】
比较第1个,1
比较第2个,2
......
比较第N个,N
平均:[0+1+……+(N-1) + N]/N=(N+ 1)/2;
3、当静态链表采用数组实现时:
定义一个较大的结构数组作为备用结点空间 ( 即存储池 ) 。当申请结点时,每个结点应含有两个域: data 域和 cursor 域。 data 域用来存放结点的数据信息,此时的 cursor 域不再是指针而是游标指示器,游标指示器指示其后继结点在结构数组中的相对位置 ( 即 数组下标) 。
4、如果最常用的操作是取第i个结点及其前驱,则采用(顺序表)存储方式最节省时间。
顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。线性表采用顺序存储的方式存储就称之为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。
5、从大的方面来说,数据结构是反映数据的一种形式,它具体分为逻辑结构和物理结构,
顺序表是指用一组地址连续的存储单元依次存储数据元素的线性结构。
②
1.循环链表是另一种形式的链式存储结构。它的特点是表中最后一个结点的 指针 域指向 头结点 ,整个链表形成一个环。
(1)单循环链表——在单链表中,将终端结点的指针域NULL改为指向表头结点或开始结点即可。
(2)多重链的循环链表——将表中结点链在多个环上。
2. 队列(Queue)是只允许在一端进行插入,而在另一端进行删除的运算受限的线性表;
3. 栈(stack)在计算机科学中是限定仅在栈顶进行插入或删除操作的线性表。
4. “关联数组”是一种具有特殊索引方式的数组。不仅可以通过整数来索引它,还可以使用字符串或者其他类型的值(除了NULL)来索引它。 详情查看: http://baike.baidu.com/link?url=yYrNB5t4PrCvs-XfxfEM0ZZfALpsEi3FYopk1v0BuopUSWOr7mS0Lou8C-SzhDnSuv7BH5vKIoIblvi8GgUmGq
关联数组和数组类似,由以名称作为键的字段和方法组成。 它包含标量数据,可用索引值来单独选择这些数据,和数组不同的是, 关联数组的索引值不是非负的整数而是任意的标量。这些标量称为Keys,可以在以后用于检索数组中的数值。
关联数组的元素没有特定的顺序,你可以把它们想象为一组卡片。每张卡片上半部分是索引而下半部分是数值。
5.链表(Linked list)是一种常见的基础数据结构,是一种线性表,是一种物理存储单元上非连续、非顺序的存储结构。双向链表也叫双链表 ,是链表的一种,它的每个数据结点中都有两个 指针 ,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向 循环链表 。
13、数据结构的基本概念: