שלום,
באלגוריתם שאתה מציג, חסם נקבע על פי worst case, ולכן זה Theta(n^2) . למרות זאת, במקרה הממוצע זה nlog n עם מקדם נמוך, ולכן באופן פרקטי זה שימושי.
האלגוריתם שראינו בהרצאה טיפה שונה: בכל שלב, מגרילים איבר מהמערך (ולא לוקחים דווקא את הראשון). כך, לכל מערך, נסיים ב n log n בהסתברות גבוהה, ולכן נקבל Theta(n*log n).
מקווה שעזרתי.