Hallo
Ik ben bezig met een custom (single user/single threaded) document databaseje, om van te leren.
Hierbij een probleem ivm binary search trees.
Ik wil een BST index maken van een bepaald veld op een class/document. (Voorlopig natuurlijk enkel primitives, ook geen strings.) Mijn huidige tree kan nodes bevatten met dezelfde key, waarbij deze steeds als right child gezet worden.
Nu is de vraag: als ik twee nodes heb, die beide het nummer 789 als key hebben, hoe kan ik dan weten welke node verwijst naar het document die ik daadwerkelijk heb aangepast en wens te bewaren? Node values scannen lijkt me een beetje tegennatuurlijk in dit verhaal. Ik dacht aan een omgekeerde tree, waarbij je dan dus als key een referentie hebt naar het document, en als value een referentie naar de node in de originele BST index.
Klopt deze redenering, of is dit gewoon volledig not done?
Enige raad is welkom.
Ik ben bezig met een custom (single user/single threaded) document databaseje, om van te leren.
Hierbij een probleem ivm binary search trees.
Ik wil een BST index maken van een bepaald veld op een class/document. (Voorlopig natuurlijk enkel primitives, ook geen strings.) Mijn huidige tree kan nodes bevatten met dezelfde key, waarbij deze steeds als right child gezet worden.
Nu is de vraag: als ik twee nodes heb, die beide het nummer 789 als key hebben, hoe kan ik dan weten welke node verwijst naar het document die ik daadwerkelijk heb aangepast en wens te bewaren? Node values scannen lijkt me een beetje tegennatuurlijk in dit verhaal. Ik dacht aan een omgekeerde tree, waarbij je dan dus als key een referentie hebt naar het document, en als value een referentie naar de node in de originele BST index.
Klopt deze redenering, of is dit gewoon volledig not done?
Enige raad is welkom.