求关于数据结构的一些问题

来源:百度知道 编辑:UC知道 时间:2024/07/02 14:20:45
1.在顺序表中插入或删除一个元素,需要平均移动 ( ) 元素,具体移动的元素个数与( ) 有关。

2. 线性表中结点的集合是( )的,结点间的关系是 ( )的。
3. 向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动 个元素。
4. 向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动( ) 个元素。
5. 在顺序表中访问任意一结点的时间复杂度均为( ) ,因此,顺序表也称为 ( ) 的数据结构。
6.顺序表中逻辑上相邻的元素的物理位置 ( ) 相邻。单链表中逻辑上相邻的元素的物理位置 ( )相邻。
7.在单链表中,除了首元结点外,任一结点的存储位置由( ) 指示。
8. 在n个结点的单链表中要删除已知结点*p,需找到它的 ( ),其时间复杂度为 ( ) 。

9.试比较顺序存储结构和链式存储结构的优缺点。在什么情况下用顺序表比链表好?

10 .描述以下三个概念的区别:头指针、头结点、首元结点(第一个元素结点)。在单链表中设置头结点的作用是什么?

1、N/2 插入与删除的位置
2、有限的 一对一
3、N-i+1
4、n-i
5、O(n)
6、必 不一定
7、其直接前驱结点的链域值 O(n)
8、前驱结点地址
9、(1)顺序存储时,相邻数据元素的存放地址也相邻,要求内存中可用存储单元的地址必须是连续的
优点:存储密度大,存储空间利用率高。缺点:插入或删除元素时不方便
(2)链式存储:相邻元素可随意存放,但所占空间分为两部分,一部分存放结点值,另一部分存放表示结点关系的指针
优点:插入或删除时比较方便,使用灵活 缺点:存储密度小,存储空间的利用率低
顺序表适宜做查找这样的静态操作,链表宜于做插入,删除这样的动态操作
若线性表的长度变化不在大,且其主要操作是查找,则采用顺序表
若线性表的长度变化较大,且其主要操作是插入、删除操作,则采用链表
10、首元结点是指链表中存储线必g表中第一个数据元素a1的结点。为了操作方便,通常在链表的首元结点之前附设一个结点,称为头结点,该结点的数据域不存储线性表的数据元素,其作用是为了对链表进行操作时,可以对空表、非空表的的情况下对首元结点进行统一处理。头指针是指链表中的第一个结点的指针,若链表中附设头结点,则不管线性表是否为空表,头指针均不为空,否则表示空表的链表为空。这三个概念对单链表,双向链表均适用,是不同的存储结构表示统一逻辑结构的问题