моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Домашняя страница автора: Чжи Гуюнь выходит из Сю
Временная сложность вставки элемента в массив равна ().
А. О(1)
Б. О(н)
С. O(log n)
D. O(n^2)
При сортировке кучи временная сложность построения максимальной кучи равна ().
А. О(н)
Б. O(n log n)
С. O(log n)
D. O(n^2)
Красно-черное дерево — это разновидность ().
А. Полное двоичное дерево
Б. Сбалансированное бинарное дерево
C. Мин-куча
D. Макс. куча
Какое из следующих утверждений о хеш-таблицах неверно ().
А. Сложность времени поиска хеш-таблицы равна O(1).
B. Сложность времени вставки хеш-таблицы равна O(1).
C. Хэш-таблицы могут разрешать конфликты
D. Сложность времени поиска хеш-таблицы должна быть O(1).
При обходе графа временная сложность поиска в глубину (DFS) и поиска в ширину (BFS) равна () соответственно.
А. O(V + E) и O(V)
Б. O(V^2) и O(V)
C. O(V + E) и O(V + E)
D. O(V) и O(V^2)
Временная сложность обращения одностороннего связанного списка равна ().
А. О(1)
Б. О(н)
С. O(log n)
D. O(n^2)
В бинарном дереве поиска наихудшая временная сложность удаления узла равна ().
А. О(1)
Б. О(н)
С. O(log n)
D. O(n log n)
Какой из следующих алгоритмов сортировки имеет среднюю временную сложность O(n log n)().
А. Пузырьковая сортировка
Б. Быстрая сортировка
C. Сортировка вставками
D. Сортировка выбором
В бинарном дереве степень узла равна ().
A. Количество дочерних узлов этого узла
Б. Глубина узла
C. Высота узла
D. Уровень узла
Основное различие между B-деревом и B+-деревом заключается в ().
A. Все узлы дерева B хранят данные, а данные хранят только конечные узлы дерева B+.
B. B-дерево более сбалансировано, чем B+-дерево.
C. Операции вставки и удаления B-дерева проще.
D. Эффективность поиска по дереву B+ ниже.
Пожалуйста, реализуйте функцию, чтобы определить, является ли связанный список связным списком-палиндромом.
def is_palindrome(head):
# 请在这里编写代码
Напишите, пожалуйста, код для реализации операции вставки в двоичное дерево поиска.
class TreeNode:
def __init__(self, key):
self.left = None
self.right = None
self.val = key
def insert(root, key):
# 请在这里编写代码
Учитывая граф, представленный матрицей смежности, реализуйте поиск в ширину (BFS).
def bfs(graph, start):
# 请在这里编写代码
Свойства красного черного дерева:
Как красно-черные деревья сохраняют баланс:
Разница между динамическим массивом и связанным списком:
Принцип хеш-таблицы:
Определите, является ли связанный список связным списком-палиндромом:
class ListNode:
def __init__(self, x):
self.val = x
self.next = None
def is_palindrome(head):
# 使用快慢指针找到链表中点
slow = fast = head
while fast and fast.next:
slow = slow.next
fast = fast.next.next
# 反转后半部分链表
prev = None
while slow:
temp = slow.next
slow.next = prev
prev = slow
slow = temp
# 比较前半部分和后半部分
left, right = head, prev
while right:
if left.val != right.val:
return False
left = left.next
right = right.next
return True
Операция вставки в двоичное дерево поиска:
class TreeNode:
def __init__(self, key):
self.left = None
self.right = None
self.val = key
def insert(root, key):
if root is None:
return TreeNode(key)
if key < root.val:
root.left = insert(root.left, key)
else:
root.right = insert(root.right, key)
return root
Поиск в ширину (BFS):
from collections import deque
def bfs(graph, start):
visited = [False] * len(graph)
queue = deque([start])
visited[start] = True
result = []
while queue: