מהי המורכבות של אלגוריתם מיון ערימה?
מהי המורכבות של אלגוריתם מיון ערימה?

וִידֵאוֹ: מהי המורכבות של אלגוריתם מיון ערימה?

וִידֵאוֹ: מהי המורכבות של אלגוריתם מיון ערימה?
וִידֵאוֹ: Build Heap Algorithm | Proof of O(N) Time Complexity 2024, דֵצֶמבֶּר
Anonim

מיון ערימה הוא אלגוריתם במקום. מורכבות זמן : מורכבות הזמן של heapify הוא O(Logn). מורכבות הזמן של createAndBuildHeap() הוא O(n) ובסך הכל מורכבות הזמן מיון ערימה הוא O(nLogn).

לגבי זה, מהו האלגוריתם לסוג ערימה?

אלגוריתם מיון ערימה מחולק לשני חלקים בסיסיים: יצירת א ערימה של הרשימה/המערך הלא ממוין. ואז א מְמוּיָן מערך נוצר על ידי הסרה חוזרת ונשנית של האלמנט הגדול/הקטן ביותר מה- ערימה , והכנסתו למערך. ה ערימה נבנה מחדש לאחר כל הסרה.

באופן דומה, מהו זמן הריצה הטיפוסי של אלגוריתם מיון ערימה? עם זאת, למיון מהיר יש את המקרה הגרוע ביותר זמן ריצה של O (n 2) O(n^2) O(n2) ומורכבות רווח במקרה הגרוע ביותר של O (log ? n O(log n O(logn), אז אם זה מאוד חשוב שיהיה המקרה הגרוע המהיר ביותר זמן ריצה ושימוש יעיל במקום, מיון ערמות היא האפשרות הטובה ביותר.

באופן דומה, נשאל, מהי המורכבות של פונקציית Heapify?

הרעיון המרכזי הוא שב-build_heap אַלגוֹרִיתְם בפועל להגביר העלות אינה O(log n) עבור כל האלמנטים. כאשר להגביר נקרא, זמן הריצה תלוי באופן שבו אלמנט Faran עשוי לנוע למטה בעץ לפני שהתהליך מסתיים. במילים אחרות, זה תלוי בגובה האלמנט בערימה.

לאיזה אלגוריתם מיון יש את המורכבות האסימפטוטית הטובה ביותר?

ל הטוב ביותר הכנסת מקרה סוג ו-Heap מיון הם הטובים ביותר אחד כמוהם הטוב ביותר זמן ריצת מקרה מוּרכָּבוּת הוא O(n). למקרה ממוצע האסימפטוטי הטוב ביותר זמן ריצה מוּרכָּבוּת הוא O(nlogn) אשר ניתן על ידי מיזוג סוג , ערימה סוג , מהיר סוג . למקרה הגרוע ביותר הטוב ביותר זמן ריצה מוּרכָּבוּת הוא O(nlogn) אשר ניתן על ידי מיזוג סוג , ערימה סוג.

מוּמלָץ: