XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
Stiletto
loading...
offline
Опыт: 17,202
Активность:
Лимит количества значений Хеш-таблицы
Наверняка обсуждалось, но в поиске не хотело находиться: Каков предел каждого из значений хеш-таблицы? И что будет если пользоваться многамиллионными значениями? Атата будет? или нет..
Старый 24.01.2015, 21:33
Extremator

offline
Опыт: 39,428
Активность:
сейчас ворвутся госу с фразами "а сам попробовать?", "попробуй и проверь сам", "где ваши попытки?"
:D а ведь и правда...
Старый 25.01.2015, 01:17
Кет

offline
Опыт: 111,109
Активность:
Наверняка обсуждалось, но в поиске не хотело находиться: Каков предел каждого из значений хеш-таблицы? И что будет если пользоваться многамиллионными значениями? Атата будет? или нет..
Так я не понял, речь идёт о количестве значений или о величине самого значения?
Старый 25.01.2015, 02:29
quq_CCCP
Я белый и пушистый!
offline
Опыт: 93,259
Активность:
Вроде Диод уже писал, что число ячеек в хештаблице такой-же как и в обычном массиве, 8193..
А вот тема уже была, можно и поискать.
Старый 25.01.2015, 04:43
Stiletto
loading...
offline
Опыт: 17,202
Активность:
серьезно, я искал, честно) И так и думал, что лимит такой же как в массиве) Интуиция не подводит спасибо)
Старый 25.01.2015, 09:04
ScorpioT1000
Работаем
offline
Опыт: отключен
ScorpioT1000 добавил:
ну в варкрафте хз, может быть 4 миллиарда наверно int 32
Старый 25.01.2015, 20:17
adic3x

offline
Опыт: 108,439
Активность:
#include "cj_types.j"

hashtable h = InitHashtable ();
int a = 0, b = 0, i, n;

callback onInit () {
    TimerStart (CreateTimer(), .0001, true, lambda nothing () {
        i = GetRandomInt (0x00000000, 0xffffffff);
        SaveInteger (h, a, b, i);
        if (LoadInteger(h, a, b) != i) {
            BJDebugMsg ("Fail!");
        };
        if (GetRandomInt(0, 1) == 0) {
            if (++a == 0x7fffffff) { a = 0; }
        } else {
            if (++b == 0x7fffffff) { b = 0; }
        }
    });
    TimerStart (CreateTimer(), .25, true, lambda nothing () {
        n = a + b
        if (n > 0) {
            BJDebugMsg (I2S(n));
        } else {
            BJDebugMsg ("Over 900000000000000000000000000000000000!");
            DestroyTimer (GetExpiredTimer());
        }
    });
}

Отредактировано ADOLF, 25.01.2015 в 20:57.
Старый 25.01.2015, 20:37
Stiletto
loading...
offline
Опыт: 17,202
Активность:
Зачем такие страшные статьи шлешь, так и мозг сломать можно
Старый 25.01.2015, 20:40
adic3x

offline
Опыт: 108,439
Активность:
Количество записей фактические не ограничено. Я прогнал до двух миллионов записей, можете сделать имба цикл, который попробует забить 64 битное (2 по 32) пространство адресов ;)
Старый 25.01.2015, 21:01
Stiletto
loading...
offline
Опыт: 17,202
Активность:
благодарю милорд) Моей скромной карте хватит и 8193 значений)
Старый 25.01.2015, 21:06
ScorpioT1000
Работаем
offline
Опыт: отключен
вар 32 битный же
Старый 25.01.2015, 22:55
adic3x

offline
Опыт: 108,439
Активность:
вар 32 битный же
Ключа то два, т. е. теоретически мы можем в один хеш писать 2^64 ячейки.
Старый 26.01.2015, 01:04
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 10:13.