2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Homepage des Autors: Zhi Guyun kommt aus Xiu
Die zeitliche Komplexität beim Einfügen eines Elements in ein Array beträgt ().
A. O (1)
B. Über
C. O(log n)
D. O(n^2)
Bei der Heap-Sortierung beträgt die zeitliche Komplexität des Aufbaus eines maximalen Heaps ().
A. Über
B. O(n log n)
C. O(log n)
D. O(n^2)
Ein rot-schwarzer Baum ist eine Art von ().
A. Vollständiger Binärbaum
B. Ausgeglichener Binärbaum
C. Min-Heap
D. Maximaler Haufen
Welche der folgenden Aussagen zu Hash-Tabellen ist falsch ().
A. Die Suchzeitkomplexität der Hash-Tabelle beträgt O(1)
B. Die Komplexität der Einfügezeit der Hash-Tabelle beträgt O(1)
C. Hash-Tabellen können Konflikte lösen
D. Die Suchzeitkomplexität der Hash-Tabelle muss O(1) sein.
Bei der Graphdurchquerung beträgt die zeitliche Komplexität der Tiefensuche (DFS) bzw. der Breitensuche (BFS) ().
A. O(V + E) und O(V)
B. O(V^2) und O(V)
C. O(V + E) und O(V + E)
D. O(V) und O(V^2)
Die zeitliche Komplexität der Umkehrung einer einseitig verknüpften Liste beträgt ().
A. O (1)
B. Über
C. O(log n)
D. O(n^2)
In einem binären Suchbaum beträgt die zeitliche Komplexität des Löschens eines Knotens im ungünstigsten Fall ().
A. O (1)
B. Über
C. O(log n)
D. O(n log n)
Welcher der folgenden Sortieralgorithmen hat eine durchschnittliche Zeitkomplexität von O(n log n)()?
A. Blasensortierung
B. Schnelle Sortierung
C. Einfügungssortierung
D. Auswahlsortierung
In einem Binärbaum ist der Grad eines Knotens ().
A. Die Anzahl der untergeordneten Knoten dieses Knotens
B. Die Tiefe des Knotens
C. Die Höhe des Knotens
D. Die Ebene des Knotens
Der Hauptunterschied zwischen B-Baum und B+-Baum ist ().
A. Alle Knoten des B-Baums speichern Daten, während nur die Blattknoten des B+-Baums Daten speichern.
B. Der B-Baum ist ausgeglichener als der B+-Baum
C. Die Einfüge- und Löschvorgänge des B-Baums sind einfacher
D. Die Sucheffizienz des B+-Baums ist geringer
Bitte implementieren Sie eine Funktion, um festzustellen, ob eine verknüpfte Liste eine Palindrom-verknüpfte Liste ist.
def is_palindrome(head):
# 请在这里编写代码
Bitte schreiben Sie Code, um den Einfügevorgang im binären Suchbaum zu implementieren.
class TreeNode:
def __init__(self, key):
self.left = None
self.right = None
self.val = key
def insert(root, key):
# 请在这里编写代码
Implementieren Sie anhand eines Diagramms, das durch eine Adjazenzmatrix dargestellt wird, die Breitensuche (BFS).
def bfs(graph, start):
# 请在这里编写代码
Rot-Schwarz-Baum-Eigenschaften:
Wie rot-schwarze Bäume das Gleichgewicht bewahren:
Der Unterschied zwischen dynamischem Array und verknüpfter Liste:
Das Prinzip der Hash-Tabelle:
Bestimmen Sie, ob es sich bei der verknüpften Liste um eine Palindrom-verknüpfte Liste handelt:
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
Einfügungsvorgang im binären Suchbaum:
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
Breitensuche (BFS):
from collections import deque
def bfs(graph, start):
visited = [False] * len(graph)
queue = deque([start])
visited[start] = True
result = []
while queue: