编写一个函数从一给定的元素类型为int的顺序表A中删除元素值在(x,y)之间 (x≤y,不包括x,y)的所有元素,要求以较高的效率来实现。
A.rear%n==front
B.front+l=rear
C.rear==front
D.(rear+l)%n=front
在一个长度为n的顺序存储的线性表中,向第i个元素(1≤i≤n+1)插入一个新元素时,需要从后向前依次后移()个元素。
A.n-i
B.n-i-1
C.n-i+1
D.i
二叉搜索树中,然后对树进行中序遍历,并将元素按序放人数组a中,为简单起见,假设a中的数据互不相同。试编写一个函数,从一棵二叉搜索树中删除最大元素。要求函数的时间复杂性必须是O(h),其中h是二叉搜索树的高度。
A.访问第i个元素(2≤i≤n)并求其前驱元素
B.在第i个元素之后插入一个新元素
C.删除第i个元素
D.将这n个元素递增排序
线性表可用顺序表或链表存储。试问:
(1) 两种存储表示各有哪此主要优缺点?
(2) 如果有n个表同时并存,并且在处理过程中各表的长度会动态发生变化,表的总数也可能自动改变,在此情况下,应选用哪种存储表示?为什么?
(3) 若表的总数基本稳定,且很少进行插人和删除,但要求以最快的速度存取表中的元素,这时,应采用哪种存储表示?为什么?