一口气继续做……… 1.以下哪种结构是逻辑结构,而与存储和运算无关: 图 循环链表 顺序表 双向链表 这题选“图”~没啥说的…… 2.已知两个元素依值递增有序排列的线性表A和B,且同一表中的元素值各不相同。构造一个线性表C,其元素为A和B中元素的交集,且表C中的元素也依值递增有序排列。已知A和B的最大长度都是n。求你设计的高效算法的时间复杂度: On∗n Ologn On On 由于A和B都是有序数列,我们只需要从A的第一项开始与B的第一项比较,如果相同则放入C,如果A>B则B前进一位继续比,如果A<B则A前进一位继续比,这样就能在2n的时间内完成查找,因此选O(n)。 3.下面的叙述中正确的是: 线性表在顺序存储时,查找第i个元素的时间与i的数值无关。 线性表在链式存储时,插入第i个元素的时间与i的数值成正比。 线性表在顺序存储时,插入第i个元素的时间与i的数值成正比。 线性表在顺序存储时,删除第i个元素的时间与i的数值无关。 选第一、第二,顺序表优点是随机查找,链表优点是存储空间灵活,可动态。 第三个,要把后面的所有元素移动,时间与n-i+1成正比,n是线性表的规模。 第四个,顺序表要删除表中元素时需要将之后所有元素前移。 4.某个线性表以顺序表形式实现,长度为n,现在按值查找元素,假设线性表中没有该值的概率为p,且要查找的值在线性表中等概率出现。则平均比较次数为: p∗n+(1−p)∗(n+1) p∗n+(1−p)∗(n+1)/2 p∗n+(1−p)∗(n+1)/4 p∗n+p∗(n+1)/2 选第二个,没有的概率为p,如果没有就要比n次,是p*n,如果有的话,就是1-p的概率,可能比较1,2,3...n次,总共(1+n)*n*0.5,算平均再除以n,于是加起来就是p*n+(1-p)*(1+n)*0.5 5.某个线性表存储元素如下:a0,a1,a2,a3,a4,a5,a6,a7,a8。如果该线性表以顺序表形式实现,那么在ai0≤i≤9的位置插入新元素,需要移动的元素个数为: 8−i i 9−i i+1 选第三个,插到哪就要把后面的所有元素挪一下,于是就要挪9-i次。 6.某个线性表存储元素如下:a0,a1,a2,a3,a4,a5,a6,a7,a8。如果该线性表以单链表形式实现(含头结点),已知头指针,那么在 ai0≤i≤9前的位置插入新元素,需要移动指针的次数为: 9−i i 8−i i+1 选第二个,在哪插入就要把指针挪到哪。 …