O'rtacha yoki eng yomon vaqt murakkabligi: O(n)
Eng yaxshi vaqt murakkabligi: O(1)
4. Search (qidiruv)
Biz massivdagi istalgan elementni qidirishimiz va uning indeksini (pozitsiyasini) ham, qiymatini ham ko'rsatishimiz mumkin.
Buyurtmalar soni 2 ga teng bo'lgan jadval raqamini topishimiz kerak deylik , uni qanday topish mumkin, tartib raqamlarini birma-bir tekshirib, bir xil tartib raqamiga ega bo'lgan jadval raqamini aniqlang.
#include
int main() {
int noOfDrinks[] = {5,4,3,5,7};
int n=5; //array size
int order =4 ; //element to be searched
int j=0;
while (jif (noOfDrinks[j]==order)
break;
j=j+1;
}
}
printf(" %d \t %d \n", j+1);
}
Bu erda qilgan ishimiz barcha elementlarni birma-bir tekshirish va uni izlanishi kerak bo'lgan elementlar bilan solishtirish uchun tsikl yozishdir.
Bu holda 4 ga teng . Qachonki qiymatlar mos kelsa, biz tsiklni uzamiz va uning indeksini, ya'ni jadval raqamini chop etamiz.
Qidiruv uchun vaqt murakkabligi qatorda chiziqli qidiruv qo‘llanilishi bilan bir xil bo‘lib qoladi, ya’ni har bir elementni izlanayotgan element bilan birma-bir solishtirish, agar izlanadigan element massivning birinchi pozitsiyasida bo‘lsa, bu eng yaxshi vaqt murakkabligi hisoblanadi. stsenariy, boshqa o'rtacha va eng yomon vaqt murakkabligi.
O'rtacha yoki eng yomon vaqt murakkabligi: O(n)
Eng yaxshi vaqt murakkabligi: O(1)
5. Update (yangilash)
Massivdagi elementlar ham yangilanishi mumkin, ya'ni biz massiv ichidagi elementlarning qiymatlarini o'zgartirishimiz mumkin .
Biz har bir stolda o'tirgan mijozlar sonini bilishimiz kerak, shuning uchun biz massiv yaratamiz va har bir stolni qo'lga kiritadigan mijozlar sonini kiritamiz, lekin ba'zi sabablarga ko'ra 4 -jadval mijozlari chiqib ketishga majbur bo'ldilar, shuning uchun endi u bo'sh, endi qiymatni yangilashimiz kerak, shunga o'xshash stsenariylarda biz yangilanishdan foydalanamiz:
#include
int main() {
int noOfCustomers[5];
int n=5; //array size
int pos = 3; //index of the element to be updated
int item = 0; //updated number
int j=0;
printf("Enter number of customers sitting on the tables in order: \n\n");
for(int i=0; iscanf("%d" , &noOfCustomers[i]);
}
printf("Table Number of customers on table\n");
for(int i=0; iprintf(" %d\t %d \n", i+1, noOfCustomers[i]);
}
noOfCustomers[pos] = item;
printf("\nTable Number of customers on table after the 1st update\n");
for(int i=0; iprintf(" %d \t %d \n", i+1, noOfCustomers[i]);
}
Do'stlaringiz bilan baham: |