#algorithm #clrs #rabin-karp
#алгоритм #clrs #рабин-карп
Вопрос:
Я читал Rabin Karp
алгоритм из Introduction To Algorithms
. Все имеет смысл, за исключением следующего.
In general, with a d-ary alphabet {0, 1, . . ., d - 1}, we choose q so
that dq fits within a computer word
Я не понимаю, что такое computer word
и каково значение подгонки dq within a computer word
в контексте этого алгоритма.
Я где-то читал, что это что-то связанное с математикой с одинарной точностью, но я тоже не понимаю single-precision math
.
Кто-нибудь может разобрать эти термины? Спасибо.
Комментарии:
1. A
computer word
— неоднозначный термин, он может означать байт, но он также может означать (и я думаю, что здесь это правильный смысл)processor word
, который представляет размер слова процессора (обычно 32 или 64 бита). Одинарная точность обычно относится кfloat
типу, в отличие от двойной точности, называемомуdouble
. В первом случае эти термины действительно зависят от аппаратного обеспечения, во втором — от реализации и языка.
Ответ №1:
Слово — это стандартный «тип», с которым имеет дело ваш компьютер.
На практике слово соответствует 64 битам (32 бита для старых компьютеров).