Функција сечења у Ц - Врсте техника решавања судара

Преглед садржаја:

Anonim

Увод у функцију лежања у Ц

Овај чланак има кратку напомену о хасхингу (хасх табела и хасх функција). Најважнији концепт је 'тражење' које одређује сложеност времена. Да би се смањила временска сложеност од било ког другог уведена је концепција распршивања структуре података која у просечном случају има О (1), а у најгорем случају требаће О (н) време.

Хасхинг је техника са бржим приступом елементима који мапирају дане податке са мањим кључем за поређење. Генерално, у овој техници, кључеви се помоћу хасх функције прате у табели познатој као хасх табела.

Шта је Хасх функција?

Хасх функција је функција која користи операцију сталног времена за спремање и преузимање вриједности из хасх таблице, која се на типке примјењује као цијели бројеви и која се користи као адреса за вриједности у хасх табели.

Врсте функционисања

Ниже су објашњене врсте хасх функција:

1. Метода поделе

У овом методу, хасх функција зависи од остатка поделе.

Пример: елементи који треба да се ставе у хасх табелу су 42, 78, 89, 64 и узмимо величину табеле као 10.

Хасх (тастер) = Елементи% величине табеле;

2 = 42% 10;

8 = 78% 10;

9 = 89% 10;

4 = 64% 10;

Приказ табеле може се видети као доле:

2. Метода средњег квадрата

У овој методи се средњи део квадратног елемента узима као индекс.

Елемент који треба да се постави у хеш табелу је 210, 350, 99, 890, а величина табеле је 100.

210 * 210 = 44100, индекс = 1 јер је средњи део резултата (44100) 1.

350 * 350 = 122500, индекс = 25 јер је средњи део резултата (122500) 25.

99 * 99 = 9801, индекс = 80 јер је средњи део резултата (9801) 80.

890 * 890 = 792100, индекс = 21 јер је средњи део резултата (792100) 21.

3. Начин савијања цифара

У овој методи елемент који се налази у табели ух је певање хасх кључа, који се добија дељењем елемената у различите делове, а затим комбиновањем делова извођењем неких једноставних математичких операција.

Елемент који треба да се постави је 23576623, 34687734.

  • хасх (кључ) = 235 + 766 + 23 = 1024
  • хасх кључ) = 34 + 68 + 77 + 34 = 213

Претпоставимо да у овим врстама хасх-а имамо бројеве од 1- 100 и величину хасх табеле = 10. Елементи = 23, 12, 32

Хасх (тастер) = 23% 10 = 3;

Хасх (тастер) = 12% 10 = 2;

Хасх (тастер) = 32% 10 = 2;

Из горњег примјера примјетите да оба елемента 12 и 32 упућују на 2. мјесто у табели, гдје није могуће написати оба на истом мјесту, такав проблем је познат и као колизија. Да би се избегли овакви проблеми постоје неке технике хасх функција које се могу користити.

Врсте техника решавања судара

Хајде да разговарамо о врстама техника решавања судара:

1. Везивање

У овој методи, као што име сугерира, пружа ланац кутија за запис у табели који садржи два уноса елемената. Дакле, кад год се догоди такав судар, оквири ће се понашати као повезана листа.

Пример: 23, 12, 32 са величином стола 10.

Хасх (тастер) = 23% 10 = 3;

Хасх (тастер) = 12% 10 = 2;

Хасх (тастер) = 32% 10 = 2;

2. Отворите Адресирање

  • Линеарно сондирање

Ово је још једна метода за решавање проблема судара. Као што име каже кад год се догоди судар, два елемента треба ставити на исти унос у табели, али овом методом можемо тражити следећи празан простор или унос у табели и поставити други елемент. Ово опет може довести до другог проблема; ако у табели не нађемо празан унос, онда то води у груписање. Стога је ово познато као проблем кластера, који се може решити следећом методом.

Пример: 23, 12, 32 са величином стола 10

Хасх (тастер) = 23% 10 = 3;

Хасх (тастер) = 12% 10 = 2;

Хасх (тастер) = 32% 10 = 2;

На овом дијаграму 12 и 32 могу се ставити у исти унос са индексом 2, али се овим поступком постављају линеарно.

  • Квадратно сондирање

Ова метода је решење проблема кластера током линеарног сондирања. У овом се методу хасх функција с хасх кључем израчунава као хасх (типка) = (хасх (типка) + к * к)% величине таблице (гдје је к = 0, 1, 2…).

Пример: 23, 12, 32 са величином стола 10

Хасх (тастер) = 23% 10 = 3;

Хасх (тастер) = 12% 10 = 2;

Хасх (тастер) = 32% 10 = 2;

У овоме можемо видети да се 23 и 12 могу лако поставити, али 32 не могу опет 12 и 32 да исти унос са истим индексом у табели, по овом методу хасх (тастер) = (32 + 1 * 1) % 10 = 3. Али у овом случају унос у табелу са индексом 3 поставља се са 23, тако да морамо вредност к повећати за 1. Хасх (тастер) = (32 + 2 * 2)% 10 = 6. Дакле, сада можемо да поставимо 32 уноса са индексом 6 у табели.

  • Двоструко мешање

Овом методом морамо израчунати 2 хасх функције да бисмо решили проблем судара. Прва се израчунава помоћу једноставне методе поделе. Друго мора да задовољи два правила; не смије бити једнак 0 и уноси се морају испитивати.

  • 1 (тастер) = тастер% величине табеле.
  • 2 (тастер) = п - (тастер мод п), где је п главни бројеви <величина табеле.

Пример: 23, 12, 32 са величином стола 10

Хасх (тастер) = 23% 10 = 3;

Хасх (тастер) = 12% 10 = 2;

Хасх (тастер) = 32% 10 = 2;

У овом случају се елемент 32 може поставити помоћу хасх2 (тастер) = 5 - (32% 5) = 3. Дакле, 32 се може поставити у индекс 5 у табели која је празна јер морамо прескочити 3 уноса да бисмо је поставили.

Закључак - Функција хеширања у Ц

Хасхинг је једна од важних техника у погледу претраживања података који се пружају врло ефикасним и брзим методама помоћу хасх функција и хасх табела. Сваки елемент се може претраживати и поставити помоћу различитих метода распршивања. Ова техника је веома брза од било које друге структуре података у погледу временског коефицијента.

Препоручени чланци

Ово је водич за функцију Хасхинг у Ц. Овде смо расправљали о увођењу Хасхинг функције у Ц, шта је Хасх функција, типови хасх функције итд. Такође можете проћи кроз остале предложене чланке да бисте сазнали више -

  1. Хасхинг у ДБМС-у
  2. Процес шифрирања
  3. Како инсталирати ЦакеПХП?
  4. Како функционише Блоцкцхаин
  5. Функција хеширања на Јави
  6. Хасхинг функција у ПХП | Како радити?