تالار گفتمان مانشت
با چه شرایطی می توان آرایه n عضوی را در زمان خطی مرتب کرد؟ - نسخه‌ی قابل چاپ

با چه شرایطی می توان آرایه n عضوی را در زمان خطی مرتب کرد؟ - amirid - 05 آذر ۱۳۹۲ ۱۱:۵۶ ب.ظ

برای مرتب کردن یک آرایه چه زمانی می توان از الگوریتم شمارشی که دارای O(n) d است ،استفاده کرد؟ و با چه شرایطی از الگوریتم های با پیچیدگی nlogn استفاده کرد؟ [/code]

RE: با چه شرایطی می توان آرایه n عضوی را در زمان خطی مرتب کرد؟ - mfXpert - 06 آذر ۱۳۹۲ ۱۲:۱۴ ق.ظ

وقتی تمام اعداد آرایه در یک محدوده خاص باشن مثلا بین ۱ تا ۱۰۰۰ با استفاده از مرتب سازی شمارشی میشه آرایه رو با مرتبه‌ی خطی مرتب کرد.

RE: با چه شرایطی می توان آرایه n عضوی را در زمان خطی مرتب کرد؟ - amirid - 06 آذر ۱۳۹۲ ۰۱:۱۶ ق.ظ

(۰۶ آذر ۱۳۹۲ ۱۲:۱۴ ق.ظ)mfXpert نوشته شده توسط:  وقتی تمام اعداد آرایه در یک محدوده خاص باشن مثلا بین ۱ تا ۱۰۰۰ با استفاده از مرتب سازی شمارشی میشه آرایه رو با مرتبه‌ی خطی مرتب کرد.

تو یه سوال پرسیده شده که آیا n عدد صحیح و مثبت کوچکتر از n^100 را می توان در زمان خطی مرتب کرد؟ و توی جواب هم گفته که با الگوریتم شمارشی میشه با مرتبه خطی مرتبش کرد . ولی در حالی که n یک محدوده خاص نیست و متغیره.

RE: با چه شرایطی می توان آرایه n عضوی را در زمان خطی مرتب کرد؟ - Riemann - 06 آذر ۱۳۹۲ ۰۱:۵۲ ق.ظ

(۰۵ آذر ۱۳۹۲ ۱۱:۵۶ ب.ظ)amirid نوشته شده توسط:  برای مرتب کردن یک آرایه چه زمانی می توان از الگوریتم شمارشی که دارای O(n) d است ،استفاده کرد؟ و با چه شرایطی از الگوریتم های با پیچیدگی nlogn استفاده کرد؟ [/code]

این که گفته محدوده اعداد از [tex]\mathcal{O}(n^{100})[/tex] هستش، یعنی محدوده اعدادمون مشخصه! و ما میتونیم یه ارایه به اندازه این محدوده بگیریم و به صورت شمارشی اونو توی مرتبه خطی مرتب کنیم.
هر چند من معتقدم که این جواب که توی کتاب قدسی هستش غلطه چون مرتب سازی شمارشی مرتبش از [tex]\mathcal{O}(n k)[/tex] هستش و وقتی این الگوریتم خطی میشه که [tex]k \in \mathcal{O}(n)[/tex] باشه ولی توی این سوال میشه از مرتبه [tex]\mathcal{O}(n n^{100})[/tex] که میشه [tex]\mathcal{O}(n^{100})[/tex]!