Іздеу есептерінің шешілімі. іздеу: қайтару арқылы теріп алу туралы ақпарат


ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ

СЕМЕЙ ҚАЛАСЫНЫҢ ШӘКӘРІМ АТЫНДАҒЫ МЕМЛЕКЕТТІК УНИВЕРСИТЕТІ

ЖАРАТЫЛЫСТАНУ - МАТЕМАТИКА ФАКУЛЬТЕТІ ИНФОРМАТИКА КАФЕДРАСЫ

СӨЖ

Тақырыбы Іздеу есептерінің шешілімі. Іздеу: қайтару арқылы теріп алу.

Орындаған: Т-341 топ студенті

Құнанбаева Әсел

Тексерген: Аргынгазина Ж. Н

Семей қаласы,

2015 жыл


Жоспар:

  1. Ақпараттық іздеудің қарапайым есебі
  2. AVL-ағаштар және толыққа жуық бинарлы ағаштар
  3. Бинарлы ағаштар қолданыстары және жалпылаулары

Ақпараттық іздеудің қарапайым есебі

Іздеу әдістері және іздеумен байланысты есептерді зерттеу мәселесі, зерттеулердің жеке және қызықты бағыттарының бірі. Қарапайым ақпаратты іздеу есебін қарастырайық. Мысалы, университеттің мех-мат факультетінің барлық 1-ші курс студенттерінің ішінен берілген РНН1 арқылы немесе сынақ кітапшасының нөмері арқылы осы нөмірге несеае РНН-ге сәйкес студентті табу қажет болсын. Осы қойылған есеп қарпайым шешімге ие бола алады. Мысалы, қарапайым тізбектеп қарастыру әдісін қолданып, студенттер тіркелген кестеден тізбектеп барлық студенттердің РНН-нің ішінен берілген РНН-ді салыстыра тексере отырып табуға болады. Ал егер осындай іздеуге үлкен мегеполистің деректер қорынан берілген РНН-ді іздеп табу қажет болса, және іздеуді осындай қарапайым жолмен ұйымдастырсақ, онда өте көп уақыт алатыны айқын. Мұндай әдіспен шешу жолы қабылданбайды.

Сөйтіп, А массиві берілсін. Берілген А массивінің элементтерінің табиғаты кез-келген болсын. Және Р массиві берілсін, массивтің элементтерінің табиғаты сан болсын. А массивінің кез-келген ai элементіне Р массивінің элементі рі бір мәнді сәйкестікпен тағайындалсын. Оған қоса P массивтің элементтерін А массивтің элементтерінің белгісі немесе кілттері деп атайды. Формальді түрде қойылған қарапайым ақпаратты іздеу есебінің қойылымын келесідегідей тұжарымдауға болады: р* кздейсоқ кілт берілсін. А массиві элементтерінің ішінен кілті р*-ға тең элементті табу қажет немесе А массивінің элементтері ішінен р* сәйкес кілтті элемент жоқ екені анықталу қажет. Қойылған есепті математикалық тұрғыдан теориялық жолмен шешсек, онда Р кілттер жиынында анықталған қандайда бір функция түзуді қажет етеді. Түзілген функция кілті р* сәйкес А массивінің элементінің нөмерін бір қадам ішінде қайтаруы мүмкін, егер де ондай бар болса. Қойылған есепті шешудің тағы бір жолы бұл комбинаторикалық жол. Бұл жолдағы айғақты процедура ретінде іздеуді тізбектеп немесе басқаша айтқанда сызықты іздеу негізінде ұйымдастырады. Тізбектеп іздеуде орташалап алғанда саны салыстыруларды қажет етеді. Бүтін мәнді оң анықталған аргументтері натурал сан болып келетін функциялар болсын. Егер барлық үшін шарты орындалатындай оң анықталған с константасы n0 нөмірі табылатын болса, онда функциясы О-үлкен -нен деп аталады және түрінде жазылады. Егер барлық үшін шартты орындалатындай оң анықталған с константасы n0 нөмірі табылатын болса, онда функциясы -үлкен -нен деп аталады және түрінде жазылады. Н Н -бүтін мәнді оң анықталған аргументтері натурал сан болып келетін функциялар болсын. Егер барлық үшін шартын қанағаттандыратындай оң анықталған константалары және нөмері табылатын болса, онда - Н - нен дейді және = ( ) түрінде болады. Иии -нотациясында 1 ғана функция, бұл жағдайда функциясы, қандай да бір n0 нөмірден бастап функциясы үшін жоғары және төменгі шегі болып табылатынын айта кету маңызды. Компьютерлік жүйелерде көп тараған екілік іздеу алгоритмінің салыстыру санының күрделілігінің жоғарыдан бағасы жуық. Екілік іздеу алгоритмді қолдануда берілген бастапқы массив х1, х2, . . . , х п реттелген бөлу қажет. Массивтің реті мысалға, өспелі х1 х2х п немесе кемімелі х1 х2 . . . х п болу мүмкін. Бастапқы массивтің элементтер саны немесе элементтерінің мәндері уақыт айналымынан өзгеріп отыруы мүмкін, осыған орай реттеу алгоритмдерінің тиімділігі мәселесінің ролі арта түседі. екілік іздеуді ұйымдастыратын алгоритмнің стандартты нұсқасы төменде көрсетілген.

