几个有关数据结构的简单问题,多谢指点!

来源:百度知道 编辑:UC知道 时间:2024/07/16 12:11:33
1,如果将矩阵A(n*n)的每一列看成一个子表,整个矩阵看成是一个广义表L,即L=((a11,a21,...,an1),(a12,a22,...,an2),...,(a1n,a2n,...,ann)),并且可以通过求表头head和求表尾tail的运算求取矩阵中的每一个元素,则求得a21的运算是():
A,head(tail(head(L))) B,head(head(head(L)))
C,tail(head(tail(L))) D,head(head(tail(L)))
2,已知散列表的存储空间为T[0...18],散列函数H(key)=key%17,并用二次探测法处理冲突.散列表中已插入下列关键字:T[5]=39,T[6]=57,T[7]=7,则下一个关键字23插入的位置是:( )
3,将两个长度分别为m和n的递增有序单链表,归并成一个按元素递减有序的单链表,可能达到的最好的时间复杂度是( ).
提前谢谢啦!

1、A 。head(L)=(a11,a21,...,an1);
再取表尾=(a21...,an1)
再取表头=a21
所以是head(tail(head(L)))

2、T[8]
23%17=6,因T[6]已有数据,因此向后搜索空位,T[7]有数据,继续向后搜索,T[8]空,因此插入T[8].

3、O(m*log2n)(m乘以2为底的n的对数)或O(n*log2m),即有序表的插入问题,完成后转置即可。