Bir veri yapısı arıyorum, bu temelde bir harita ağacı, nerede her düğüm harita bazı yeni öğeler, hem de onun üst düğümün harita elemanları. Burada harita ile STL'de harita veya python'da dikte gibi anahtarlar ve değerler içeren bir programlama haritası kastediyorum.
Örneğin, bir kök düğüm olabilir:
root = {'car':1, 'boat':2}
ve her biri üst haritaya bir öğe ekleyen 2 çocuk
child1 = {'car':1, 'boat':2, 'jet':35}
child2 = {'car':1, 'boat':2, 'scooter':-5}
Bu mümkün olduğunca alan verimli olmasını istiyorum, yani her düğümde ortaya çıkan haritanın tam bir kopyasını saklamak istemiyorum, ama ideal olarak arama hala O (log N), N toplam sayısı Düğümdeki öğeler, tüm ağaç değil.
Belki de bunun için kullanabileceğim akıllı bir karma işlevi olduğunu düşünüyordum, ama hiçbir şey bulamamıştım.
Saf yaklaşım, yeni eklenen girişleri her bir düğümdeki bir haritada saklamak ve daha sonra hiçbir şey bulunmazsa ağacı yukarı taşımak olacaktır. Bunu sevmiyorum çünkü ağaç derinliğine bağlı.