我一直在研究实现,但我不明白为什么会有偏移。我认为这很重要。
我正在学习 Sedgewick 教授的算法课程,现在我们正在讨论字符串。在讲座中,他简要讨论了 String 的实现,但他没有解释为什么会有偏移量(注意,如果讲座不在线,我肯定会问)。
似乎当人们在实现中创建一个 String 时,它被赋予了一个偏移量,我似乎无法理解为什么需要一个。即使出于子字符串的目的,我也不完全理解为什么会有偏移量。例如,显然,如果您创建一个 string "David"
,它真的是['X', 'X', 'D', 'a', 'v', 'i', 'd', 'X']
,或类似性质的东西,它被'X'
s 偏移。为什么是这样?