function BinSearch(b, p*, n) ;

….

begin l:=0;

h:=n;

while l<=h do

begin

m:=(l+h) div2;

if b[m] p* then h:=m-1

else

begin

binsearch:=m;

exit;

end;

end;

binsearch:= -1;

end; //-1 мәнінің қайтарылуы р* -ның массивте табылмағанын көрсетеді.

AVL-ағаштар және толыққа жуық бинарлы ағаштар.

AVL ағаштары. Бинарлы ағаштардың бұл класы алдыңғы жағдайдағымен салыстырғандағы тұрғызу алгоритмі күрделі болғанымен маңызды позитивті қасиеттерге ие болады. Бұл типті ағаштар көзге бейсимметриялы көрінуі мүмкін, бірақ оларда ұзын бұтақтар жоқ. Мұндай ағаштың түбірінен шыққан бұтақтың максималды ұзындығы, мұнда аспауы тиіс. AVL ағаштарды көбіне баланстандырылған ағаштар деп атайды. Бұтақ ұзындығы деп осы бұтаққа тиісті ең ұзын жолдың ұзындығы алынады. Ағаш төбесі балансы деп берілген төбелерден шығатын оң және сол бұтақ/ ұзындықтарының айырмасын айтады. Егер ағаштың әрбір төбесі үшін баланстың абсолют мәні 1-ден артық болмаса, онда ағашты баланстандырылған (AVL) ағаш д. а. n элементтен тұратын массив бойынша тұрғызылған AVL ағаштағы ең ұзын бұтақтың ұзындығын бағалайық. Бұл үшін санын белгілейміз, алдымен максималь ұзындығы l-ға тең бұтақтары бар AVL ағаштар жиынын қарастырамыз. Осы ағаштардың ішінде төбелер саны минимум болатындары да бар. Ары қарай бұл AVL ағаштарын минималды деп атаймыз. Енді мына функцияны қарастырайық. n(l) -AVL ағашындағы төбелердің минимал саны, бұтақтарының максимал ұзындығы тең. l=0, 1, 2, 3, 4 және 6 үшін минималь AVL ағаштарының мысалын келтірейік.

Описание: http://reftrend.ru/files/60/85d2952242af166a98e2d967f186af21.html_files/rId5.png Описание: http://reftrend.ru/files/60/85d2952242af166a98e2d967f186af21.html_files/rId6.png Описание: http://reftrend.ru/files/60/85d2952242af166a98e2d967f186af21.html_files/rId7.png

сурет: a) n(0) =1, l=0 б) n(1) =2, l=1 в) n(2) =4, l=2 г) n(3) =7, l=3

Описание: http://reftrend.ru/files/60/85d2952242af166a98e2d967f186af21.html_files/rId8.png

сурет n(4) =12, l=4

Описание: http://reftrend.ru/files/60/85d2952242af166a98e2d967f186af21.html_files/rId9.png

сурет n(5) =20, l=5

http://reftrend.ru/files/60/85d2952242af166a98e2d967f186af21.html_files/rId10.png

Сәйкесінше AVL ағашына элемент қосуға жұмсалатын уақыт жаман жағдайда тең. Келтірілген баға басқа түсініктерден шығады, атап айтсақ Фибоначчи санын бағалауы белгілі.

AVL ағашында іздеу үшін орташа жағдай тартымды көрінеді, оның бағалау түрі мынадай, мұндағы

яғни, минималды мүмкіндіктен бар болғаны 4% нашар.

Толыққа жуық бинарлы ағаш/. Бинарлы ағаштың өсу нүктесі деп вакантты бағыт б/ша жаңа қабырға тұрғызуға болатын төбені айтады.

Описание: http://reftrend.ru/files/60/85d2952242af166a98e2d967f186af21.html_files/rId11.png Описание: http://reftrend.ru/files/60/85d2952242af166a98e2d967f186af21.html_files/rId12.png Описание: http://reftrend.ru/files/60/85d2952242af166a98e2d967f186af21.html_files/rId13.png

сурет сурет

Бинарлы ағашты толықтау дейміз, егер онын барлық өсу нүкте/і осы ағаштың тек соңғы ж/е соңғының алдындағы деңгей/де орналасса.

