8.存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有
关(错)
9.直接选择排序是一种稳定的排序方法(错)
10.闭散列法通常比开散列法时间效率更高(错)
四、运算题
1.设有一个10 10的对称矩阵A,将其下三角部分按行存放在一个一维数组B中,A[0][0]
存放于B[0]中,那么A[8][5]存放于B中什么位置。
解:根据题意,矩阵A中当元素下标I与J满足I≥J时,任意元素A[I][J]在一维数组B 中的存放位置为I * (I + 1) / 2 + J,因此,A[8][5]在数组B中位置为
8 * (8 + 1) / 2 + 5 = 41。
2.这是一个统计单链表中结点的值等于给定值x的结点数的算法,其中while循环有错,
请重新编写出正确的while循环。
int count ( ListNode * Ha, ElemType x )
{ // Ha为不带头结点的单链表的头指针
int n = 0;
while ( Ha->link != NULL ) {
Ha = Ha->link;
if ( Ha->data == x ) n++;
}
return n;
}
解:while ( Ha != NULL ) {
if ( Ha->data == x ) n++;
Ha = Ha->link;
}
3.已知一棵二叉树的前序和中序序列,求该二叉树的后序序列。
3