Материалдар / Python сұрыптау түрлері

Python сұрыптау түрлері

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

Сұрыптау түрлері


Таңдау(selection sort) арқылы сұрыптау

Таңдау арқылы сұрыптау - Массивтегі ең кіші, ең үлкен элементті тауып, оны сұрыпталмаған элементтердің бірінші тұрғанымен ауыстыру

Picture 1 Таңдау арқылы сұрыптауды өсу ретімен орындаудың бірінші қадамында массивтің минималды элементі табылады да, ол бірінші тұрған элементпен ауыстырылады. Массив екінші қадамды екінші элементтен бастап қарастырады. Ең кіші элемент тауып, екінші элементпен орын алмастырады. Әр элементтің ретін табу үшін осындай қадамдар қайталанады. Әрбір жаңа қадам массивтің сұрыпталмаған бөлігінен минимум мәнді тауып, оны ағымдағы элементпен ауыстырады.

Код мысалы

Нәтижесі: а=[1,2,3,5,6]



Программада таңдау арқылы сұрыптау кіріктірілген циклдер негізінде жүзеге асырылады.

аrr массивін өсу ретімен таңдау арқылы сұрыптаудың коды

Picture 5 1-мысал.

2-мысал.

0-ден 100-ге дейінгі кездейсоқ 10 саннан тұратын массивті өсу реті бойынша таңдау арқылы сұрыптау

Программалау коды

Picture 7














3-мысал

н әтиже















4-мысал

нәтиже















Көпіршікті(bubble sort) сұрыптау

Көпіршікті сұрыптау – көршілес элементтерді бір-бірімен алыстыру арқылы сұрыптау әдісі

Әр итерацияда массив элементтерін жұбымен салыстырады. Егер жұптың орналасу тәртібі дұрыс болмаса, онда элементтер ауыстырылады. n-1 итерациялар өткеннен кейін массив сұрыпталады.


Picture 2 Әр итерациядан кейін массивтің соңындағы ең үлкен элемент алдыңғы максимум элементінің қасында тұрады. Минималды элемент әр уақытта массивтің басына қарай бір позициямен жылжытылады (көпіршіктің суда көтерілген сияқты).












Өсу ретімен көпіршікті сұрыптаудың коды

1-мысал

Picture 10










Сыртқы цикл n-1 итерацияларының орындалуына мүмкіндік береді. Ішкі цикл 0-ден (n-i-1)-ге дейінгі массивтің ағымдағы элементінің индексін таңдауға арналған.


2-мысал.

0-ден 100-ге дейінгі кездейсоқ 10 саннан тұратын массивті көпіршікті сұрыптау

Picture 11












НPicture 12 әтижесі:


Енгізу(кірістіру, sort by insert) арқылы сұрыптау

Кірістіру арқылы сұрыптау Массивтегі элементтерін реттелмеген бөлігіндегі элемент реттелген бөлігіне кірістіріп тексеру арқылы сұрыптау

Бұл жолы енгізу арқылы сұрыптауды қарастырамыз (Insertion sort). Бұл әдіс әрбір элементтің бұрын сұрыпталған элементтер арасында белгілі бір позиция бойынша ауысуына негізделген. Барлық массив сұрыпталған және сұрыпталмаған болып шартты түрде екі бөлікке бөлінеді. Бастапқыда сұрыпталған бөлік бос болады. Әр қадамда массивтің келесі элементі сұрыпталған бөліктегі элементтермен салыстырылады және оны орналастыратын орын анықталады. Осылайша, сұрыпталған бөлікте элементтер әрдайым дұрыс тәртіпте болады. Алгоритм массивтің барлық элементі қарастырылғанға дейін орындалады.


1-мысал

Shape2 Shape1


















Кему бойынша сұрыптау дәл осылай орындалады, бірақ цикл шартындағы белгіні ауыстыру керек. (A[j] > key орнына A[j] < key деп жазу керек).

Кей жағдайларда сұрыптауды жеке функция ретінде ұйымдастырған ыңғайлы.

Программалау коды:

2-мысал

Shape3

Shape4


















3-мысал

nxn матрицасының негізгі диагоналінің элементтерін енгізу арқылы сұрыптайтын программа жазу керек.

Программалау коды:

A = [ [8, 8, 8, 8, 8] ,

[1, 1, 1, 1, 1] ,

[7, 7, 7, 7, 7] ,

[2, 2, 2, 2, 2] ,

Shape5 [5, 5, 5, 5, 5] ]

Shape6




















4-мысал

nxn матрицасының бүйір диагоналінің элементтерін кему ретімен енгізу арқылы сұрыптайтын программа жазу керек.

Программалау коды:

A = [ [8, 8, 8, 8, 8] ,

[1, 1, 1, 1, 1] ,

[7, 7, 7, 7, 7] ,

[2, 2, 2, 2, 2] ,

Shape7 [5, 5, 5, 5, 5] ]

Shape8















5-мысал

нәтиже














6-мысал


нәтиже




































Жылдам(fast sort) сұрыптау

Жылдам сұрыптау – cандық элементтерді өсу немесе кему ретімен, мәтіндік массив элементтерін алфавит ретімен сұрыптайды.

1-мысал

енгізу








нәтижесі












2-мысал

Нәтиже


















Жариялаған:
Султанов А
03 Наурыз 2024
487
Материал жариялап, аттестацияға 100% жарамды сертификатты тегін алыңыз!
Ustaz tilegi журналы министірліктің тізіміне енген. Qr коды мен тіркеу номері беріледі. Материал жариялаған соң сертификат тегін бірден беріледі.
Оқу-ағарту министірлігінің ресми жауабы
Сайтқа 5 материал жариялап, тегін АЛҒЫС ХАТ алыңыз!
Қазақстан Республикасының білім беру жүйесін дамытуға қосқан жеке үлесі үшін және де Республика деңгейінде «Ustaz tilegi» Республикалық ғылыми – әдістемелік журналының желілік басылымына өз авторлық материалыңызбен бөлісіп, белсенді болғаныңыз үшін алғыс білдіреміз!
Сайтқа 25 материал жариялап, тегін ҚҰРМЕТ ГРОМАТАСЫН алыңыз!
Тәуелсіз Қазақстанның білім беру жүйесін дамытуға және білім беру сапасын арттыру мақсатында Республика деңгейінде «Ustaz tilegi» Республикалық ғылыми – әдістемелік журналының желілік басылымына өз авторлық жұмысын жариялағаны үшін марапатталасыз!
Ресми байқаулар тізімі
Республикалық байқауларға қатысып жарамды дипломдар алып санатыңызды көтеріңіз!
Министірлікпен келісілген курстар тізімі