Кейде мұндай ағашты толықтау баланстандырылған деп те атайды. Егер толықтау ағашта m деңгейінен жоғары төбелер жоқ десек, онда элементті іздеуге қажетті салыстырулардың максималды саны былай бағаланады, яғни, толықтау ағаш үшін іздеу eceбi оптималды-минималды уақытта шешіледі, яғни салыстыру саны минимадды болады. Толықтау ағаш тұрғызу алгоритмi курделі емес, бipaқ бұл ағаштардың айтарлықтай кемшіліетері бар. Егер массив статикалы болса, яғни элементтер саны да, элементің өзi де өзгермесе, онда толықтау ағашты іздеуге қолдану негізді болып табылады. Мұндай ағашты ұйымдастыруға бip рет уақыт жұмсаса, ары қарай тек іздеу eceбi ғана жүргізледі және ал тиімді болады. Егер массивтің элементтері периодты турде өзгерсе немесе қосылса н/е алынатын болса, онда бұл басқа бip мәселе.

Дәстүрлі түрде 6 элементтен тұратын массивті және оның толықтау ағашын қарастырайық.

Описание: http://reftrend.ru/files/60/85d2952242af166a98e2d967f186af21.html_files/rId14.png Описание: http://reftrend.ru/files/60/85d2952242af166a98e2d967f186af21.html_files/rId15.png

бip ғана «2» элементін қосу ағашты қайта құруды к/к етеді, бұл кезде массивтің тек бip элементі ғана өз орнында қалды (4 сурет) .

Бастапқы массив бойынша толықтау ағаш тұрғызу алгоритмі қарапайым болғанымен, бұл типті ағаштарды динамикалық массивтерге қолдану тиімділігі өте төмен болады, себебі жоғарыда көргеніміздей массив аз ғана өзгеріске түскен кезде ағашты айтарлықтай немесе толық қайта құру қажет болады.

Бинарлы ағаштар қолданыстары және жалпылаулары.

Бинарлы ағаш тәрізді құрылыс/конструкция/ практикалық жүйелерде қолданылғанымен, бинарлы ағаштардың Computer science аймағының өзінің ішінде қолданылуының көбірек маңызы бар. Бинарлы ағаштың қолданылуының бір түрімен оның айналымдарын анықтау кезінде таныстық, онда бинарлы ағаш арифметикалық өрнектерді көрсету үшін қолданылады.

Бинарлы ағаштың қолданылуының классикалық және анағұрлым көбірек айтылатын түріне минималды артықшылықтың Хаффман-код аталатын кодын құру үшін қолданылатын бинарлы ағаш жатады. Керісінше “Мәліметтер құрылымы” кітаптарында бинарлы ағаштың дискретті оптимизация алгоритімдерінде қолданылуы тәрізді оның маңызды қолданысы туралы айтылмайды, мысалы, бұтақтар ме шекара әдісі тәрізді алгоритмдерде. Бұтақтар мен шекара әдісінің алгоритмінің негізгі мақсаты шешімдер ағашын құру екенін еске салайық. Ол ағашты құру кезінде дискретті экстремальді есептің оптималды шешімі табылады. Коммивояжер есебі жағдайында есеп шешімін, яғни коммивояжердің ең қысқа маршрутын осылай табады. Бинарлы ағаштардың шектелген - детерминдалған функцияларды беруде қолданылу мысалдары белгілі, мұндай функциялар туралы ғылымда бұл ағаштар арнайы атөа ие болады - нөмірленген ағаштар. Бинарлы ағаштар UNIX - та үрдістерді басқару жүйелерінде де fork жүйелік шақыруының көмегімен үрдістерді клондау арқасында пайда болады.

Бинарлы ағаштар синтаксистік анализдің теориясы мен практикасында терминалды тізбекті шығаруды бейнелеуде де пайда бола алатынына кейінірек көзімізді жеткіземіз.

Бинарлы ағаштың қолданылуының мысалдарын тақырыпта айтылған бөлім үшін де көрсетуге болады.

Мұнда бинарлы ағаштар мысалы, іздеу алгоритмдері мен массивтерді сұрыптау алгоритмдері үшін салыстыру сандарын төменгі бағалауды дәлелдеуде қолданылады.

... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Іздеу есептерінің шешілімі
Іздеу есептерінің шешілімі. Іздеу: қайтару арқылы теріп алу
Іздеу есептерінің шешілімі. Іздеу: қайтару арқылы теріп алу жайлы
Ms access-деректер базасын басқару жүйесі
Информатика пәні, объектілері және құрама бөліктері
Activ studio жалпы мағлұмат
Телекоммуникация саласында ақпараттық технологияларды пайдалану жағдайы
Интернет және оның мүмкіндіктері
Norton Сommander программасымен жұмыс істеу
Интернет желісіне қосылу үлгісі
Пәндер



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz