Kompyuter injinering fakulteti 961-19 guruh 3-kurs talabasi


Download 23.27 Kb.
Sana30.10.2021
Hajmi23.27 Kb.
#428026
Bog'liq
gulrux4
MURAKKAB TEXNIK TIZIMINING BIR QISMI SIFATIDA INSONNI BAHOLASH, tarix oqitish metodikasi, togaraklar faoliyatida osmir yoshlarni bilishga bolgan qiziqishlarini taminlash masalalari, boshlangich talimda oquvchilar ortasida ozaro munosabatlarni ijobiy shakillantirish yollari, ozbekiston tabiiy geografiyasi darslarida ekologik talim-tarbiya berish masalalari, EEEEEE, EEEEEE, EEEEEE, ЎАК ЯН саволлари, O'lchav vositalarini qiyoslash tartibi, O'lchav vositalarini qiyoslash tartibi, Маъруза №4 Механик усуллар ва асбоблар, Bajardi, 12, kuchlan.isrof

Kompyuter injinering fakulteti

961-19 guruh 3-kurs talabasi

O’rinova Gulrux

Operatsion Tizimlar fanidan

Yozgan

Mustaqil Ishi



Mavzu: Algoritmlarning xossalari

Reja


1.malumot tuzilmalari o’zi nima ?

2.malumot tuzulmalari turlari

3.malumot tuzilmalariga misollar

Ma’lumotlar tuzilmalari o’zi nima?

Barcha dastur yoki dasturiy mahsulotning asosida ikkita birlik yotadi: ma’lumotlar va ular ustida qandaydir amallar bajaradigan algoritmlar. Algoritmlar ma’lumotlarni biz yoki dastur uchun foydali bo’lgan axborot ko’rinishiga keltirib beradi. Algoritmlar shu ma’lumotlar ustida amallarni (o’qish, yozish, yangilash, o’chirish) samarali va tez bajara olishi uchun biz shu ma’lumotlarni ma’lum bir strukturaga solgan holda saqlashimiz kerak bo’ladi. Demak shunday qilib,

Ma’lumotlar tuzilmasi — bu ma’lumotlarni samarali o’qish va o’zgartirish imkonini beruvchi, ma’lumotlarni saqlash va boshqarishning bir formatga solingan shaklidir. (Manba: Wikipidia)

Soddaroq qilib aytganda, ma’lumotlar tuzilmasi — bu ma’lumotlarning ma’lum bir strukturaga solingan, ular o’rtasida ma’lum bir bog’lanishlar yaratilgan va ular ustida ma’lum amallar bajaruvchi funksiyalardan tashkil topgan guruh. Eng sodda ma’lumotlar tuzilmasiga misol qilib massiv (array)ni ko’rsatishimiz mumkin.

Asosiy ma’lumotlar tuzilmalari

Source: Quora.com

Quyida keltirilgan ma’lumotlar tuzilmalari dasturlashda eng ko’p qo’llaniladigan tuzilmalardir. Ularga:

1. Massiv (Array)

2. Bog’langan ro’yhat (Linked List)

3. Navbat (Queue)

4. Stek (Stack)

5. Hash jadvallar (Hash tables)

6. Daraxtlar (Trees)

7. Graflar (Graph)

kiradi. Biz bu bo’limda boshidagi 5 ta tuzilma bilan yaqindan tanishib, ularning kuchli va kuchsiz tomonlari va ularni qanday holatlarda ishlatish ma’qulligi haqida gaplashib o’tamiz. Qolgan ikkita tuzilma murakkabroq bo’lib ular o’z ichida yana ko’plab turlarga bo’linib ketadi. Shuning uchun ularni keyinroqqa qoldiramiz.

Bundan tashqari barcha tuzilmalarning hamma joyda ingliz tilidagi nomi ishlatilgani va ularning nomi odatda tarjima qilinmaganligi sababli keyingi o’rinlarda men ularning asosan ingliz tilidagi nomlarini ishlataman.

Turli xildagi ma’lumotlar tuzilmalari nima uchun kerak?

Ma’lumotlar tuzilmalari nimaligi haqida qisman tasavvurga ega bo’ldingiz va ularning asosiy turlari bilan ham tanishib oldingiz. Lekin, shu joyga kelib agar sizda “Nima uchun ma’lumotlarning turli xil tuzilmalari kerak?” “Nima uchun bir turdagi universal ma’lumotlar tuzilmalaridan foydalanib qo’ya qolsa bo’lmaydi?” degan savol tug’ilmagan bo’lsa, bu yaxshi emas.) Keling endi shu savolga javob topishga harakat qilamiz.

Undan oldin ma’lumotlar tuzilmalari ustida asosiy bajarilishi mumkin bo’lgan amallarni ko’rib chiqaylik. Bularga ma’lumotlarni

Ko’rib chiqish (Traversing)

O’qib olish (Retrieving)

Kiritish (Insertion)

O’chirish (Deletion)

Qidirish (Search)

Saralash (Sorting)

Birlashtirish (Merging)lar kiradi.

Turli xildagi ma’lumotlar tuzilmalarida esa yuqoridagi amallar turlicha tezlikda amalga oshadi.

Masalan oddiyroq misol olaylik, array uchun ma’lumotni o’qib olish uchun O(1) vaqt sarflansa, uni kiritish yoki o’chirish uchun O(n) vaqt sarflanadi. Linked listda esa bular aksincha. Shuning uchun, masalan, sizning dasturingizda ma’lumotlar ko’p kiritilib, o’chirilsayu lekin kam o’qilsa, bunda ma’lumotlarni saqlashda arraydan foydalangandan ko’ra linked list qulayroq hisoblanadi. Lekin, ko’pincha holatda bir necha ma’lumotlar tuzilmalarini o’zini birlashtirgan gibrid ma’lumotlar tuzilmalaridan ham foydalaniladi.

Misollar


#include
int main()
{
int a[10] = { 0 };
//massivning barcha elementlariga 0 qiymat berish
for (int i = 0; i < 10; i++)
cout << "a[" << i << "]=" << a[i] << endl;
system ("pause");
return 0;

}

Berilgan massiv elimentlarini yig`indisini topish dasturini tuzing



#include
int main()
{
int s=0;
int a[10] ;
//massivning barcha elementlariga 0 qiymat berish
for (int i = 0; i < 10; i++)

{
cout << "a[" << i << "]="; cin >> a[i];

s=s+a[i];
}
cout << "Massivning yig`indisi=" <system ("pause");
return 0;

}

//Stek uchun iterface, T tipidagi obeyektlar bilan ishlaydi.

public interface IStack

{

///

/// Stack element qo'shish.

///

/// Qo''shilishi lozim bo'lgan element.

void Push(T value);

 

///



/// Stackning boshidagi element o'chirib qiymatini qaytaradi.

///

T Pop();

 

///

/// Stackning boshidagi element qaytaradi, lekin o'chirmaydi.

///

T Peek();

 

///

/// Stack bo'shmi?

///

bool IsEmpty();

 

///



/// Stackdagi elementlar soni.

///

int Size();

}
Download 23.27 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2022
ma'muriyatiga murojaat qiling