0
我有些稍大(幾KB,也許1 MB max)存儲在存儲器中的字符串,它們包含結構像下面的示例文本:允許在結構化文本中快速訪問子字符串的數據結構?
Def[prop=A, ... some more kv pairs]
SubDef[prop=B, ... some more kv pairs]
SubSubDef[prop=C, ... some more kv pairs]
... goes deeper ...
Def[prop=X, ... some more kv pairs]
SubDef[prop=Y, ... some more kv pairs]
SubSubDef[prop=Z, ... some more kv pairs]
... goes deeper ...
SubDef[prop=Y, ... some more kv pairs] <- yeah, SubDef can also be on level 1
SubSubDef[prop=Z, ... some more kv pairs]
我需要從文件中讀取這些字符串,然後「查詢」他們的數據。例如,查詢將是:Def[].SubDef[].prop[]
這將意味着給我所有prop
裏面的所有SubDef
這是在Def
內。
我的想法是當我閱讀文件結構時,我可以以某種方式索引表示結構的關鍵字。就像我可以保留所有Def
字符串的位置數組,所有SubDef
和所有SubSubDef
,所以當我需要搜索SubDef
屬性時,我可以跳轉到整個字符串中這些關鍵字的偏移量。
我想知道是否有一些通用的數據結構?基本上它是某種圖形?不是一棵樹,因爲SubDef
也可以在第1級。
爲了澄清,該字符串中有很多關鍵字,但我只關心它們的一個子集。
是否有任何通用數據結構來表示結構化字符串中的關鍵字偏移量?
我有時間重新審視這個問題,是的,我同意,這是有道理的,以它建模爲一棵樹。此外,我將跟蹤列表中的樹級別,以便我可以快速訪問N級的所有節點。感謝您的建議。 – Max