#2020. GESP六级第二次练习题单
GESP六级第二次练习题单
- 有关下图的二叉树,说法正确的是( )。
{{ select(1) }}
- 既是完全二叉树也是满二叉树。
- 既是二叉搜索树也是平衡二叉树。
- 非平衡二叉树。
- 以上说法都不正确。
- N个节点的二叉搜索树,其查找的平均时间复杂度为( )。 {{ select(2) }}
- O(1)
- O(N)
- O(logN)
- O()
- N个节点的双向循环链,在其中查找某个节点的平均时间复杂度是( ){{ select(3) }}
- O(1)
- O(N)
- O(logN)
- O()
- 有关下⾯C++代码的说法正确的是( ) {{ select(4) }}
- 上述代码构成单向链表
- 上述代码构成双向链表
- 上述代码构成循环链表
- 上述代码构成指针链表
- 有关下⾯C++代码不正确的说法是( )
{{ select(5) }}
- 该代码可⽤于求解⼆叉树的深度
- 代码中函数 Depth( ) 的参数 T 表示根节点,非根节点不可以作为参数
- 代码中函数 Depth( ) 采⽤了递归⽅法
- 代码中函数 Depth( ) 可⽤于求解各种形式的二叉树深度,要求该二叉树节点⾄少有 left 和 right 属性
- 下⾯有关树的存储 ,错误的是( ) {{ select(6) }}
- 完全⼆叉树可以⽤ list 存储
- ⼀般⼆叉树都可以⽤ list 存储,空⼦树位置可以⽤ None 表⽰
- 满⼆叉树可以⽤ list 存储
- 树数据结构,都可以⽤ list 存储
7 .构造⼆叉树 [1,2,3,null,4]() {{ select(7) }}
- 1(2()(4))(3)
- 1(2(3)())(4)
- (1,2(3),(4))
- (1,(2)(3),(4))
- 队列中,元素的添加和删除是按照( )原则进行的。{{ select(8) }}
- 先进先出
- 先进后出
- 最小值先出
- 随机进出
- 以下代码希望能在一棵二叉排序树中搜索特定的值,请在横线处填入( ),使其能正确实现相应功能。{{ select(9) }}
- target < root->left
- target < root->val
- target > root->val
- target > root->left
- 一个有 124 个叶子节点的完全二叉树,最多有( )个结点。{{ select(10) }}
- 247
- 248
- 249
- 250
- 下面的代码片段用于反转单链表,请进行( )修改,使其能正确实现相应功能。{{ select(11) }}
- current->next = next; 应该改为 current->next = prev;
- ListNode* next = current->next; 应该改为 ListNode* next = prev->next;
- current != nullptr 应该改为 current->next != nullptr
- ListNode* prev = nullptr; 应该改为 ListNode* prev = head;
- 向一个栈顶为hs的链式栈中插入一个指针为s的结点时,应执行( )。
{{ select(12) }}
- hs->next = s;
- s->next = hs; hs = s;
- s->next = hs->next; hs->next = s;
- s->next = hs; hs = hs->next;
- 下面定义了一个循环队列的类,请补全判断队列是否满的函数,横向上应填写( )。
{{ select(13) }}
- return (rear + 1) % capacity == front;
- return rear % capacity == front;
- return rear == front;
- return (rear + 1) == front;
- 一棵5层的满二叉树中节点数为( )。
{{ select(14) }}
- 31
- 32
- 33
- 16
- 有些算法或数据结构在 C/C++语⾔中使⽤指针实现,⼀个典型的例⼦就是链表。因此,链表这⼀数据结构在 C/C++语⾔中只能使⽤指针来实现。( ) {{ select(15) }}
- 正确
- 错误
- 二叉搜索树的左右⼦树也是二叉搜索树。( )。 {{ select(16) }}
- 正确
- 错误
- 二叉搜索树查找的平均时间复杂度为o(logN)。() {{ select(17) }}
- 正确
- 错误
- ⼆叉搜索树可以是空树(没有任何节点)或者单节点树(只有⼀个节点),或者多节点。如果是多节点,则左节点的值小于父节点的值,右节点的值大于父节点的值,由此推理,右节点树的值都大于根节点的值,左节点树的值都小于根节点的值。() {{ select(18) }}
- 正确
- 错误
- 同样的整数序列分别保存在单链表和双向链中,这两种链表上的简单冒泡排序的复杂度相同。 () {{ select(19) }}
- 正确
- 错误
- 完全二叉树的任意一层都可以不满。 {{ select(20) }}
- 正确
- 错误
- 删除单向链表中的节点,只需知道待删除节点的地址即可,无需访问前一个节点。 {{ select(21) }}
- 正确
- 错误
- 二叉搜索树的查找操作的时间复杂度是 𝑂(N)。{{ select(22) }}
- 正确
- 错误
- n个节点的双向循环链表,在其中查找某个节点的平均时间复杂度是O(logn)( ) {{ select(23) }}
- 正确
- 错误
- 完全二叉树可以用数组存储数据。( ) {{ select(24) }}
- 正确
- 错误