Hvordan kan jeg slette en node fra et BST?
Jeg trenger en algoritme for å gjøre det i Dr. Scheme.
Hvordan kan jeg slette en node fra et BST?
Jeg trenger en algoritme for å gjøre det i Dr. Scheme.
Forutsatt din binært søketre bruker rett frem imot celler med innhold bare på bladene, og forutsatt at du jobber med en hjemmelekse: Du kan bruke set-car!eller set-cdr!til å endre innholdet i en ulemper celle.
Du i utgangspunktet kaste BST du har nå, og opprette en ny sans elementet.
Du kan gjøre dette ved rekursivt ned treet. Dersom varen er mindre enn roten datum, skape en BST hvis rot og større-enn grenen kopieres fra det du har nå, men hvis mindre enn grenen er resultatet fra en rekursive kall.
Det er veldig lik hvordan du legger til en node, men når du kommer til den du søker etter, slå sammen de to BSTs under den og returnere resultatet. Det er sikkert eksisterende spørsmål om hvordan du gjør det allerede.