Mundarija:

Chelak saralashni qanday qilasiz?
Chelak saralashni qanday qilasiz?

Video: Chelak saralashni qanday qilasiz?

Video: Chelak saralashni qanday qilasiz?
Video: PREZIDENT MAKTABIGA QANDAY KIRISH MUMKIN? 👩‍🏫 2024, Noyabr
Anonim

Paqirni saralash quyidagicha ishlaydi:

  1. Dastlab bo'sh qatorni o'rnating " chelaklar ".
  2. Tarqalish: Har bir ob'ektni o'z ichiga qo'yib, asl massivdan o'ting chelak .
  3. Saralash har biri bo'sh emas chelak .
  4. Yig'ish: tashrif buyuring chelaklar tartibda joylashtiring va barcha elementlarni asl massivga qaytaring.

Bundan tashqari, misol bilan chelak saralash nima?

Bundan tashqari, siz ish topasiz misollar ning chelak turi C, C++, Java va Python tillarida. Paqirni saralash a tartiblash texnika bu turlari elementlarni dastlab bir necha guruhlarga bo'lish orqali elementlar deb ataladi chelaklar . Elementlar birinchi bo'lib tarqaladi chelaklar keyin elementlar chelaklar bor saralangan.

Bundan tashqari, chelak navi qayerda qo'llaniladi? Paqir turi asosan kirish diapazonda bir xilda taqsimlanganda foydalidir. Masalan, quyidagi muammoni ko'rib chiqing. Saralash 0,0 dan 1,0 gacha bo'lgan va diapazon bo'ylab bir tekis taqsimlangan suzuvchi nuqtali raqamlarning katta to'plami.

Buni hisobga olsak, chelak navidagi chelaklar sonini qanday topish mumkin?

Agar chelaklar uzunligi 2^k, har biri chelak bir o'lchamga ega va chelak turi hisoblashga aylanadi saralash . Shunday qilib, siz har bir narsani xohlaysiz chelak hajmi 1 dan ortiq bo'lishi. Agar bizda n bo'lsa chelaklar , va msbits(x, k) 2^k qiymatni, keyin esa har birini qaytaradi chelak hajmi 2^k/n.

Paqirni saralashning vaqt murakkabligi qanday?

O'rtacha vaqt murakkabligi uchun Paqirni saralash O(n+k) bo‘ladi. Eng yomon vaqt murakkabligi O(n²). Bo'sh joy murakkablik uchun Paqirni saralash O(n+k) bo‘ladi.

Tavsiya: