Halqasimon bir bog’lamli
Halqasimon ikki bog’lamli
Halqasimon ro’yhatlar ustida bayariladigan amallar
element qo’shish
element o’chirish
Ro’yhatni ko’ruvdan o’tkazish
Ro’yhatni o’chirish
Bo’shlikka tekshirish
Halqasimon bir bog’lamli ro’yhat oddiy bir bog’lamli ro’yhatda eng so’ngi element ko’rsatkichiga ro’yhat boshi elementi ko’rsatkichi qiymatini o’zlashtirish orqali hosil qilinadi
Halqasimon bir bog’lamli ro’yhatni C++ da e’lon qilish
struct Node{
int data; //informasion maydon
Node *Next;
};
Node *Head=NULL;//ro’yhat boshi ko’rsatkichi
Node *Tail=NULL;
Biz chiziqli bo’lmagan ma’lumotlar tuzilmasini o’rganishni boshlaganimizda, ularning bazaviy xarakteristikasini ko’rib chiqqan edik: tuzilmadagi ma’lumotlar qandaydir tartibga ega emas (hech bo’lmaganda sanoq tartibiga ega emas). Masalan tree node’lari tartiblanmagan, node’lar faqat pointer orqali boshqa node’larga bog’lanishi mumkin. Tree’lar aniq bir qoidalarga bo’ysunadi. Bitta root node bo’ladi, uning child’lari bo’lmasligi yoki birnecha child’larga ulangan bo’lishi va hokazo. Ba’zi tree’lar o’ziga xos hususiyatlarga ega – binary search tree da faqat ikki bog’lanish va ularda bittadan node bo’lishi mumkin xolos.
Ok, tree‘dagi node’lar aniq qoidalar bo’yicha bir biriga bog’lanar ekan. Biz bog’lanish qoidalariga amal qilmasakchi? Masalan root tushunchasi bo’lmasa, hamma node’lar bir xil darajada bo’lsa, istalgan node’ni istalgan node’ga bog’lash imkoni bo’lsa… Buning imkoni bor albatta – graph ma’lumotlar tuzilmasi bilan.
Tree aslida graph’ning ma’lum bir cheklov va qoidalarga asoslangan varianti xolos. Qisqacha aytganda, istalgan tree bu graph, ammo istalgan graph tree emas.
Tree va Graph. Image credit: https://medium.com/swlh/data-structures-graphs-50a8a032db03
Do'stlaringiz bilan baham: |