🎁 Meld je nu aan en krijg maximaal 30 minuten gratis online AI-gebruik. Geen creditcard nodig.

Bellman Ford-algoritme: interviewgids voor coderen

August 18, 2026
Leer het Bellman Ford-algoritme, traceer edge-relaxatie, detecteer negatieve cycli, leg complexiteit uit en schrijf pseudocode die klaar is voor interviews.
Bellman Ford kortste-padtafel met herhaalde randontspanning
Bellman Ford-algoritme
kortste pad-algoritme
detectie van negatieve cyclussen
voorbereiding van coderingsinterviews

TL; DR: Het Bellman Ford-algoritme vindt de kortste paden van één bron in een gewogen gerichte grafiek, zelfs als sommige randen een negatief gewicht hebben. Initialiseer de bronafstand op nul, alle andere op oneindig, versoepel elke rand tot V min 1 keer en voer vervolgens één extra passage uit: elke verdere verbetering bewijst dat er een haalbare cyclus met negatief gewicht bestaat.

Bellman Ford-algoritme: interviewgids voor coderen

Leer het Bellman Ford-algoritme, traceer edge-relaxatie, detecteer negatieve cycli, leg complexiteit uit en schrijf pseudocode die klaar is voor interviews.

Probeer YesToTheOffer

Bellman Ford kortste-padtafel met herhaalde randontspanning

Wat is het Bellman Ford-algoritme?

Bellman Ford is een kortste-pad-algoritme in dynamische programmeerstijl. Na de eerste volledige passage gebruiken de bekendste paden maximaal één rand; na de tweede maximaal twee randen. Een eenvoudig pad bevat maximaal V min 1 randen, wat zowel het aantal lussen als het juistheidsargument verklaart. In tegenstelling tot het algoritme van Dijkstra gaat Bellman Ford niet uit van niet-negatieve randgewichten.

Hoe verklaar je randontspanning?

Voor een lijn van u naar v met gewicht w vraagt ​​de relaxatie zich af of afstand[u] + w kleiner is dan afstand[v]. Voer de optelling alleen uit als u bereikbaar bent. Als de kandidaat beter is, update dan afstand[v] en stel voorganger[v] in op u. De voorgaande array is optioneel voor afstanden, maar u kunt hiermee het daadwerkelijke pad reconstrueren en uw resultaat duidelijk uitleggen.

Bellman Ford-interviewchecklist voor afstanden, voorgangers en negatieve cycli

Hoe traceer je Bellman Ford in een interview?

Gebruik een kleine grafiek en schrijf één afstandsrij per doorgang. Begin met bron A op 0 en elk ander hoekpunt op oneindig. Scan de volledige randlijst in een consistente volgorde en registreer elke update. Stop vroeg als een hele pas geen wijzigingen aanbrengt. Wees expliciet dat de randvolgorde tussenliggende rijen kan veranderen, maar niet de uiteindelijke correcte afstanden als er geen bereikbare negatieve cyclus bestaat.

Welke pseudocode moet je schrijven?

Creëer afstands- en voorgangerarrays en herhaal vervolgens een volledige randscan V minus 1 keer. Gebruik een gewijzigde vlag voor vroegtijdige beëindiging. Scan ten slotte nog een keer alle randen en rapporteer een negatieve cyclus als de bereikbare afstand nog kan verbeteren. Kies in de productiecode een numeriek type dat padsommen kan bevatten en de oneindigheidswacht bewaakt vóór toevoeging.

Wat zijn de complexiteiten in tijd en ruimte?

De standaardimplementatie van de aangrenzende randlijst wordt uitgevoerd in O(VE)-tijd omdat deze E-randen kan scannen bij elk van V minus 1 doorgangen, plus één detectiedoorgang. Het gebruikt O(V)-hulpruimte voor afstanden en voorgangers. Vroegtijdig stoppen verbetert gunstige inputs, maar de worstcasegrens blijft O(VE).

InterviewbeslissingGebruik Bellman Ford wanneerGeef de voorkeur aan een andere aanpak wanneer
RandgewichtenEr kunnen negatieve randen optredenAlle randen zijn niet-negatief en snelheid is belangrijk
CyclusvereisteDetecteer een bereikbare negatieve cyclusCyclusdetectie is niet vereist
ComplexiteitO(VE) is acceptabelDe grafiek is te groot of te compact voor herhaalde scans

