Ma'lumotlar tuzilmalari va algoritmlari osonlashtirildi
438
Qidirilmoqda | Qidiruvdagi muammolar
©www.CareerMonk.com
Vaqt murakkabligi: ().
1) ning medianasini topish uchun chiziqli tanlashdan foydalaning.
Yechim:
}
element = A[i];
Muammo-45-Muammo. Muammo-42 uchun murakkablikni yaxshilash mumkinmi?
a. Agar /2 martadan ko'p sodir bo'lsa, true qiymatini
qaytaring; b. Aks holda false qaytaring.
Vaqt murakkabligi: Ikkilik qidiruv daraxti ishlatilsa, eng yomon vaqt murakkabligi ( ) bo'ladi. Agar muvozanatli
ikkilik qidiruv daraxti ishlatilsa ().
/2 marta bo'lsa, u ning mediani bo'lishi kerak. Biroq, buning
teskarisi to'g'ri emas, shuning uchun mediana topilgandan so'ng, biz uning necha marta sodir bo'lishini
tekshirishimiz kerak.
Yechim:
Yechim: Faqat bitta element takrorlanayotganligi sababli, elementlar sonini kuzatib borish orqali kirish
massivini oddiy skanerlashdan foydalanamiz. Agar hisob 0 bo'lsa, biz element birinchi marta keladi deb
taxmin qilishimiz mumkin, aks holda natija elementi.
Yechim: Agar element dan ortiq bo'lsa
Muammo-46-Muammo-42- muammoni hal qilishning boshqa yo'li bormi?
.
int majNum,
hisoblash; element = -1;
hisoblash = 0; for(int i
= 0; i < n; i++) {
Yechim:
Yechim: Kiritilgan massivni tartiblang va ko‘pchilik elementni topish uchun tartiblangan massivni skanerlang.
bob).
int CheckMajority(int A[], n da) {
Kosmik murakkablik: ().
Muammo-44-Muammo 42-Muammo uchun () murakkablikka erishishning boshqa usullari bormi?
int MajorityNum(int[] A, int n) {
Kosmik murakkablik: (1).
2) Yana bir marta o'ting va ning takrorlanish sonini hisoblang.
Do'stlaringiz bilan baham: |