3.3 Бақылау сұрақтары
Элементтер массиві дегеніміз не?
Көпөлшемді массивтің максималды өлшемі қандай бола алады?
Массив қалай хабарланады?
Динамикалық жадыны бөлу қандай мақсатымен қолданылады?
Массив элементтерін қалай инициализацияланды?
Массив элементтері кездейсоқ ретімен қалай құрастыруға болады?
С++ тілінеде массив элементтерін енгізу әдістерін атаңыз.
Кез келген өлшемді матрицаның әр жолындағы максималды мәнін табу алгоритмін түсіндіріп беріңіз.
Квадратты матрицаны өңдеудің ерекшеліктерін атаңыз.
Кез келген өлшемді матрицаны бағандары (жолдары) бойынша өңдеуді қалай ұйымдастырады?
ТАПСЫРМА 2
МАССИВТЕРДІ РЕТТЕУДІҢ ӘДІСТЕРІ
Жұмыс мақсаты: С++ тілінде массивтерді реттеудің әртүрлі алгоритмдерін пайдаланудың практикалық дағдыларын алу.
2.1 Жалпы мәліметтер
Көптеген есептерде массивтердің элементтерін өсу немесе кему реті бойынша орын ауыстыру қажет болады. Осындай массивтер реттелген, ал оларды алу процесі реттеу деп аталады
2.1.1 Қарапайым таңдау бойынша реттеу.
Қарапайым таңдау бойынша реттеу ең қарапайым алгоритм болып табылады. Реттелетін массивте ең кіші элемент табылады, оның орнын массив басындағы элементпен алмастырады. Массивтің қалған бөлігі өзбетінше бөлек массив деп қарастырылып, онда да ең кіші элемент табылып, соңғы массивтің бірінші элементімен орнын алмастырады. Массив жалғыз элементке дейін қысқарғанша әрекеттер қайталанады.
2.1.2 Көбіршік реттеу әдісі.
Реттеу алгоритмдердің бір класын көбіршік реттеу деп түсінеді. Қарапайым нұсқада көбіршік реттеу өте жәй орындалады, сондықтан әдетте оптималдау элементтері бар көбіршік реттеу қолданылады. Көбіршік реттеу алгоритмдерінің барлығында келесі ерекшелік бар болады – элементтермен алмасу массивтің екі көрші элементтері арасында орындалады.
Қадамдар санын (N-1)2 рет емес, тек қана массив реттелгенше орындап реттеу алгоритмнің қадамдар санын азайтуға болады. Оны түсіну өте қарапайым: егер де массив реттеліп болған болса, келесі қадамда ешқандай орын алмасу болмайды. Қарап шығу алдында орын алмасудың жоқ болатын белгісін (жалауды) орнату керек. Егер де жалғыз болсада орын алмасу орындалса, жалау өзінің мәнін өзгертеді. Егер де қадамдар аяқталу кезінде жалау мәні бастапқы болып қалса, массив реттелген, келесі қадамдар қажет емес.
Көбіршік реттеу әдісінің әр қадамын орындалу уақыты бойынша оптималдау үшін келесіні қолдануға болады: бірінші қадамнан кейін ең үлкен элемент массив соңына оған арналған орынға орналасады; екінші қадамды орындаған кезде мәні шама бойынша екінші болатын элементте солай орналасады, т.с. Осы себепке байланысты келесі қадамдарда массивті қарап шығу ұзындығын кемітуге болады, сондықтан алгоритмді орындаудың жалпы уақыты біраз азаяды. Егер де осы оптималдау әдісін реттеуді аяқтау белгісімен біріктірсе, аяқталу белгісі бар алмасу реттеу алгоримін аламыз.
Достарыңызбен бөлісу: |