[c#] как сделать blacklist?

Обсуждение в разделе «С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby», начал(-а) kosmo987, 2.03.2011.

  1. kosmo987

    kosmo987 Member

    Регистрация:
    28.04.2010
    Сообщения:
    0
    Одобрения:
    6
    Репутация:
    1
    wdefqd
     
    #1 kosmo987, 2.03.2011
    В последний раз редактировалось: 24.01.2016
  2. Linkus

    Linkus Member

    Регистрация:
    20.12.2008
    Сообщения:
    168
    Одобрения:
    15
    Репутация:
    -1
    гугли обработку больших объёмов данных в памяти. Вот например чтото похожее http://habrahabr.ru/blogs/net/114495/
     
    Это одобряет 1 пользователь.
  3. immortalist

    immortalist Member

    Регистрация:
    16.01.2010
    Сообщения:
    99
    Одобрения:
    64
    Репутация:
    37
    уже поднимался же вопрос, юзай массив бит, шикарное решение.
     
  4. FEV

    FEV Member

    Регистрация:
    23.09.2009
    Сообщения:
    15
    Одобрения:
    7
    Репутация:
    0
    если в блеклисте нужно хранить целые числа, то лучше использовать не HashSet, а реализовать хеш таблицу руками - добавление и поиск будеть работать примерно в 2 раза быстрее. Вот хорошая хеш функция для uint:

    Code:
       private static uint HF(uint a)
            {
               a = (a+0x7ed55d16) + (a<<12);
               a = (a^0xc761c23c) ^ (a>>19);
               a = (a+0x165667b1) + (a<<5);
               a = (a+0xd3a2646c) ^ (a<<9);
               a = (a+0xfd7046c5) + (a<<3);
               a = (a^0xb55a4f09) ^ (a>>16);
               return a;
            }
    
     
    Это одобряет 1 пользователь.