Hash perfecto

¿Qué tan difícil es encontrar un artículo por clave?





Depende de la estructura de datos que se utilice.





En una lista enlazada individualmente, complejidad lineal.





En una matriz ordenada o en un árbol de búsqueda binaria, registra la complejidad.





En una tabla hash, la complejidad es constante. Pero esto es lo mejor. Y en el peor ... tiende a ser lineal ...





-, ?





- . , - , - , , , -.





! , .

, " " OTUS , -.






- . , - . , !





, , - “dog”, -, , , , “” !





?

, 10.000 -. - 10.000 . “” --, , ? , , “” . 





- “(A * k + B) % N”



, A







, “” - . k



- (ulong) , N - .





.





“”,   - “”, .





. “” “”, - “”. “ ”, .





“” “”.





, , “” () “” . , . 





, 100 10.000 10.





,







- “(A * k + B) % N”



. “”, . “” () “”.





K “”



“”. “ ” A



B



K , (, - ). “” -, “”.





!





- :





  1. “” i



    - k: “(A * k + B) % N”



    .





  2. : Ai



    , Bi



    ,



    .





  3. “” : “(Ai * k + Bi) % K²







  4. “”.





( , ) “” , .





, “” -. , ( ).





, , - N = 10 . 0 10 . , .





: “” N



, “” - 1.9 * N



. : 2.9 * N = (N)



- .





, -, -- () - , .






. 15 Demo Day " " OTUS, .





, :





  • - —





  • -









  • . Bitboard












All Articles