PDA

View Full Version : یه سوال درباره ساختمان داده



yalda_a
چهارشنبه 13 آذر 1387, 09:47 صبح
سلام.مینیمم وماکزیمم اعداد ذخیره شده در یک ارایه یک بعدی با n
خانه با چند مقایسه بین اعداد ذخیره شده در این خانه ها بدست خواهد امد.میشه توضیح بدین چطوری بدست میاد.:لبخندساده:ممنون میشم

rez6rez6
پنج شنبه 14 آذر 1387, 09:33 صبح
سلام دو تا مقایسه یکmax میزاری مساوی صفر بعد با دستور ifجابجا کن بزرگتر از با شه عوض بشه:چشمک:

yalda_a
پنج شنبه 14 آذر 1387, 10:38 صبح
ممنون از راهنماییتون.سوالم اینه تعداد کل مقایسه چندتا میشه

manvaputra
پنج شنبه 14 آذر 1387, 10:52 صبح
خوب این آرایه مرتبه یا نه؟

yalda_a
جمعه 15 آذر 1387, 10:58 صبح
<P>صورت سوال چیزی نگفته.سوالو درست نوشتم</P>

powerboy2988
جمعه 15 آذر 1387, 11:20 صبح
سلام
اگر آرایه مرتب باشد می تواند با استفاده از الگوریتم جستجوی دودویی با logn در مبنای 2 تعداد مقایسه ها را بدست آورد.
اما اگر مرتب نباشد کل مقایسه n خواهد بود. چون کل آرایه مورد مقایسه قرار می گیرد.

manvaputra
جمعه 15 آذر 1387, 11:29 صبح
گر آرایه مرتب باشد می تواند با استفاده از الگوریتم جستجوی دودویی با logn در مبنای 2 تعداد مقایسه ها را بدست آورد.

اگه آرایه مرتب باشه که اولین عنصر و آخرین به ترتیب می شن کوچگترین و بزرگترین!

manager
جمعه 15 آذر 1387, 11:41 صبح
برای پیدا کردن عنصر max و عنصر min نیازی به مرتب سازی داده ها نیست و با بررسی خطی مشخص می شود. در حالت معمولی نیاز به 2n مقایسه هست چرا که باید هر عنصر را با متغیر min و max مقایسه کرد اما می توان این تعداد مقایسه را بهبود بخشید به این صورت که هر 2 عنصر را ابتدا با یکدیگر مقایسه کرده و سپس عنصر بزرگتر را با متغیر max و عنصر کوجکتر را با متغیر min مقایسه کرد در این صورت تعداد مقایسه در صورتی که n زوج باشد به 3(n-2)/2+1 و در صورتی که n فرد باشد تعداد مقایسه ها به 3(n-1)/2 مقایسه کاهش می یابد.