- •5В011100 - «Информатика» мамандығына арналған
- •1. Глоссарий
- •2. Дәрістер
- •Программалар анализінің ережелері:
- •Сұрыпталған тізбектерді біріктіру
- •Сұрыпталған тізбектерді біріктіру алгоритмі
- •Бинарлық іздеу.
- •Бір байланысты сызықтық тізім.
- •Табиғи бірігу арқылы сұрыптау
- •Байланған сызықтық тізімдер
- •Тізімдермен жүргізілетін операциялар
- •Реттелген тізімді жасау
- •Екі байланысты сызықтық тізім
- •Стек операциялары
- •Стектер қолданылады:
- •Шірет объектісімен жүргізілетін операциялар
- •Шіреттер қолданылады:
- •Приоритеттер шіреті
- •Тармақ тәрізді құрылымды беру әдістері
- •2. Кірістірілген жақшалар:
- •Кірістірілген жиындар.
- •4. Кесінді тізбек.
- •Екілік тармақтың құрылымы.
- •Өрнектердің екілік тармақтары
- •Екілік тармаќтармен ж‰ргізілетін амалдар
- •Тармаќты толыѓымен ќарап µту алгоритмі
- •Екілік іздеу тармаѓынан элементті алып тастау.
- •Турнирлік с±рыптау
- •Массивті пирамидаѓа т‰рлендіру
- •Пирамидаға элемент қосу
- •Элементтерді пирамидадан өшіру
- •Пирамидалық сұрыптау
- •Балансталған тармаққа қосу
- •3 Зертханалық сабақтар Зертханалық жұмыс №1
- •Жалпы мәлімет
- •Зертханалық жұмыс №2
- •Жалпы мәлімет
- •Тармақ тәрізді құрылымды беру әдістері
- •2. Кірістірілген жақшалар:
- •Кірістірілген жиындар.
- •4. Кесінді тізбек.
- •Зертханалық жұмыс №3
- •Жалпы мәлімет
- •Зертханалық жұмыс №4
- •Жалпы мәлімет
- •Ортасынан бөлу алгоритмі
- •Зертханалық жұмыс №5
- •Жалпы мәлімет
- •Ортасынан бөлу алгоритмі
- •Зертханалық жұмыс №6
- •Жалпы мәлімет
- •Екілік тармақтармен жүргізілетін амалдар
- •Зертханалық жұмыс №7
- •Жалпы мәлімет
- •Бинарлық іздеу.
- •Зертханалық жұмыс №8
- •Жалпы мәлімет
- •Зертханалық жұмыс №9
- •Жалпы мәлімет
- •Зертханалық жұмыс №10
- •Жалпы мәлімет
- •Зертханалық жұмыс №11
- •Жалпы мәлімет
- •Сұрыпталған тізбектерді біріктіру
- •Сұрыпталған тізбектерді біріктіру алгоритмі
- •4.Студенттердің өздік жұмыстар жоспары
- •Бақылаушы - өлшемдік құралдар
Тізімдермен жүргізілетін операциялар
Тізімді қалыптастыру. Бұл жағдайда тізімге элементті қосу аяғынан басталады немесе аяғында жүргізіледі.
Байланған тізімнен өту.
Тізімді тазалау.
Элементті енгізу схемасы.
Реттелген тізімді жасау
Көптеген қосымшаларда мәліметтердің реттелген тізімін қолдану қажет болады. Оның элементтері өспелі немесе кемімелі ретте орналасқан болуы тиіс. Жаңа элементтің дұрыс орнын анықтау үшін қыстыып қою алгоритмі тізімді сканерлеп өтеді. Одан кейін барып қою жүзеге асады. Мысалы: 60,65,74,82 тізімі берілген.
1
.
head Null
осы тізімге 50,70,90 сандарын қою керек.
50 санын тізімге енгіземіз.
h
ead
Null
Тізімдегі бірінші элемент – 60. Оның мәні 50-ден үлкен, сондықтан жаңа элемент тізімнің басына қойылады.
70 санын тізімге енгізу керек. Мұнда 74 саны 70-тен үлкен тізімдегі бірінші элемент. Сондықтан қыстырып қою мына брйынша жүзеге асырылады:
h
ead
Null
90 санын тізімге енгіземіз. Тағы барлық тізім тексеріледі. Онда элементтің ішінде мәні 90-нан кіші элемент жоқ. Сондықтан 90 тізімнің ең соңына қоыслады.
h
ead
Null Null
Дәріс 8.
Циклдық тізімдер. Стектер.
Мақсаты: Стектер ұғымы енгізу. Стектердің амалдарын, қолданылу аймақтарын беру.
Циклдық тізімдер ұғымын енгізу. Олармен жүргізілетін амалдармен танысу.
Осы уақытқа дейін біз тізімнің соңғы элементін көрсеткіш мәнін 0 деген сызықтық тізімді қарастырдық. Егер тізімнің соңғы элементінің көрсеткіш мәні тізімнің басының адресіне ауыстыратын болсақ, циклдық тізім аламыз. Көптеген кәсіби програмистер байланған тізімдерді жүзеге асыру үшін келесі циклдік модельді қолданады:
h
ead
Циклдық тізімнің бір жетістігі бұл элементтерге кез келген жерде элементтерге кіруге болатындығында. Ал кемшілігі тізіммен жүрген кезде байқамаса ақырсыз циклге кіріп кетуге болады. Циклдық тізім сызықтық тізімге қарағанда құрылымы неғұрлым иілгіш болып келеді. Ол тізімде жүруді кез келген жағдайда бастауға мүмкіндік береді және оны бастапқы позицияға дейін жалғастыруға болады.
Екі байланысты сызықтық тізім
Кейбір есептерде тізім бойымен екі бағытты қозғалыс жасау керек болады. Бұл дегеніміз – тізімнің әрбір эелементіне бір өрістің орнына екі байланыс өрісін енгізгенде мүмкін болады. Бұл өрістерде жаңағы элемент алдыңғы және артқы элементтердің адрестері болады.
Сызықтық тізім екі байланысы бар немесе екі байланысты сызықтық тізім деп аталады. Егер бұл тізімнің әрбір элементі екі көрсеткішіне ие болса, яғни алдыңғы және артқы элементке арналған көрсеткіштер. Екі байланысты тізімді графиктік түрде былай көрсетуге болады.
b
eg
2 байланысты тізімнен элементті алып тастау схемасы:
rex
Стектер
Стек дегеніміз ұзындық айнымалысының тізбектелген тізімі. Ондағы элементтерді алып тастау немесе қосу тек қана бір жағынан жүргізіледі. Стектерді кейде магазиндер деп те атайды. Стектерді белгілеу үшін көбінесе LIFO деген абревидуоа қолданылады. LIFO – Last in /first out (соңғы кіргенде бірінші шығады). Стектер тізімнің төбесінде кіруге болатын элементтерді сақтау үшін қолданылады. Стектің құрылымы полкадағы (сөредегі) кітаптар жиынына ұқсас болады. Мысалға: мұнда ең жоғарғы затты алуға болады немесе жаңа затты ең үстіне қосуға болады. Стек құрылымында элементтерді қосу және алып тастау операциялары маңызды орын алады.
P
ush
операциясы стектің төбесіне немесе ең
жоғарғы жағына элемент қосады. Ал Pop
операциясы элементті өшіреді. Сонда
мына құрылымдарды сызамыз:
pushA pushB pushC Pop Pop PopD
Стектер екі әдіспен жүзеге асуы мүмкін:
массив негізінде
көрсеткіштер көмегімен
Стекті бір өлшемді массив негізінде жүзеге асыруды – стек өлшемі массивті максимальды элементтер санымен шектестіреді. Ал стекті көрсетулер көмегімен жүзеге асыруды – стек мөлшері - бос жадының кіруге болатын көмегімен шектеледі.
Стек құрылымын келесі графиктік түрде беруге болады:
Стек төбесі
