実装を見てきましたが、オフセットがある理由がわかりません。重要だと思います。
私は Sedgewick が教えるアルゴリズムのコースを受講しており、今は文字列について話しています。講義の中で、彼は String の実装について簡単に説明しましたが、オフセットがある理由については触れていません (注: 講義がオンラインでなければ、私は間違いなく尋ねたはずです)。
実装内で文字列を作成すると、オフセットが与えられるように見えますが、なぜオフセットが必要なのか理解できないようです。部分文字列の目的であっても、オフセットがある理由についてはよくわかりません。たとえば、どうやら string を作成した場合"David"
、それは実際には['X', 'X', 'D', 'a', 'v', 'i', 'd', 'X']
、またはその性質のものであり、s によってオフセットされ'X'
ます。どうしてこれなの?