Stacks voor overeenkomende haakjes
Haakjes met een stack valideren
Stacks voor overeenkomende haakjes is een gratis Competitive Programming Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Competitive Programming Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Competitive Programming Academy bevat in totaal 4 lessen.
Als laatste erin, als eerste eruit
Een stack is een stapel waarbij het laatste element dat je toevoegt het eerste is dat je verwijdert, net als bij opgestapelde borden. 🍽️
Python-lijsten zijn stacks
In Python heb je geen speciale klasse nodig. Een gewone lijst werkt al als een snelle, kant-en-klare stack voor wedstrijden.
stack = []Toevoegen met append
Om een element boven op de stack toe te voegen, roep je append aan. Die methode plaatst de waarde in O(1)-tijd aan het einde van de lijst.
stack.append('(')
stack.append('[')Van de bovenkant verwijderen
Als je pop zonder index aanroept, wordt het laatste element verwijderd en teruggegeven: het element dat het meest recent aan de stack is toegevoegd.
top = stack.pop() # removes '['Bekijken zonder verwijderen
Als je het bovenste element wilt bekijken zonder het weg te halen, lees je gewoon stack[-1]. Dit is handig voordat je besluit om pop aan te roepen.
if stack:
top = stack[-1]Controleer altijd of de stack leeg is
Een lege stack verwijderen veroorzaakt een foutmelding. Controleer vóór elke pop eerst if stack, zodat je oplossing nooit crasht.
Het idee achter haakjes koppelen
Haakjes nesten perfect, dus een stack ligt voor de hand. Voeg elk openend haakje toe en laat elk sluitend haakje overeenkomen met de bovenkant van de stack.
Sluitend aan openend koppelen
Houd een klein woordenboek bij dat elk sluitend haakje koppelt aan het openende haakje dat erbij hoort, zodat de controles duidelijk blijven.
pairs = {')': '(', ']': '[', '}': '{'}Doorlopen en beslissen
Doorloop de tekenreeks één keer. Voeg openende haakjes toe en vergelijk bij een sluitend haakje het verwijderde bovenste element met je pairs-koppeling.
for c in s:
if c in pairs.values():
stack.append(c)Een verschil betekent ongeldig
Als het verwijderde openende haakje niet overeenkomt, of de stack leeg is wanneer je die nodig hebt, is de tekenreeks meteen ongeldig.
elif not stack or stack.pop() != pairs[c]:
return FalseLege stack aan het einde
Een overgebleven openend haakje betekent na het doorlopen dat iets nooit is gesloten. De tekenreeks is alleen geldig wanneer de stack uiteindelijk leeg is.
return not stackSnelle controle
Je controleert haakjes met een stack. Wat betekent een niet-lege stack helemaal aan het einde?
Samenvatting: stacks temmen haakjes
Je hebt geleerd dat een lijst als stack werkt: voeg openende haakjes toe, verwijder elementen bij sluitende haakjes en zorg dat de stack aan het einde leeg is. Goed gedaan! 🎉
Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 30
- Lessen
- 120
Veelgestelde vragen
Is de les “Stacks voor overeenkomende haakjes” gratis?
Ja — de volledige tekst van “Stacks voor overeenkomende haakjes” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Competitive Programming Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Competitive Programming Academy bevat in totaal 4 lessen.
Wat leer ik in “Stacks voor overeenkomende haakjes”?
Haakjes met een stack valideren Je oefent met Competitive Programming Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Competitive Programming Academy te beginnen?
Ervaring vooraf is niet nodig. Competitive Programming Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Stacks voor overeenkomende haakjes”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Competitive Programming Academy?
Ja. Elke les over Competitive Programming Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Stacks voor overeenkomende haakjes
- Monotone stack: volgende grotere element
- Queues en collections.deque
- Maximum in een sliding window met deque