Комментарии 3
Некорректно здесь говорить про то что сложнось O(1) в лучшем случае. О большое - это про то как ведет себя функция при сколь угодно больших значениях n. Как нетрудно видеть, после добавления 256 элементов в ваш хешмап, он гарантированно начнет расти линейно.
"Начнём с хэш-функции… функция получающая на вход любое количество байт и возвращающая при этом 1 байт"
Некорректное утверждение. То, что у вас хеш в 8 бит (что ужасно плохо и мало!), вообще никак не относится к определению хеш функции.
Ваш алгоритм тасовки массива при генерации table генерирует перестановки не равновероятно.
Ни слова про открытую/закрытую адресацию. Ничего про fill factor, про перехеширование...
Кстати, ваша таблица работает не за O(1), а за линию.
В общем, ужасная "хеш-таблица" и посредственная статья. В википедии и то лучше написано.
Простейшая реализация HashMap на Go