CSP-J12023入门级第一轮
假设有一个链表的节点定义如下:
struct Node {
int data;
Node* next;
};
现在有一个指向链表头部的指针:Node* head。如果想要在链表中插入一个新节点,其成员data的值为42,并使新节点成为链表的第一个节点,下面哪个操作是正确的?( A)
A. Node* newNode = new Node; newNode->data = 42; newNode->next = head; head = newNode;
B. Node* newNode = new Node; head->data = 42; newNode->next = head; head = newNode;
C. Node* newNode = new Node; newNode->data = 42; head->next = newNode;
D. Node* newNode = new Node; newNode->data = 42; newNode->next = head;
答案:首先先定义一个newNode
,然后再把newNode赋值为42,下一步将newNode
的下一个指向头,最后将head
指向newNode
根节点的高度为1,一棵拥有2023个节点的三叉树高度至少为(8)。
一棵高度为n的满三叉树的结点个数为3的n次方-1除以2 ,因此高度为7的满三叉树拥有1093个节点,高度为8的满三叉树拥有3280个节点,那么一棵拥有2023个节点的三叉树高度至少为8。
在计算机中,以下哪个选项描述的数据存储容量最小?(B)
A. 字节(byte)
B. 比特(bit)
C. 字 (word)
D. 千字节(kilobyte)
假设有一组字符{a,b,c,d,e,f}
,对应的频率分别为5%,9%,12%,13%,16%,45%。请问以下哪个选项是字符a,b,c,d,e,f分别对应的一组哈夫曼编码?(A)
A. 1111,1110,101,100,110,0
B. 1010,1001,1000,011,010,00
C. 000,001,010,011,10,11
D. 1010,1011,110,111,00,01
根据对应频率构建的哈夫曼树如图所示:
给定一棵二叉树,其前序遍历结果为:ABDECFG,中序遍历结果为:DEBACFG。请问这棵树的正确后序遍历结果是什么?(A)
A. EDBGFCA
B. EDGBFCA
C. DEBGFCA
D. DBEGFCA
通过前序遍历确定根节点,然后在中序遍历中确定左右子树,重复这个过程可以惟一确定一棵二叉树如下图所示:
后序遍历的结果为:EDBGFCA