Wanneer kies je voor Bellman Ford in plaats van Dijkstra?

Kies Bellman Ford wanneer negatieve randgewichten zijn toegestaan ​​of wanneer de interviewer expliciet vraagt ​​om bereikbare detectie van negatieve cyclussen. Kies Dijkstra met een prioriteitswachtrij voor grafieken waarvan de randgewichten allemaal niet-negatief zijn, omdat deze normaal gesproken sneller zijn. Voor de kortste paden van alle paren moet u eerst de grafiekdichtheid, de negatieve gewichten verduidelijken en aangeven of paden of alleen afstanden vereist zijn.

Welke fouten moet je vermijden?

Ontspan niet vanuit een onbereikbaar hoekpunt, verwar een negatieve rand niet met een negatieve cyclus, of claim dat elke negatieve cyclus het resultaat ongeldig maakt: alleen een cyclus die bereikbaar is vanaf de bron heeft invloed op de kortste paden. Vermijd ook om alleen V min 2 passages uit te voeren, de laatste detectiepassage over te slaan of een pad te reconstrueren zonder voorgangers te behouden.

Hoe kun je de uitleg oefenen?

Oefen drie versies: een definitie van 30 seconden, een uitleg van de juistheid van twee minuten en een volledige implementatie. Test een onbereikbaar hoekpunt, één negatieve rand zonder cyclus, een bereikbare negatieve cyclus en een grafiek die vroeg stabiliseert. Dit scheidt de opgeslagen code van echt begrip.

Gebruik AI om materiaal dat u al begrijpt te ordenen, uitleg te oefenen en uw prestaties te beoordelen. Volg de regels van de werkgever en de assessmentaanbieder en verzin nooit ervaringen, cijfers of resultaten.

Ga verder met de AI-interview copilot-gids, cv-gegronde voorbereiding en workflow voor beoordeling na het interview.

Veelgestelde vragen

FAQ

Kan Bellman Ford omgaan met negatieve gewichten?

Ja. Het kan negatieve randgewichten aan. Het kan geen eindige kortste paden produceren voor hoekpunten die worden beïnvloed door een bereikbare cyclus met negatief gewicht. Daarom is de extra relaxatiepassage essentieel.

Waarom voert Bellman Ford V min 1 keer uit?

Elk eenvoudig pad heeft maximaal V min 1 randen. Na passage k heeft het algoritme rekening gehouden met de kortste paden met behulp van maximaal k randen, dus V minus 1 passages bestrijken elk eenvoudig kortste pad.

Hoe detecteert Bellman Ford een negatieve cyclus?

Scan na de normale passages elke rand nogmaals. Als een bereikbare afstand nog steeds kan afnemen, bestaat er een bereikbare cyclus van negatief gewicht omdat een eenvoudig pad al voltooid zou moeten zijn.

Wat is de complexiteit van Bellman Ford?

Het standaardalgoritme gebruikt O(VE)-tijd en O(V)-hulpruimte. Een vlag voor vroegtijdige exit kan de lus stoppen wanneer een volledige pass geen updates oplevert, maar verandert niets aan de worstcasegrens.

Is Bellman Ford beter dan Dijkstra?

Geen van beide is universeel beter. Bellman Ford ondersteunt negatieve gewichten en cyclusdetectie; Dijkstra is over het algemeen sneller als alle randgewichten niet-negatief zijn.

Oefen met bewijs, niet met een script

YesToTheOffer kan de voorbereiding en de realtime antwoordstructuur verwerken in uw cv, rolbeschrijving en privénotities, en vervolgens een transcript bewaren voor beoordeling na het interview.

Oefen met bewijs, niet met een script

YesToTheOffer kan de voorbereiding en de realtime antwoordstructuur verwerken in uw cv, rolbeschrijving en privénotities, en vervolgens een transcript bewaren voor beoordeling na het interview.

Probeer YesToTheOffer
Bellman Ford-algoritme: interviewgids voor coderen | yestotheoffer