Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Көпіршікті әдіс.




Енді кө піршікті сұ рыптауғ а ө тейік. Оның негізгі принципі кіші мә ндерді тізім басына ығ ыстыру, ал ү лкен мә ндерді тө мен тү сіреді. Кө піршікті сұ рыптаудың кө птеген ә ртү рлі нұ сқ алар бар. Кө піршікті ә діс алгоритмі тізім бойынша бірнеше рет ө теді. Ә рбір ө ткенде кө рші элементтерді салыстырады. Егер кө рші элементтердің тізімі дұ рыс емес болса, онда олар орын ауыстырады. Ә рбір тә сіл тізім басынан басталады. Алдымен бірінші мен екінші элементтер, сосын екінші мен ү шінші, содан кейін ү шінші мен тө ртінші жә не т.с.с.; жұ пта ретсіз тұ рғ ан элементтердің орны ауыстырылады. Тізімнің ең ү лкен элементін бірінші ө ткенде тапқ ан кезде ол тізімнің соң ына жеткенге дейін барлық кезекті элементтермен орын ауыстыра береді. Сондық тан екінші рет ө ткенде соң ғ ы элементпен салыстыру қ ажет емес. Екінші рет ө ткенде тізімнің екінші элементі соң ғ ы позициядан бастап екіншіге тү седі. Процесті жалғ астыра берсек ә рбір ө ткен сайын ең болмағ анда кезекті бір элемент ө зінің орнында қ алады. Бұ л кезде ең кіші мә ндер жоғ ары қ арай жиналады. Егер қ андай да бір ө ткен кезде ешқ андай элементтердің орны ауыспаса, онда олардың барлығ ы қ ажетті ретпен тұ р, жә не алгоритмнің орындалуын тоқ татуғ а болады. Ә рбір ө ткенде бірден бірнеше элемент ө зінің орнына жақ ындай тү седі, тек біреуі ғ ана нақ ты орнында келеді

Біз қ ысқ аша тү рде ең жақ сы жағ дайды қ арастырамыз, swappedElements туының дұ рыс емес интерпретациясын ескерту ү шін, орындалатын жұ мыс кө лемі қ андай жағ дайда минималды. for циклі бірінші ө ткенде толығ ымен орындалу керек, жә не сондық тан алгоритмге ең болмағ анда N — 1 салыстыру талап етіледі. Екі мү мкіндікті қ арастыру керек: бір ө ткенде ең болмағ анда бір орын ауыстыру болды жә не ауыстырулар болғ ан жоқ. Бірінші жағ дайда орын ауыстыру swappedElements жалауының мә нін true -ғ а ауыстырады, ендеше while циклі қ айтадан орындалады жә не N — 2 салыстыруды талап етеді. Екінші жағ дайда swappedElements жалауы false мә нін сақ тайды жә не алгоритмнің орындалуы тоқ тайды.Сондық тан жақ сы жағ дайда N — 1 салыстыру орындалады, жә не бірінші ө ткенде орын ауыстыру болмағ ан кезде орындалады. Бұ л деректердің жақ сы жиыны талап етліген реттегі элементтер тізімін береді.

Ең жақ сы мү мкін болатын тізімдегі элементтер талап теліген ретпен жү ргендіктен элементтердің кері реті ең жаман жағ дайды бере ме, соны қ арау керек. Егер ең ү лкен сан бірінші тұ рса, онда ол тізімнің соң ына дейін барлық элементтермен орын ауыстырады. Бірінші рет ө тер алдында шамасы бойынша екінші элемент екінші позициядан орын алса, бірақ бірінші салыстыру жә не бірінші орын ауыстыру нә тижесінде ол бірінші орынғ а қ ойылады. Алдымен екінші рет ө ткенде бірінші позицияда шамасы бойынша екінші элемент орналасады, жә не ол тізімнің соң ының алдына дейін барлық элементтермен орын ауыстырады. Бұ л процесс қ алғ ан барлық элементтер ү шін қ айталанады, сондық тан for циклі N— 1 рет қ айталанады. Сондық тан кіріс деректерінің кері реті ең жаман жағ дайғ а ә келеді.


Данная страница нарушает авторские права?





© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.