#1452. 排序·单选训练1(3)

排序·单选训练1(3)

排序·单选训练1(3)

第 1 题(单选)

代码实现了二叉排序树的插入函数(假设没有相同数值),横线处填入()。

Node* insert(Node* root, int val) {
if (root == nullptr) return new Node(val);
if (val val) root->left = insert(________, val);
else root->right = insert(root->right, val);
return root;
}

{{ select(1) }}

  • root->left
  • root->right
  • root
  • nullptr

第 2 题(单选)

代码实现一个二叉排序树的插入函数(没有相同的数值),横线处应填入()。

Node* insert(Node* root, int val) {
if (root == nullptr) return new Node(val);
if (val val) root->left = insert(root->left, val);
else root->right = insert(________, val);
return root;
}

{{ select(2) }}

  • root->left
  • root->right
  • root
  • nullptr

第 3 题(单选)

对二叉排序树进行中序遍历得到的序列是()。

{{ select(3) }}

  • 递增序列
  • 递减序列
  • 先递增后递减
  • 随机序列

第 4 题(单选)

下列排序算法中,平均时间复杂度为 O(n log n) 的是()。

{{ select(4) }}

  • 冒泡排序
  • 插入排序
  • 快速排序
  • 选择排序

第 5 题(单选)

下面关于二叉排序树查找的描述,正确的是()。

{{ select(5) }}

  • 查找操作最坏情况下的时间复杂度是 O(log n)
  • 查找操作最好情况下的时间复杂度是 O(1)
  • 查找操作的时间复杂度与树的形状无关
  • 查找操作只能递归实现