زمان کنونی: ۳۰ آذر ۱۴۰۳, ۰۸:۵۸ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

بزرگترین زیر دنباله مشترک(علوم کامپیوتر ۹۱)

ارسال:
  

msalehi1991 پرسیده:

بزرگترین زیر دنباله مشترک(علوم کامپیوتر ۹۱)

سلامSmile
دوستان میشه بگین این سوال چطوری حل میشه؟Huh
جواب گزینه ۱

تشکرRolleyes


فایل‌(های) پیوست شده

نقل قول این ارسال در یک پاسخ

۱
ارسال:
  

mahsalove پاسخ داده:

RE: بزرگترین زیر دنباله مشترک(علوم کامپیوتر ۹۱)

سلام...
بررسی اینکه یک دنباله به طول n زیر دنباله یک دنباله به طول m است از مرتبه n+m است.
برای یافتن Max که B^i زیر دنباله A باشد واضح است که i نمی تواند از n/mبیشتر باشه پس بیشترین مقدار i برابر n/m است حالا باید چک کنیم برای i=n/m جواب می دهد یا نه!
ابتدا i را برابر ۱/۲*n/m قرار می دهیم یعنی نصف n/m اگر B^i زیر دنباله A باشد شبیه جستجوی دودویی مقادیر کوچکتر از سقف n/m را نادیده بگیرید و اگر B^i زیر دنباله A نبود مقادیر بیشتر از ۱/۲ سقف n/m را نادیده بگیرید و با روش دودویی این عمل را انجام دهید تعداد بررسی ها برای یافتن Max(i برابر سقف log n/m است پس زمان اجرا برابر
n+m*logn/m است که چون n از m بیشتر است جواب n*logn/mمی شه!

یعنی در واقع باید بیاییم یه چیزی شبیه جستجوی دودویی هی قسمت های نصف سقف n/m را در داخل A در نظر گرفته هر قسمت را بررسی تا ببینیم آیا زیر دنباله هست یا نه و اون قسمت را اگر زیر دنباله بود که در مرحله بعدی در نظر بگیریم و اگر نبود در نظرش نگیریم و چون باید n بار logn/m را هی بررسی کنیم ج می شه nlogn/m ....

موفق باشیدBig Grin
دهنم سرویس شد تا فهمیدم راه حلش چی می گهBlush
نقل قول این ارسال در یک پاسخ

ارسال:
  

Riemann پاسخ داده:

RE: بزرگترین زیر دنباله مشترک(علوم کامپیوتر ۹۱)

(۱۸ بهمن ۱۳۹۲ ۰۲:۱۵ ب.ظ)mahsalove نوشته شده توسط:  سلام...
بررسی اینکه یک دنباله به طول n زیر دنباله یک دنباله به طول m است از مرتبه n+m است.
برای یافتن Max که B^i زیر دنباله A باشد واضح است که i نمی تواند از n/mبیشتر باشه پس بیشترین مقدار i برابر n/m است حالا باید چک کنیم برای i=n/m جواب می دهد یا نه!
ابتدا i را برابر ۱/۲*n/m قرار می دهیم یعنی نصف n/m اگر B^i زیر دنباله A باشد شبیه جستجوی دودویی مقادیر کوچکتر از سقف n/m را نادیده بگیرید و اگر B^i زیر دنباله A نبود مقادیر بیشتر از ۱/۲ سقف n/m را نادیده بگیرید و با روش دودویی این عمل را انجام دهید تعداد بررسی ها برای یافتن Max(i برابر سقف log n/m است پس زمان اجرا برابر
n+m*logn/m است که چون n از m بیشتر است جواب n*logn/mمی شه!

یعنی در واقع باید بیاییم یه چیزی شبیه جستجوی دودویی هی قسمت های نصف سقف n/m را در داخل A در نظر گرفته هر قسمت را بررسی تا ببینیم آیا زیر دنباله هست یا نه و اون قسمت را اگر زیر دنباله بود که در مرحله بعدی در نظر بگیریم و اگر نبود در نظرش نگیریم و چون باید n بار logn/m را هی بررسی کنیم ج می شه nlogn/m ....

موفق باشیدBig Grin
دهنم سرویس شد تا فهمیدم راه حلش چی می گهBlush

وقتی که ما میخواهیم برای [tex]i = \frac{n}{2m}[/tex] چک کنیم که ایا [tex]B^i[/tex] یک زیر دنباله هست یا نه یه هزینه ای باید بدیم که توی تحلیل شما تی پاراگراف اول این هزینه حساب نشده و یه جای کار میلنگه!
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

msalehi1991 پاسخ داده:

RE: بزرگترین زیر دنباله مشترک(علوم کامپیوتر ۹۱)

(۱۸ بهمن ۱۳۹۲ ۰۲:۴۳ ب.ظ)Riemann نوشته شده توسط:  
(18 بهمن ۱۳۹۲ ۰۲:۱۵ ب.ظ)mahsalove نوشته شده توسط:  سلام...
بررسی اینکه یک دنباله به طول n زیر دنباله یک دنباله به طول m است از مرتبه n+m است.
برای یافتن Max که B^i زیر دنباله A باشد واضح است که i نمی تواند از n/mبیشتر باشه پس بیشترین مقدار i برابر n/m است حالا باید چک کنیم برای i=n/m جواب می دهد یا نه!
ابتدا i را برابر ۱/۲*n/m قرار می دهیم یعنی نصف n/m اگر B^i زیر دنباله A باشد شبیه جستجوی دودویی مقادیر کوچکتر از سقف n/m را نادیده بگیرید و اگر B^i زیر دنباله A نبود مقادیر بیشتر از ۱/۲ سقف n/m را نادیده بگیرید و با روش دودویی این عمل را انجام دهید تعداد بررسی ها برای یافتن Max(i برابر سقف log n/m است پس زمان اجرا برابر
n+m*logn/m است که چون n از m بیشتر است جواب n*logn/mمی شه!

یعنی در واقع باید بیاییم یه چیزی شبیه جستجوی دودویی هی قسمت های نصف سقف n/m را در داخل A در نظر گرفته هر قسمت را بررسی تا ببینیم آیا زیر دنباله هست یا نه و اون قسمت را اگر زیر دنباله بود که در مرحله بعدی در نظر بگیریم و اگر نبود در نظرش نگیریم و چون باید n بار logn/m را هی بررسی کنیم ج می شه nlogn/m ....

موفق باشیدBig Grin
دهنم سرویس شد تا فهمیدم راه حلش چی می گهBlush

وقتی که ما میخواهیم برای [tex]i = \frac{n}{2m}[/tex] چک کنیم که ایا [tex]B^i[/tex] یک زیر دنباله هست یا نه یه هزینه ای باید بدیم که توی تحلیل شما تی پاراگراف اول این هزینه حساب نشده و یه جای کار میلنگه!


منم خیلی روی این قسمت پاسخشون فکر کردم..
ولی فکر میکنم ایشون ابتدا تعداد بررسیها رو حساب کردند و در اخر ضرب در هزینه هر بررسی کردند!!
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  جزوه برای درس نظریه علوم کامپیوتر matias ۱۳ ۱۵,۲۷۵ ۲۴ شهریور ۱۴۰۳ ۰۸:۳۳ ب.ظ
آخرین ارسال: shabankhah
  گرایش های علوم کامپیوتر alisaaa ۴ ۴,۳۵۹ ۱۳ آذر ۱۴۰۲ ۰۴:۲۷ ب.ظ
آخرین ارسال: hashemhamidi
  علوم کامپیوتر شریف یا نرم افزار تهران؟ ۴L1R3Z4 ۴۴ ۳۳,۰۸۹ ۰۶ شهریور ۱۴۰۲ ۰۸:۱۲ ب.ظ
آخرین ارسال: moeinbahari
  رتبه ۵۴ علوم کامپیوتر و ۷۶ ریاضی ارشد ۱۴۰۰ Computer92 ۰ ۲,۳۷۲ ۰۸ شهریور ۱۴۰۰ ۰۹:۴۶ ب.ظ
آخرین ارسال: Computer92
  بزرگترین ضریب ss311 ۰ ۱,۴۳۹ ۲۶ اردیبهشت ۱۳۹۹ ۱۲:۵۷ ب.ظ
آخرین ارسال: ss311
  سوال ۸ دکتری علوم کامپیوتر سال ۹۴ ss311 ۲ ۳,۵۰۳ ۲۶ اردیبهشت ۱۳۹۹ ۱۲:۳۷ ب.ظ
آخرین ارسال: ss311
  سوال ۱۴ علوم کامپیوتر ۹۶ ss311 ۴ ۳,۸۴۲ ۲۶ اردیبهشت ۱۳۹۹ ۱۲:۳۳ ب.ظ
آخرین ارسال: ss311
  جایگشت( ارشد علوم کامپیوتر ۹۸ ) ss311 ۰ ۱,۹۲۶ ۰۳ اسفند ۱۳۹۸ ۱۲:۴۵ ب.ظ
آخرین ارسال: ss311
  رنگ کردن رئوس گراف( ارشد علوم کامپیوتر ۹۸ ) ss311 ۰ ۲,۱۴۵ ۰۳ اسفند ۱۳۹۸ ۱۲:۴۳ ب.ظ
آخرین ارسال: ss311
  سوال ۳ دکتری علوم کامپیوتر ۹۷ ss311 ۲ ۲,۹۸۷ ۰۶ بهمن ۱۳۹۸ ۰۴:۴۵ ب.ظ
آخرین ارسال: ss311

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close