א. מהו מספר ההשוואות שמבצעת שגרת BuildMaxHeap(A) על מערך ממוין \(A = [1, ..., n]\)? הניחו שקיים \(k\) טבעי כך ש-\(n = 2^k - 1\) ובטאו את תשובתכם באמצעות \(k\).
ב. יחידת מידע בסיסית של מעבד היא 8 סיביות, כלומר השוואה בין שני מספרים בני 8 סיביות או הצבה של משתנה בן 8 סיביות במשתנה אחר בן 8 סיביות נחשבות כל אחת לפעולה בסיסית יחידה. במחשב בו פועל מעבד זה נדרש למיין 1000 מספרים המיוצגים כל אחד באמצעות 32 סיביות. השוו וקבעו איזה אלגוריתם מיון יהיה יעיל יותר למשימה: מיון בסיס או מיון ערימה. נתחו סיבוכיות זמן ומקום. שימו לב ש-\(1024 = 2^{10}\).

בסעיף א', נתחו את פעולת MaxHeapify על עץ שערכיו מסודרים בסדר עולה מהשורש לעלים. בסעיף ב', תרגמו את סיבוכיות האלגוריתמים למספר הפעולות הבסיסיות של 8 סיביות, ובחרו בסיס אופטימלי עבור מיון בסיס.