2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Tekijän kotisivu: Zhi Guyun tulee ulos Xiusta
Elementin lisäämisen aika monimutkaisuus taulukkoon on ().
A. O(1)
B. O(n)
C. O(log n)
D. O(n^2)
Keon lajittelussa maksimikeon rakentamisen aika monimutkaisuus on ().
A. O(n)
B. O(n log n)
C. O(log n)
D. O(n^2)
Punamusta puu on eräänlainen ().
A. Täydellinen binääripuu
B. Tasapainotettu binääripuu
C. Min-kasa
D. Max kasa
Mikä seuraavista hash-taulukoita koskevista väittämistä on virheellinen ().
A. Hajautustaulukon hakuajan monimutkaisuus on O(1)
B. Hajautustaulukon lisäysajan monimutkaisuus on O(1)
C. Hash-taulukot voivat ratkaista ristiriitoja
D. Hajautustaulukon hakuajan monimutkaisuuden on oltava O(1)
Kuvaajan läpikäymisessä syvyys-ensimmäisen haun (DFS) ja leveyshaun (BFS) aikakompleksisuus on () vastaavasti.
A. O(V + E) ja O(V)
B. O(V^2) ja O(V)
C. O(V + E) ja O(V + E)
D. O(V) ja O(V^2)
Yksisuuntaisen linkitetyn luettelon kääntämisen aika monimutkaisuus on ().
A. O(1)
B. O(n)
C. O(log n)
D. O(n^2)
Binäärihakupuussa solmun poistamisen pahimmassa tapauksessa aika monimutkaisuus on ().
A. O(1)
B. O(n)
C. O(log n)
D. O(n log n)
Millä seuraavista lajittelualgoritmeista on keskimääräinen aikamonimutkaisuus O(n log n)().
A. Kuplalajittelu
B. Nopea lajittelu
C. Lisäyslajittelu
D. Valinnan lajittelu
Binääripuussa solmun aste on ().
A. Tämän solmun lapsisolmujen lukumäärä
B. Solmun syvyys
C. Solmun korkeus
D. Solmun taso
Suurin ero B-puun ja B+-puun välillä on ().
A. Kaikki B-puun solmut tallentavat tietoja, kun taas vain B+-puun lehtisolmut tallentavat tietoja.
B. B-puu on tasapainoisempi kuin B+-puu
C. B-puun lisäys- ja poistotoiminnot ovat yksinkertaisempia
D. B+-puun hakutehokkuus on alhaisempi
Ota käyttöön toiminto, joka määrittää, onko linkitetty luettelo palindromiin linkitetty luettelo.
def is_palindrome(head):
# 请在这里编写代码
Kirjoita koodi toteuttaaksesi lisäystoiminnon binäärihakupuussa.
class TreeNode:
def __init__(self, key):
self.left = None
self.right = None
self.val = key
def insert(root, key):
# 请在这里编写代码
Toteuta leveysensimmäinen haku (BFS) käyttämällä vierekkäisyysmatriisin edustamaa kuvaajaa.
def bfs(graph, start):
# 请在这里编写代码
punaisen mustan puun ominaisuuksia:
Kuinka punamustat puut ylläpitävät tasapainoa:
Ero dynaamisen taulukon ja linkitetyn luettelon välillä:
Hash-taulukon periaate:
Selvitä, onko linkitetty luettelo palindromiin linkitetty luettelo:
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
Lisäystoiminto binäärihakupuussa:
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
Leveys ensin haku (BFS):
from collections import deque
def bfs(graph, start):
visited = [False] * len(graph)
queue = deque([start])
visited[start] = True
result = []
while queue: