Қазақстан республикасының бiлiм және ғылым министрлiгi


Ішкі сұрыптаулар алгоритмдері



бет5/14
Дата18.12.2021
өлшемі0,78 Mb.
#102591
1   2   3   4   5   6   7   8   9   ...   14
Байланысты:
364bd4d0-c314-11e5-bf37-f6d299da70eeМетод лекцииМСП

Ішкі сұрыптаулар алгоритмдері – бұл ішкі жадтағы мәліметтерді сұрыптау алгоритмдері, бұл жағдайда қолайлы құрылым – массив. Қарапайым сұрыптау алгоритмдері: кірулермен сұрыптау, таңдаумен сұрыптау, алмасумен сұрыптау («көбікше» әдісі). Сұрыптаудың жетілдірілген қарапайым әдістері: кемімелі өсімшелі кіру бойынша сұрыптау (Шелл сұрыптауы), ағаш көмегімен сұрыптау (пирамидалық сұрыптау), бөліктеу арқылы сұрыптау (жылдам сұрыптау).

Кірулермен сұрыптау – элементтер шартты түрде дайын тізбекке a1,…, ai-1 және кіретін тізбекке ai,…, an бөлінеді, содан кейін әрбір қадамда, i=2 бастап және i-ді бірлікке арттыра отырып, кіретін тізбектің i-ші элементін алып дайын тізбектің тиісті орнына кіргізе береді.

Керекті орынды іздеу кезінде оң жақтағы келесі элементпен орын ауыстыру қарастырылады, яғни таңдалып алынған элемент сұрыпталғандардың J=I-1 нөмірінен басталатын кезекті элементімен салыстырылады. Егер таңдалып алынған элемент a[I]-ден артық болса, онда ол сұрыпталғандар ішіне қосылады, әйтпесе a[J] бір орынға ығысады да, таңдалған элемент сұрыпталғандар ішіндегі келесі элементпен салыстырылады. Керекті орынды іздеу әрекеті екі жағдайда:

- Егер a[I]> a[J] болатын элемент табылса;

- Дайын тізбектің сол жақ шетіне жеткен кезде аяқталады.

Мысалы:

int i,j,x;

For(i=1;i

{x=a[i]; //ауысатын элементті есте сақтау

J=i-1;

While(x=0) // керекті орынды іздеу



{a[j+1]=a[j]; // оңға жылжыту

j--; }


A[j+1]=x; //элементті кірістіріп қою }



Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   14




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет