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

رسم درخت بازگشتی و به دست آوردن مرتبه ی اجرایی از روی آن؟!!!

ارسال:
  

atropak پرسیده:

Sad رسم درخت بازگشتی و به دست آوردن مرتبه ی اجرایی از روی آن؟!!!

در کتاب پوران دوتا درخت بازگشتی کشیده که یکیش برای تابع [tex]T(n)=2T(\frac{n}{2}) n^2[/tex] که رسمش کرده و فقط هر سطر را با هم جمع کرده و در نهایت همه را با هم جمع کرده که شده [tex]O(n^2)[/tex] !
یکی دیگه که تابعش [tex]T(n)=T(\frac{n}{2}) T(\frac{2n}{3}) n[/tex] هست را هر سطر را جمع کرده و در نهایت همه را جمع کرده و شده [tex]O(nlogn)[/tex] که در توضیح نوشته که باید ارتفاع درخت هم در اون ضرب بشه!
چرا در اولی ارتفاع درخت ضرب نشده ولی در دومی ضرب شده؟
اصن نحوه ی کشیدن درخت بازگشت به چه صورته؟ نه توی کتاب مقسمی و نه توی کتاب پوران توضیح ندادن ، فقط یکی دوتا مثال گفتن و رد شدن!
نقل قول این ارسال در یک پاسخ

۵
ارسال:
  

fatemeh69 پاسخ داده:

RE: رسم درخت بازگشتی و به دست آوردن مرتبه ی اجرایی از روی آن؟!!!

سلام
تو بعضی از درخت ها جمع هر سطر با سطر دیگه برابر نیست در این حالت باید همه ی سطر ها رو با هم جمع زد ( در این حالت هااکثرا ارتفاع درخت برای ما مهم نیست)
مثلا همون رابطه ی اولی که نوشته اید سطر اول درخت n سطر دوم n/2 سطر بعد n/4 سطر بعد n/8 و... است
پس مرتبه می شه
[tex]n^2 n^2/2 n^2/4 n^2/8 ...=n^2(1 1/2 1/4 1/8 ...)=n^2(\frac{1}{1-\frac{1}{2}})=O(n^2)[/tex]
دقت کنید که چون عبارت داخل پرانتز یک تصاعد هندسی نزولی است پس اصلا انتعاش مهم نیست پس مهم نیست که ماارتفاع درخت رو بدونیم .


اما بعضی از حالت های درخت بازگشتی ها وقتی نودهای هر سطر را جمع بزنیم تقریبا مساوی هستند در این شرایط به جای جمع زدن مقدار کل سطرها با هم می آییم یک سطر را در تعداد سطرها ضرب می کنیم واضه دیگه یعنی مثلا به جای این که بنویسیم ۵+۵+۵+۵ می نویسیم ۵*۴ در یان شرایط ارتفاع درخت مهم می شود
نقل قول این ارسال در یک پاسخ

ارسال:
  

poldasht پاسخ داده:

RE: رسم درخت بازگشتی و به دست آوردن مرتبه ی اجرایی از روی آن؟!!!

(۱۶ مهر ۱۳۹۳ ۱۲:۴۳ ب.ظ)fatemeh69 نوشته شده توسط:  سلام
تو بعضی از درخت ها جمع هر سطر با سطر دیگه برابر نیست در این حالت باید همه ی سطر ها رو با هم جمع زد ( در این حالت هااکثرا ارتفاع درخت برای ما مهم نیست)
مثلا همون رابطه ی اولی که نوشته اید سطر اول درخت n سطر دوم n/2 سطر بعد n/4 سطر بعد n/8 و... است
پس مرتبه می شه
[tex]n^2 n^2/2 n^2/4 n^2/8 ...=n^2(1 1/2 1/4 1/8 ...)=n^2(\frac{1}{1-\frac{1}{2}})=O(n^2)[/tex]
دقت کنید که چون عبارت داخل پرانتز یک تصاعد هندسی نزولی است پس اصلا انتعاش مهم نیست پس مهم نیست که ماارتفاع درخت رو بدونیم .


اما بعضی از حالت های درخت بازگشتی ها وقتی نودهای هر سطر را جمع بزنیم تقریبا مساوی هستند در این شرایط به جای جمع زدن مقدار کل سطرها با هم می آییم یک سطر را در تعداد سطرها ضرب می کنیم واضه دیگه یعنی مثلا به جای این که بنویسیم ۵+۵+۵+۵ می نویسیم ۵*۴ در یان شرایط ارتفاع درخت مهم می شود

در تکمیل حرفای دوستمون، در اولی اگر دقت کنی داخل پارانتز نهایتا از ۱ کوچکتر هست. پس چه بهتر مجموع اون اعداد رو یک حساب کنیم (البته چون صحبت از مرتبه اجرایی است اینقدر ساده میگما Smile )

اما در دومی اگر سطرها رو جمع بزنی میشه [tex]n_1 n_2 n_3 \: ....\: n_h[/tex]
خب اگه بیاییم از n فاکتور بگیریم میشه [tex]n(1 1 1 ... 1)[/tex] که تعداد ۱ های داخل پارانتز h تا است، اما h چنده؟ خب اینم ارتفاع درخت میشه که همون logn هست که تو ریاضی گسسته خوب توضیح داده شده.

البته یه نکته دیگه اینکه در درخت بازگشت، ارتفاع رو بدترین حالت یعنی همون گرهی که ارتفاعش از همه بزرگتر است رو در نظر میگیریم. واسه همین در این مثال دومی میاد ارتفاع رو [tex]\log_{\frac{3}{2}}n[/tex] که همان [tex]\log_ba[/tex] هست که a و b هم تو مرتبه اجرایی T(n) هستند.

اما نهایتا تو جواب نهایی همون logn لحاظ میشه (باز طبق تعریف مرتبه اجرایی)
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

atropak پاسخ داده:

RE: رسم درخت بازگشتی و به دست آوردن مرتبه ی اجرایی از روی آن؟!!!

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

ارسال:
  

poldasht پاسخ داده:

RE: رسم درخت بازگشتی و به دست آوردن مرتبه ی اجرایی از روی آن؟!!!

(۱۶ مهر ۱۳۹۳ ۰۱:۳۵ ب.ظ)poldasht نوشته شده توسط:  اگر دقت کنی داخل پارانتز نهایتا از ۱ کوچکتر هست.

یه چیزی، ظاهرا داخل پارانتز آنچنان که گفتم هم از یک کوچکتر نیست Big Grin، اما به هر حال یه عدد ثابته که دوستمون زحمتشو کشیدن نوشتن که میشه ۲، یکم از ۱ بزرگتر Big Grin

عدد ثابتم فرقی نداره تو مرتبه اجرایی چند باشه، چون کلا حساب نمیشه.
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

atropak پاسخ داده:

RE: رسم درخت بازگشتی و به دست آوردن مرتبه ی اجرایی از روی آن؟!!!

دوستان مثلا چنین تابعی رو چه جوری می شه براش درخت کشید؟
[tex]T(n)=3T(n-2) 2^nlgn[/tex]
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

fatemeh69 پاسخ داده:

RE: رسم درخت بازگشتی و به دست آوردن مرتبه ی اجرایی از روی آن؟!!!

(۱۸ مهر ۱۳۹۳ ۰۹:۲۲ ب.ظ)atropak نوشته شده توسط:  دوستان مثلا چنین تابعی رو چه جوری می شه براش درخت کشید؟
[tex]T(n)=3T(n-2) 2^nlgn[/tex]
درخت کشیدنش کاری نداره حل کردنش و بدست آوردن حاصل جمع نودهاش سخته

برای درخت کشیدن شما رابطه بازگشتی رو می نویسی و طرف سمت راست مساوی هر چی که به فرم T بود رو توی برگ و هر چیز دیگه رو تو ریشه قرار می دهیم
یعنی تو مرحله اول T(n-2) ها توی برگ و [tex]2^n\log n[/tex] توی ریشه قرار می گیره
حالا همون T(n-3) رو هم معادله شو از روی معادله اصلی به دست میاریم وهر چی به فرم T یود تو برگ ها و غیر آن را ریشه ی زیر درخت قرار می دهیم و این کار را تا رسیدن به پایه ی رابطه ی بازگشتی ادامه می دهیم اگر رابطه ی بازگشتی پایه (یا شرط اولیه ) نداشت تا وقتی که عبارات معنادار هستند ادامه می دهیم


البته این چیزی رو که نوشته اید فعلا نمی دونم از چه مرتبه زمانیه


فایل‌(های) پیوست شده
Tn.pdf
اندازه فایل: ۲۵۸/۸۱ KB
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

Ametrine پاسخ داده:

RE: رسم درخت بازگشتی و به دست آوردن مرتبه ی اجرایی از روی آن؟!!!

(۱۶ مهر ۱۳۹۳ ۱۲:۴۳ ب.ظ)fatemeh69 نوشته شده توسط:  .... به جای این که بنویسیم ۵+۵+۵+۵ می نویسیم ۵*۴ در یان شرایط ارتفاع درخت مهم می شود
لطفاً توضیح بدید ارتفاع درخت چطوری بدست میاد؟
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

fatemeh69 پاسخ داده:

RE: رسم درخت بازگشتی و به دست آوردن مرتبه ی اجرایی از روی آن؟!!!

