Hachage parfait

Est-il difficile de trouver un article par clé?





Cela dépend de la structure de données à utiliser.





Dans une seule liste chaînée, complexité linéaire.





Dans un tableau trié ou dans un arbre de recherche binaire, consignez la complexité.





Dans une table de hachage, la complexité est constante. Mais c'est au mieux. Et au pire ... a tendance à être linéaire ...





-, ?





- . , - , - , , , -.





! , .

, " " 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