Sobes.tech
Junior — Middle

Чӣ ном дорад вақте ки барои як хеш дар ҷадвали хеш чанд арзиши гуногун нигоҳ дошта мешавад?

sobes.tech AI

Ҷавоб аз AI

Вазъият, ки дар он барои як хеш дар ҷадвали хеш чанд арзиши гуногун нигоҳ дошта мешавад, коллизия номида мешавад.

Коллизия рух медиҳад, вақте ки калидҳои гуногун ҳангоми ҳисоб кардани функсияи хеш натиҷаи якхела (хеш) медиҳанд. Азбаски ҷадвали хеш барои дастрасии зуд ба маълумот истифода мешавад, зарур аст, ки коллизияҳоро самаранок идора кард.

Маслиҳатҳои намунавӣ барои идоракунии коллизия:

  • Занҷирбандӣ (chaining) — дар ҳар ҳуҷраи ҷадвали хеш рӯйхати ҳамаи унсурҳо бо ҳамин хеш нигоҳ дошта мешавад.
  • Пайвастшавии кушод (open addressing) — дар ҳолати коллизия, ҷустуҷӯи ҳуҷраи ояндаи озод мувофиқи қоида муайян (хаттиӣ, квадратики ва ғайра).

Дар iOS ва Swift, коллизияҳо дар луғатҳо (Dictionary) тавассути механизмҳои дохилӣ, одатан бо занҷирбандӣ, идора карда мешаванд.