(۲۱ مهر ۱۳۹۳ ۱۱:۵۹ ب.ظ)Ametrine نوشته شده توسط:  لطفاً توضیح بدید ارتفاع درخت چطوری بدست میاد؟
تو این مثالی که نوشتید در هر سطح از درخت ۲ تا از مقدار n کم می شود درخت تا سطحی ا دامه دارد که n به ۲ برسد (چرادو؟ چون مبنای لگاریتممان دو است و لگاریتم عدد کمتر از دو در مبنای دو منفی می شود)
حالا وقتی از n شروع می کنیم و می خواهیم به دو برسیم و هر سطح که میایم پایین دو واحد کم می شه چند سطح باید بیاییم پایین تا بشه دو؟
n-2/2
چرا؟
چون اگه از n قرار بود دو واحد دو واحد کم بشه تا به صفر برسیم باید n/2 بار کم می کردیم
اما اگه بخواهیم به دو برسیم باید (n-2)/2بار کم کنیم
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال: #۱۰
  

Ametrine پاسخ داده:

RE: رسم درخت بازگشتی و به دست آوردن مرتبه ی اجرایی از روی آن؟!!!

(۲۲ مهر ۱۳۹۳ ۱۲:۵۷ ق.ظ)fatemeh69 نوشته شده توسط:  
(21 مهر ۱۳۹۳ ۱۱:۵۹ ب.ظ)Ametrine نوشته شده توسط:  لطفاً توضیح بدید ارتفاع درخت چطوری بدست میاد؟
تو این مثالی که نوشتید در هر سطح از درخت ۲ تا از مقدار n کم می شود درخت تا سطحی ا دامه دارد که n به ۲ برسد (چرادو؟ چون مبنای لگاریتممان دو است و لگاریتم عدد کمتر از دو در مبنای دو منفی می شود)
حالا وقتی از n شروع می کنیم و می خواهیم به دو برسیم و هر سطح که میایم پایین دو واحد کم می شه چند سطح باید بیاییم پایین تا بشه دو؟
n-2/2
چرا؟
چون اگه از n قرار بود دو واحد دو واحد کم بشه تا به صفر برسیم باید n/2 بار کم می کردیم
اما اگه بخواهیم به دو برسیم باید (n-2)/2بار کم کنیم
تشکر، متوجه شدم.
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال: #۱۱
  

zahraaahmadi29 پاسخ داده:

Re: رسم درخت بازگشتی و به دست آوردن مرتبه ی اجرایی از روی آن؟!!!

بچا ها فصل اول کتاب پوران فرمول های خیلی جالبی در مورد این مرتبه ها گذاشته بخونید خیلی خوبه و راحت البته حفظی
مشاهده‌ی وب‌سایت کاربر
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  دریافت مدارک تحصیلی به صورت آنلاین امکان داره ؟ MohsenRezaei ۱ ۲۹۰ ۰۹ دى ۱۴۰۲ ۰۴:۰۲ ب.ظ
آخرین ارسال: MohsenRezaei
  تعداد برگ درخت؟؟؟؟؟؟؟ rad.bahar ۴ ۴,۰۱۳ ۱۵ آذر ۱۴۰۲ ۱۱:۵۳ ق.ظ
آخرین ارسال: mohamadrra
Exclamation سلام لطفاً یکی به من بگه مرتبه زمانی ها چطوری به log تبدیل میشن فرمول داره؟؟ Azadam ۶ ۴,۰۸۳ ۰۶ دى ۱۴۰۰ ۰۹:۰۲ ق.ظ
آخرین ارسال: Soldier's life
  دو سوال در مورد درخت BST(درخت جستجوی دودویی) امیدوار ۳ ۵,۲۳۰ ۱۰ دى ۱۳۹۹ ۱۲:۰۴ ق.ظ
آخرین ارسال: marzi.pnh
  زمان جستجوی درخت fateme.sm ۰ ۱,۶۲۸ ۰۶ دى ۱۳۹۹ ۱۰:۴۱ ب.ظ
آخرین ارسال: fateme.sm
Smile فروش کتابهای دست دوم و ارزان آمادگی ارشد انفورماتیک پزشکی qizilbash ۱ ۴,۳۲۰ ۲۸ آبان ۱۳۹۹ ۱۱:۳۴ ب.ظ
آخرین ارسال: zeilabi69
  مرتبه ایجاد درخت rad.bahar ۱ ۳,۱۱۲ ۳۰ مهر ۱۳۹۹ ۰۳:۳۴ ب.ظ
آخرین ارسال: rad.bahar
  مرتبه شبه کد rad.bahar ۱ ۲,۱۱۸ ۲۲ مهر ۱۳۹۹ ۰۹:۳۲ ب.ظ
آخرین ارسال: BBumir
  عمق درخت ???? rad.bahar ۱ ۲,۱۶۴ ۱۱ مهر ۱۳۹۹ ۰۳:۳۱ ب.ظ
آخرین ارسال: عزیز دادخواه
  حل مساله مرتبه زمانی حلقه های تو در تو sarashahi ۱۶ ۲۱,۵۲۵ ۱۹ خرداد ۱۳۹۹ ۰۱:۱۶ ب.ظ
آخرین ارسال: gillda

پرش به انجمن:

Can I see some ID?

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

Feeling left out?


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

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

Feeling left out?


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