我需要在c ++中保存这些字符串,并且需要进行名称比较。有没有算法来减少内存使用量?感谢。
x1.x2.x3.r1 //典型的字符串长度大于50。
x1.x2.x3.r2
x1.x2.x3.r3
x1.x2.x4.r1
...
我自己有这样的计划:将一个字符串分成两部分:“x1.x2.x3.r1”=“x1.x2.x3。” (A)+“r1”(B),A可以用于其他字符串。而比较名称需要比较两部分。我不确定它是否可行。
答案 0 :(得分:1)
如何将它们存储在树中?
每个节点将代表以点分隔的字符串的下一部分。
然后,在比较时,比较节点的祖先。