(۰۳ مهر ۱۳۹۰ ۱۲:۴۱ ق.ظ)sahar_2000 نوشته شده توسط: (02 مهر ۱۳۹۰ ۰۷:۵۴ ب.ظ)رضا_ایرانی نوشته شده توسط: اگر از درخت بی اس تی استفاده کنیم که گره هاش دو مقدار "کلید" و "فراوانی کلید" رو نگه داره، مرتب سازی در حالت متوسط مرتبه ش میشه گزینه سه.
نمیدونم ساختمان داده و الگوریتم بهتری وجود داره که بشه به گزینه دو رسید؟
بله گویا میشه!!من جواب این تست رو دارم.بااستفاده از الگوریتم مرتب سازی شمارشی counting sortمیشه درزمان o(n)این اعداد رو مرتب کرد...البته من هنوز counting sort رودرست مطالعه نکردم اما تو کتاب clrs هستش..فکرکنم مطالعش کنید میفهمید!!!
در مورد مرتب سازی شمارشی باید گفت که باید یکسری شرایط اولیه برقرار باشه تا بشه از این الگوریتم( و کلا الگوریتم های زمان خطی )استفاده کرد . بعنوان مثال در مرتب سازی شمارشی باید بازه اعداد معلوم باشه و نیز اعداد باید صحیح باشند( اعشاری نباشن).