code-chronicles-code / code-chronicles-code/leetcode-curriculum

Investigate performance of delegating `yield` in tree traversals

Offen
#300 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
TypeScript
Sterne
20
Forks
12
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

It would be really cool if we could use `yield*` (TypeScript) and `yield from` (Python) or perhaps even `Stream.concat` (Java) in the tree traversal goodies to write the traversals recursively -- the code would read very naturally. However, I'm not sure about the performance implications of doing so.

Let's investigate the performance of these relative to the implementations that manage their own stack. If the recursive implementation is comparable in performance, then I think it should win on the grounds of the code being much nicer.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Die Issue nennt keine Dateien, Tests oder Einstiegspunkte; beginne damit, die Implementierungen der Baumdurchläufe zu finden, die ihre eigenen Stacks verwalten. Führe für diese Versionen Benchmarks im Vergleich zu rekursiven Baumdurchläufen mit TypeScript yield*, Python yield from und Java Stream.concat durch und berichte, ob die Performance vergleichbar ist und welche Implementierung bevorzugt werden sollte.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, python, typescript
Bereich
performance
Issue-Typ
Refactoring
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.