Referati topshirdi : Muhammadali Aliyev Qabul qildi : N. Mamadaliyev
Download 0.93 Mb. Pdf ko'rish
|
ALIEV MARUZA ALGORITHM
statik,
yarimstatik va dinamik shakllari mavjud. Tayanch, statik, yarimstatik va dinamik tuzilmalar tezkor xotira uchun ahamiyatli hisoblanadi va ba’zan bu tuzilmalar tezkor tuzilmalar deb ham ataladi. Fayl tuzilmalari tashqi xotira uchun mos ma’lumotlar tuzilmasi hisoblanadi. Ma’lumotlar tuzilmasining yana bir muhim belgisi uni tashkil etuvchi elementlarning tartiblanganlik xususiyati hisoblanadi. Ushbu belgisi bo’yicha chiziqli va nochiziqli tuzilmalarga ajratish mumkin. Chiziqli tuzilma elementlarining xotirada o’zaro joylashish xususiyatlariga qarab xotirada elementlari ketma-ket taqsimlangan (vektor, satr, massiv, stek, navbat) va xotirada elementlari erkin bog’langan ko’rinishda taqsimlangan (bir bog’lamli, ikki bog’lamli ro’yxatlar) kabi turlarga ajratish mumkin. Dasturlash tillarida “ma’lumotlar tuzilmasi” tushunchasi “ma’lumotlar turi” tushunchasi bilan chambarchas bog’liq. Ixtiyoriy ma’lumot, ya’ni konstanta, o’zgaruvchi, funktsiya yoki ifodaning qiymati o’zining turi bilan ajralib turadi. Har bir tur bo’yicha axborot bir qiymatli aniqlanadi: 1) ko’rsatilgan turdagi ma’lumotni saqlash tuzilmasi, ya’ni birinchidan unga xotira ajratish va xotiradagi ma’lumotni taqdim etish, ikkinchidan ma’lumotning ikkilik kodda tasvirlanishi; 2) tavsiflangan turdagi u yoki bu ob’ektning qabul qilishi mumkin bo’lgan qiymatlari to’plami; 3) tavsiflangan turdagi ob’ekt ustida bajarish mumkin bo’lgan amallar to’plami. Ma’lumotlar va algoritmlarni strukturalashtirish (tuzilmalashtirish) Ma’lumotlar tuzilmalarini bilish, ularni saqlash va qayta ishlash xotirani tejash va protsessor vaqti sarfini kamaytirish nuqtai nazaridan eng samarali usullarni qo’llash imkonni beradi. Yana bir afzalligi, ma’lumotlarga tuzilmaviy yondoshuv murakkab dasturiy mahsulotlarni yaratish imkoniyati hisoblanadi. Zamonaviy dasturiy paketlar juda murakkab mahsulotlar hisoblanib, bunda minglab, millionlab satrli kodlarni hisoblashga to’g’ri keladi. Tabiiyki, bunday dasturiy mahsulotlarni “birdaniga (bir vaqtning o’zida)” ishlab chiqish imkoniyati yo’q, bular ba’zi bir tuzilmalar, ya’ni ularning tashkil etuvchi qismlari va ular orasidagi bog’liqliklar ko’rinishida ishlab chiqilishi mumkin. To’g’ri tuzilmaga keltirilgan mahsulotni ishlab chiqishning har bir bosqichida ishlab chiquvchining diqqatini mahsulotning alohida qismlariga qaratilishini talab etadi. Katta dasturiy mahsulotlarni tuzilmalashtirishda mumkin bo’lgan yondoshuvlar mavjud. Bulardan biri algoritmlarni tuzilmalashtirishda “yuqoridan quyiga” loyihalash yoki “yuqoridan quyiga dasturlash” yondoshuvi bo’lsa, ikkinchisi, ma’lumotlarni tuzilmalashtirishda esa, “quyidan yuqoriga” loyihalash yoki “quyidan yuoriga dasturlash” yondoshuvlari hisoblanadi. Birinchi holatda (yondoshuvda) dastur bajarishi kerak bo’lgan harakatlar tuzilmalashtiriladi. Ishlab chiqilishi ko’zda tutilgan katta va murakkab dasturni loyihalash kichik hajmdagi bir nechta qism masalalarning yechimlari ko’rinishida hal qilinadi. Shunday qilib, qo’yilgan masalaning to’liq yechimini taqdim etuvchi eng yuqorida turuvchi dasturiy modul, qismmasalalarni yechimini beruvchi modullarga murojaatni amalga oshiradigan yetarli darajada juda oddiy bo’lib chiqadi. Loyihalashning birinchi bosqichida qismmasalalarning dasturiy modullari “qopqoq” ko’rinishda amalga oshiriladi. Shundan so’ng har bir qismmasala o’z navbatida yuqoridagi qoida bo’yicha dekompozitsiya (qismlarga ajratish) qilinadi. Qism masalalarga ajratish jarayoni dekompoziyaning keyingi bosqichida aniq bir masalaning yechimini beradigan holatga kelgunga qadar davom ettiriladi. Dekompozitsiyaning eng quyi holati eng kichik instrumental vosita darajasigacha keltirilishi (masalan, tanlab olingan dasturlash tilidagi bitta operatorgacha dekompozitsiyalash) mumkin. Ikkinchi yondoshuvda tuzilmalashtirish ma’lumotlarga asoslanadi. Har bir dasturiy mahsulot uchun hamma vaqt Buyurtmachi mavjud. Buyurtmachida esa kiruvchi ma’lumotlar bo’lib, ishlab chiqiladigan dasturiy mahsulot ushbu kiruvchi ma’lumotlarni chiquvchi ma’lumotlarga akslantirish xususiyatlarini o’z ichiga olgan bo’lishi kerak. XULOSA Dasturlashning instrumental vositalari esa faqat tayanch (oddiy, sodda) ma’lumotlar turi va ular ustida bajariladigan amallarni taqdim etadi. Tayanch ma’lumotlar turini qayta ishlash uchun yoki buyurtmachining kiruvchi ma’lumotlariga moslashtirish uchun dasturchilar juda murakkab ma’lumotlar turlari va ular ustida bajariladigan yangi amallarni yaratishi kerak bo’ladi. Ma’lumotlar turini kompozitsiya (birlashtirish) qilishning oxirgi bosqichida masalaning to’liq yechimini beruvchi mos ravishda kiruvchi va chiquvchi ma’lumotlar va ular ustida bajariladigan amallarni tadbiq etishladi. Ixtiyoriy loyihani amalga oshirishda qarama-qarshi amallar, ya’ni ma’lumotlar tuzilmalarini ishlab chiqish natijalari bo’yicha algoritmning tuzilishini doimiy ravishda tuzatib borish va aksincha, algoritmlarga mos ravishda ma’lumotlar tuzilmasida tuzatishlar kiritish ishlari bajarib boriladi. Adabiyotlar 1. [RU] Алфред В. Ахо., Джон Э. Хопкрофт, Джефри Д. Ульман. Структура данных и алгоритмы. //Учеб.пос., М.: Изд.дом: "Вильямс", 2000, — 384 с. 2. [EN] Adam Drozdek . Data structures and algorithms in C++. Fourth edition.Cengage Learning, 2013. 3. [UZ] Narzullaev U.X., Qarshiev A.B., Boynazarov I.M. Ma’lumotlar tuzilmasi va algoritmlar. //O’quv qo’llanma. Toshkent: Tafakkur nashriyoti, 2013 y. – 192 b. 4. [RU] Лойко В.И. Структуры и алгоритмы обработки данных. Учебное пособие для вузов. - Краснодар: КубГАУ. 2000. - 261 с., ил. Download 0.93 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling