关于数据结构(C语言)的几个题
1.在含有n个结点的二叉树二叉链表中有____个空链域。
A. nB. n+1C. n-1D.(n+1)/2
2.在双向链表存储结构中,删除p所指的结点时须修改指针______.
A. P—>next—>prior=P—>prior;P—>prior—>next=P—>next;
B. P—>next=P—>next—>next;P—>next—>prior =P;
C. P—>prior—>next =P;P—>prior=P—>prior —>prior;
P—>prior =P—>next—>next;P—>next= P—>prior—>prior;
3. 在一个不带有头结点的非空单链表中,其结点形式为 (data,next),若要在指针q所指结点之后插入一个s指向的结点,则需执行下列语句序列:____。
4. 在有序表(12,24,36,48,60,72,84)中二分查找关键字72时所需进行的关键字比较次数为2。查找关键字最多比较的次数________。
5. 若按层次顺序将一棵有n个结点的完全二叉树的所有结点从1到n编号,那么当2i>n,则结点i无___;若2i+1>n,则结点i无____。
6. 完善下列程序中栈的类型定义部分;写出程序的运行结果。
# define sqstack_maxsize40
(顺序栈的类型定义)
main()
{ SqStackTpsq;
inti;
charch;
InitStack(&sq);
for(ch=’A’;ch<=’A’+12;ch++)
{Push(&sq,ch);
printf(“%c”,ch);
}
printf(“n”);
while(!EmptyStack(sq))
{Pop(&sq,&ch);
printf(“&c”,ch);
}printf(“n”);
}
7. 试给出基于以下算法原理的数制转换类C语言程序设计:
N = (N div d)×d + N mod d
其中,div是整除运算; mod是取余运算
8. 分别给出下图所示二叉树的先根、中根和后根序列。
sq->top++,sq->data[sq->top]
本人一点都不会,谢谢大家~~大题希望能给出详细过程~~~ (目前只有5分,一会我会去赚分,再追加!!)
第八题不用做~