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

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by kosmo987, 2 Mar 2011.

  1. kosmo987

    kosmo987 Member

    Joined:
    28 Apr 2010
    Messages:
    0
    Likes Received:
    6
    Reputations:
    1
    wdefqd
     
    #1 kosmo987, 2 Mar 2011
    Last edited: 24 Jan 2016
  2. Linkus

    Linkus Member

    Joined:
    20 Dec 2008
    Messages:
    168
    Likes Received:
    15
    Reputations:
    -1
    гугли обработку больших объёмов данных в памяти. Вот например чтото похожее http://habrahabr.ru/blogs/net/114495/
     
    1 person likes this.
  3. immortalist

    immortalist Member

    Joined:
    16 Jan 2010
    Messages:
    99
    Likes Received:
    64
    Reputations:
    37
    уже поднимался же вопрос, юзай массив бит, шикарное решение.
     
  4. FEV

    FEV Member

    Joined:
    23 Sep 2009
    Messages:
    15
    Likes Received:
    7
    Reputations:
    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 person likes this.