Нэгтгэх төрлийн хамгийн сайн цаг хугацааны нарийн төвөгтэй байдал юу вэ?
Нэгтгэх төрлийн хамгийн сайн цаг хугацааны нарийн төвөгтэй байдал юу вэ?

Видео: Нэгтгэх төрлийн хамгийн сайн цаг хугацааны нарийн төвөгтэй байдал юу вэ?

Видео: Нэгтгэх төрлийн хамгийн сайн цаг хугацааны нарийн төвөгтэй байдал юу вэ?
Видео: CERN - Бурхны бөөм буюу Хигс бозон гэж юу вэ ? 2024, May
Anonim

Эрэмбэлэх алгоритмууд

Алгоритм Өгөгдлийн бүтэц Сансрын нарийн төвөгтэй байдал: Хамгийн муу
Түргэн ангилах Массив O(n)
Нэгтгэх төрөл Массив O(n)
Нуруулдан ангилах Массив O(1)
Гөлгөр төрөл Массив O(1)

Түүнээс гадна, нэгтгэх ангиллын цаг хугацааны нарийн төвөгтэй байдал юу вэ?

The нэгтгэх төрлийн нарийн төвөгтэй байдал нь O(nlogn) ба БИШ O(logn) юм. Хуваах алхам нь дэд массив бүрийн дунд цэгийг тооцдог. Энэ алхам бүр нь зөвхөн O(1)-г авна. цаг . Ялах алхам нь давталттай төрөл тус бүр n/2 (тэгш n) элементийн хоёр дэд массив.

Бөмбөлөг төрлийн хамгийн сайн цаг хугацааны нарийн төвөгтэй байдал юу вэ? Орон зай нарийн төвөгтэй байдал төлөө Бөмбөлөг эрэмбэлэх нь O(1), учир нь зөвхөн нэг нэмэлт санах ойн зай шаардлагатай, тухайлбал түр хувьсагчийн хувьд. Түүнчлэн, хамгийн сайн тохиолдол цагийн нарийн төвөгтэй байдал O(n) байх бөгөөд энэ нь жагсаалт аль хэдийн байгаа үед юм эрэмбэлсэн.

Үүнээс гадна, нэгтгэх төрлийн хамгийн сайн нарийн төвөгтэй байдал нь юу вэ?

n*log(n)

Хамгийн сайн болон хамгийн муу хувилбаруудад оруулах эрэмбийн ажиллах цагийн нарийн төвөгтэй байдал хэд вэ?

Хамгийн сайн , хамгийн муу , болон дундаж тохиолдлууд The хамгийн сайн тохиолдол оролт нь аль хэдийн байгаа массив юм эрэмбэлсэн . Энэ нь үсэг оруулах эрэмбэ шугаман хэлбэртэй байна ажиллах хугацаа (өөрөөр хэлбэл, O(n)). Давталт бүрийн үед оролтын эхний үлдсэн элементийг зөвхөн хамгийн баруун талын элементтэй харьцуулна. эрэмбэлсэн массивын дэд хэсэг.

Зөвлөмж болгож буй: