含有n个元素的线性表采用顺序存储方式时,对其运算速度最快的操作是【 】。
A、访问第i个元素(1≤i≤n)
B、删除第i个元素(1≤i≤n)
C、在第i个元素(1≤i≤n)之后插入一个新元素
D、查找与特定值相匹配的元素
含有n个元素的线性表采用顺序存储方式时,对其运算速度最快的操作是【 】。
A、访问第i个元素(1≤i≤n)
B、删除第i个元素(1≤i≤n)
C、在第i个元素(1≤i≤n)之后插入一个新元素
D、查找与特定值相匹配的元素
A
【解析】
线性表(a1,a2…,an)采用顺序存储方式,其逻辑上相邻的元素物理位置也是相邻的,因此,按照序号访问元素的速度是很快的。
访问第i个元素(1≤i≤n)的元素,仅需计算出ai的存储位置再进行内存的随机访问操作即可,以LOC(ai)表示线性表中第一个元素的存储位置,L表示每个元素所占存储单元的个数,则计算LOC(ai)的方式如下:
LOC(ai)=LOC(a1)+(i-1)XL
再分析其他运算,不在表尾插入或删除时就需要移动其他元素,这是比较耗时的。查找与特定值相匹配的元素时,需要经过一个与表中多个元素进行比较的过程,相对于随机访间第i个元素,消耗更多时间。
算术表达式a*(b-c)+d的后缀式是【 】(-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。
对于下图,若采用邻接矩阵存储,则矩阵中的非0元素数目为【 】。
对于下图,从顶点1进行深度优先遍历时,不可能得到的遍历序列是【 】
在有13个元素构成的有序表data[1..13]中,用折半查找(即二分查找,计算时向下取整)方式查找值等于data[8]的元素时,先后与【 】等元素进行了比较。
已知某二叉树的先序遍历序列为ABCD,后序遍历序列为CDBA,则该二叉树为【 】。
设有字符串S='software',其长度为3的子串数目为【 】。
在含有n个元素的顺序表中,算法时间复杂度为O(1)的操作是【 】
线性表选用顺序存储结构表示的适用场合是____________________。
若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法时间复杂度为【 】。(1≤i≤n+1)
假设线性表的长度为n,且采用顺序存储结构存储。当在线性表的任何位置上插入一个数据元素的概率相同时,插入一个数据元素需要移动元素的平均个数为【 】。
下列对顺序存储的有序表 (长度为 n)实现给定操作的算法中平均时间复杂度为 O(1)的是【 】
若某线性表长度为n且采用顺序存储方式,则运算速度最快的操作是【 】。
对于长度为n的线性表(即n个元素构成的序列),若采用顺序存储结构(数组存储),则在等概率下,删除一个元素平均需要移动的元素数为【 】。