我正在實現一個不同的字符串表示形式,其中以非順序方式訪問字符串的代價非常高。爲了避免這種情況,我嘗試實現某些位置緩存或字符塊,以便可以跳到某些位置並從那裏掃描。涉及隨機訪問字符串的重要算法?
爲了做到這一點,我需要一個從右到左掃描字符串或隨機訪問其字符的算法列表,因此我有一組測試用例來做一些實際的基準測試並創建一個模型我可以用來找到一個本地/全球最適合我的努力。
基本上我知道的:
String.charAt
String.lastIndexOf
String.endsWith
一種情況,其中一個需要從右到字符串的左側訪問解壓文件擴展名和路徑的文件名(項)。
對於隨機訪問,我根本找不到任何算法,除非有一個前綴表,並且訪問該字符串比隨機檢查所有這些位置的時間長於前綴字符串。
有沒有人知道其他算法要麼從右到左或隨機訪問字符串是必需的?
[更新] 使用每個字符計算一個字符串的哈希碼,並沿着該值從左到右訪問該值,並將其存儲在本地主變量中。所以這不是隨機訪問的東西。
此外,MD5或CRC算法也處理完整的字符串。所以我根本沒有找到任何隨機訪問的例子。
從右到左?我認爲,這並不是如何計算哈希值。 –
當然,這是一個從左到右但隨機的例子。我更新了帖子 –
訪問你的字符串,例如使用某種類型的散列,並不是一個算法,而是一個實現。你能整理你的問題的措辭,讓我們確切地知道你還需要繼續嗎? –