توضیحات

توجه : به همراه فایل word این محصول فایل پاورپوینت (PowerPoint) و اسلاید های آن به صورت هدیه ارائه خواهد شد

  دانشجویی مقاله تبدیل مبنا در pdf دارای 16 صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است

فایل ورد دانشجویی مقاله تبدیل مبنا در pdf  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.

توجه : در صورت  مشاهده  بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل فایل ورد می باشد و در فایل اصلی دانشجویی مقاله تبدیل مبنا در pdf،به هیچ وجه بهم ریختگی وجود ندارد


بخشی از متن دانشجویی مقاله تبدیل مبنا در pdf :

تبدیل مبنا

درخت مبنا (radix tree) یا درخت پاتریشیا (Patricia tree) یا درخت کریت بیت (crit bit tree)، گروهی از داده ساختار های بر پایه ترای هستند که برای نگهداری مجموعه ای از رشته ها استفاده می شوند. برخلاف ترای معمولی، یال ها در درخت مبنا با مجموعه ای از کاراکترها

برچسب گذاری می شوند. این برچسب می تواند رشته ای از کاراکترها، مجموعه از بیت ها به عنوان یک عدد صحیح یا یک IP address باشد یا به طور کلی مجموعه ای اختیاری از اشیا به ترتیب نوشتاری. گاهی اوقات اسامی درخت مبنا و درخت کریت بیت فقط به درخت هایی اطلاق می‌شود که اعداد صحیح را نگه داری می کنند و درخت پاتریشیا، برای ورودی‌های کلی تر استفاده می‌شود اما ساختار آن در همه موارد به همین صورت است.
نگاه کلی

آسان تر است که درخت مبنا را به عنوان یک ترای در نظر بگیریم که از لحاظ حافظه بهینه شده است، چرا که هر گره با یک بچه در درخت مبنا با فرزندش ادغام می شود. نتیجه این می‌شود که هر گره داخلی حداقل دو بچه دارد. برخلاف ترای معمولی، یال‌ها همون طور که می توانند با یک کاراکتر برچسب گذاری شوند، در این جا می توانند با رشته ای از کاراکترها برچسب گذاری می شوند. این برای مجموعه‌های کوچک ( به خصوص اگر طول رشته‌ها زیاد باشد) یا برای مجموعه هایی که رشته هایشان حروف مشترک ابتدایی زیادی داشته باشند، بسیار کارآمدتر است.

این داده ساختار، عملیات‌های اصلی زیر را پشتیبانی می‌کند و همه آن‌ها از هستند که حداکثر طول یک کلمه در آن گروه از رشته هاست:
• مراجعه: تعیین می‌کند که یک رشته در درخت هست یا نه. این عملیات کاملا همانند درخ

ت‌ها انجام می‌شود با این تفاوت که بعضی یال‌ها ممکن است نشانگر چندین کاراکتر باشند.
• درج: اضافه کردن یک رشته به درخت. درخت را تا زمانی که دیگر نتوانیم پیشروی بیشتری داشته باشیم، جستجو می کنیم. در این نقطه ما باید یک یال خروجی که با تمام کاراکترهای باقیمانده از رشته ورودی برچسب گذاری شده، اضافه کنیم. یا اگر از قبل یالی خروجی که در بخشی از حروف با باقیمانده کلمه اشتراک داشته باشد، وجود داشته باشد، آن را به دو یال تقسیم می کنیم( که اولی با بخش مشترک آن، برچسب گذاری می شود) و پیش می رویم. عمل تقسیم تضمین می‌کند که هیچ گرهی بیشتر از تعداد کاراکترهای رشته ای ممکن، بچه نداشته باشد.

• حذف: حذف یک رشته از درخت. ابتدا برگ متناظر را حذف می کنیم. سپس اگر پدر آن فقط یک بچه داشت، پدر را هم حذف کرده و دو یال لازم را با هم ادغام می کنیم.
• پیدا کردن جد: بزرگ‌ترین رشته کوچکتر از یک رشته داده شده را برحسب ترتیب واژه نگاری پیدا می کند.

• پیدا کردن جانشین: کوچک‌ترین رشته بزرگتر از رشته داده شده را بر حسب ترتیب واژه نگاری پیدا می کند.
یک تعمیم متداول درخت مبنا، از گره‌های دورنگی استفاده می کند. سیاه و سفید. برای بررسی اینکه آیا یک رشته در درخت هست یا نه، جستجو از بالا آغاز می‌شود و یال‌های رشته ورودی را تا زمانی که دیگر نتوان جلوتر رفت، دنبال می کند. اگر جستجوی رشته تمام شده باشد و گره نهایی سیاه بوده باشد، جستجو ناموفق بوده است و اگر سفید بود، جستجو موفق. این روش ما را قادر می سازد که با استفاده از گره‌های سفید، طیف وسیعی از رشته‌ها با حروف ابتدایی مشترک را به یک درخت اضافه کنیم. سپس گروه کوچکی از استثنائات را با استفاده از درج آن‌ها با گره سیاه، با یک روش کارآمد از لحاظ فضا، حذف کنیم.
کاربردها
همانطور که ذکر شد، درخت مبنا برای ساخت آرایه‌های شرکت پذیر با کلید هایی که به صورت رشته بیان می شوند، مفید است. و همچنین کاربرد ویژه ای در حوزه IP Addressها دارد، جایی که توانایی شامل شدن محدوده بزرگی از کلیدها با تعداد کمی استثنا، به طور ویژه ای برای سازماندهی سلسله مراتبی IP Addressها مناسب است. درخت مبنا همچنین د

ر شاخص‌های وارونه پرونده‌های متنی در بازیابی اطلاعات مورد استفاده قرار می گیرد.

تاریخچه
اولین بار دونالد موریسون در 1968 چیزی که خودش

درخت پاتریشیا نامید را توصیف کرد. نام آن در واقع مخفف “الگوریتم عملی برای بازیابی اطلاعات کدشده به صورت الفباعددی” ( Practical Algorithm To Retrieve Information Coded In Alphanumeric) می باشد. گرنوت گوهنبرگر در همان زمان به طور مستقل این داده ساختار را طراحی و توصیف کرد.
مقایسه با دیگر داده ساختارها
برخلاف درخت‌های متوازن، درخت مبنا اجازه مراجعه، درج و حذف را در به نسبت را می دهد. زمانی که این یک برتری به نظر نمی آید اما در یک درخ

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

است اما درخت مبنا مقایسه برای جستجوی

رشته ای به طول نیاز دارد. درخت‌های مبنا می توانند این عملیاتها را با تعداد مقایسه کمتر و نیازمندی به تعداد گره‌های کمتر انجام دهند.
درخت مبنا از مزیت‌های درخت‌ها نیز بهره می برند. اگرچه آن‌ها می توانند برای رشته ای از عناصر یا عناصری با یک نگاشت (mapping) برگشت پذیر کارآمد به رشته‌ها به کار روند، اما فاقد عمومیت فوق العاده درخت‌های متوازن جستجو می باشند که برای هر نوع داده دارای ترتیب می تواند استفاده شود. یک نگاشت برگشت پذیر به رشته ها، می تواند برای تولید ترتیب موردنیاز برای درخت متوازن جستجو استفاده شود اما نه همه جا. همچنین این می تواند گیج کننده باشد که برای یک نوع داده ای فقط عملیات مقایسه تعریف شده باشد و نه یک ترتیب مشخص.
اغلب گفته می‌شود که جداول درهم سازی ( Hash tables ) عمل درج و حذف را در انجام می دهند، اما این فقط وقتی درست است که فرض کنیم محاسبه درهم سازی یک کلید، عملیاتی با زمان ثابت است. اگر درهم سازی یک کلید نیز محا

سبه شود، جداول درهم سازی عمل درج و حذف را در انجام می دهند که با توجه با شیوه ای که برای حل برخوردها اعمال می شود، در بدترین حالت حتی زمان بیشتری هم می گیرد. درخت مبنا کران بالای اجرای برای درج و حذف دارد. همچنین عملیات‌های یافتن جد و جانشین نیز در جداول درهم سازی پیاده سازی نمی شود.
گونه‌های دیگر
HAT-trie یک داده ساختار آگاه از حافظه پنهان مبتنی بر درخت مبناست که نگهداری، بازیابی و از سرگیری ترتیبی کارآمدی را برای رشته‌ها فراهم می کند. اما عملکرد آن با احترام به زمان و حافظه مصرفی آن، قابل مقایسه با جداول درهم سازی بهینه در استفاده از حافظه پنهان است.

باینری و دسیمال و تبدیل آنها به یکدیگر :
می خواستم در مورد IP ها توضیح بدم دیدم احتمالا تو توضیحات به مشکل باینری و دسیمال بر می خوریم

برای همین گفتم همین جا همه چیز رو در مورد این مبنا ها بگم
سعی می کنم ساده توضیح بدم که متوجه بشین، سعس کنید کامل مطالعه کنید تا دیگه با این موضوع مشکل نداشته باشید

دسیمال : یعنی مبنای 10
باینری : یعنی مبنای 2

اکتان : یعنی مبنای 8
هگزا دسیمال : یعنی مبنای 16

وقتی ما از عددی مثل 225 صحبت می کنیم

یعنی یک مقدار عددی هست که در مبنای 10 یعنی دسیمال نمایش داده میشه ، اما همین عدید رو اگر بخواهیم به صورت باینری ( مبنای 2 ) نمایش بدیم نتیجه میشه 11100001 به صورت اکتان میشه 341 و به صورت هگزا دسیمال ( مبنای 16 ) میشه E1 ولی همه این مدل نمایش ها در نهایت بیانگر یک عدد هستند که به صورت های مختلف نمایش داده شده اند
که تو حالت عادی ما و روزمره از اعداد در مبنای 10 استفاده می کنیم
ولی در کامپیوتر از مبنای 2 یعنی همون باینری استفاده میشه ، برای همین ما باید بتوانیم مبنای 10 را به 2 تبدیل کنیم

اما روش تبدیل :
روش تبدیل دسیمال به باینری : ( مبنای 10 به مبنای 2 )
فرض کنید می خواهم عدد 253 که دسیمال هست را به باینری تبدیل کنم
برای اینکار باید عدد 253 را به 2 تقسیم کنیم
بعد با قی مانده را نگه داریم و خارج قسمت را به 2

تقسیم کنیم
دوباره باقی مانده را نگه می داریم و خارج قسمت را به 2 تقسیم می کنیم ، این کار و ادامه میدهیم تا جایی که خارج قسمت 0 بشه

سپس باقیمانده‌ها را یادداشت می‌کنیم به این صورت که اولین باقیمانده‌ را در سمت راست و آخرین باقیمانده‌ را در سمت چپ می‌نویسیم
که برای عدد 253 ای که ما داشتیم جواب برابر 11111101 می شود

حالا فرض کنید ما می خواهیم حاصل تبدیل ما از دسیمال به باینری یک عدد 8 رقمی باشه و لی جواب ما کمتر از 8 رقم بشه . مثلا فرش کنید شده 11101 یعنی 5 قم ، پس ما 3 رقم کم داریم ، برای همین به سمت چپ به تعدادی که لازم داریم 0 اضافه می کنیم . پس میشه 00011101

شما برای تمرین چند تا عدد رو به باینری تبدیل کنید ، برای مثال 132 و 80 رو به باینری تبدیل کنید

اما حالا تبدیل باینری به دسیمال : ( مبنای 2 به مبنای 10 )
فرض کنید حالا ما می خواهیم عدد باینری 11111101 را به دسیمال تبدیل کنیم ( عکس عمل قبلی )
برای اینکار میایم عدد اول از سمت راست یعنی 1 را در 1 ضرب می کنیم
1*1
بعد عدد دوم از سمت راست را که میشه 0 در 2 ضرب می کنیم
0*2
بعد عدد سوم از راست که میشه 1 را در 4 ضرب می کنیم ، عدد بعدی در 8 ، بعدی 16 و ;
و در انتها جواب همه ضرب ها رو با هم جمع می کنیم

برای مشخص كردن تعداد چیزها آن ها را می ش

ماریم. این شمارش باید در دستگاه مشخصی و در چهارچوب خاصی انجام گیرد. به طور معمول شمارش در دستگاه دهدهی انجام می شود، یعنی دستگاهی كه مبنای شمارش ر آن 10 است. در این دستگاه واحد هر مرتبه 10برابر واحد مرتبه ی قبلی است. مثلاً واحد مرتبه هزارگان 10برابر واحد مرتبه ی صدگان است و واحد مرتبه ی ص

دگان10برابر واحد مرتبه ی دهگان است و واحد مرتبه ی دهگان 10برابر واحد مرتبه ی یكان می باشد.
اما آیا می توان شمارش را به گونه ای دیگر نیز انجام داد ؟
به مثال زیر توجه كنید:
مدیر یك كارخانه ی لیوان سازی به انباردار خود دستور داد آمار تمام لیوان های موجود در انبار كارخانه را به او بدهد. در واحد بسته بندی این كارخانه هر 6 عدد لیوان را در یك بسته پلاستیكی و هر 6 بسته را در یك كارتن و هر 6 كارتن را در یك جعبه و بعد هر 6 جعبه را در یك صندوق چوبی بزرگ قرار می دهند. سپس صندوق ها را بار قطار كرده و برای مشتریان خود به شهرهای دور و نزدیك می فرستند. انباردار برای شمارش تعداد لیوان ها جدولی را كه در اختیار داشت به صورت زیر كامل كرد:
واحد یكی بسته كارتن جعبه صندوق
تعداد 2 1 4 1 5
او در گزارش خود تعداد لیوان های موجود را 51412 نوشت. اما وقتی تعجب مدیر كارخانه را دید ساعتی بعد آن را اصلاح كرد و تعداد لیوان ها را 6848 اعلام كرد .
آیا به نظر شما او دروغ گفته بود ؟

خیر. او هر دو بار راست گفته بود ولی فراموش كرده بود كه روش شمارش لیوان ها را توضیح دهد. در مرتبه ی اول او تعداد لیوان ها را بر اساس چگونگی بسته بندی آن ها حساب كرده بود. در این روش شمارش در مبنای 6 انجام گرفته بود و او می بایست تعداد لیوان ها را 6(51412) ثبت می كرد. در مرتبه ی دوم او با توجه به این كه می دانست در هر بسته 6 لیوان و در هر كارتن6*6لیوان و در هر جعبه 6*6*6 لیوان و در هر صندوق 6*6*6*6 لیوان وجود دارد، جدول خود را به صورت زیر كامل كرد :
واحد یكی بسته
6تایی كارتن
36 تایی جعبه
216 تایی صندوق
1296تایی

تعداد 2 6
1* 36
4 * 216
1 * 1296
5 *
2 6 144 216 6480
و سپس مجموع آن ها را به دست آورد : 6848 = 2+ 6 + 144 + 216 + 6480

این عدد تعداد لیوان ها را در مبنای 10 نشان می دهد. پس : 6848 = 6( 51412 )
سؤال : در آمارگیری ماه بعد او تعداد لیوان ها را 6( 14020 ) به دست آورد. به نظر شما او چه عددی را باید در گزارش خود به مدیر كارخانه بنویسد؟
* * * * *
اگر بخواهیم عددی را كه در مبنای غیر 10 نوشته شده به مبنای 10 ببریم. رقم های آن را در توان های مختلف مبنا ضرب می كنیم و سپس مجموع آن ها را به دست می آوریم.
مثال1ـ نمایش معمولی عدد 6( 1053) را بنویسید .
249= 3+ (6*5) + ( 36*0) + ( 216*1) = 6

( 1053)
مثال2ـ نمایش 532 را در مبنای 6 به دست آورید.

6( 2244) = 532
• اگر در مثال های بالا توجه كرده باشید خواهید دید اگر عددی را از یك مبنا به مبنای كوچك تری ببریم نمایش ظاهری عدد بزرگ تر خواهد ش
• در هر مبنا از رقم هایی می توان استفاده كرد كه از خود مبنا كوچك تر باشند. مثلاً در مبنای 10 از رقم های 0 تا 9 ودر مبنای 4 فقط از رقم های 0 ، 1 ، 2 و 3 استفاده می شود.
سؤال: اگر شما 14 سال سن داشته باشید، سن شما در هر یك از مبناهای 2 تا 9 برابر چند می شود؟ در چه مبنایی سن شما بیش تر است ؟
مثال3- بزرگ ترین و كوچك ترین اعداد سه رقمی در مبنای 7 چه اعدادی هستند؟
در مبنای 7 فقط می توانیم رقم های 0 تا 6 را به كار ببریم. دو جواب داریم:
اگر بخواهیم از رقم های تكراری استفاده كنیم،عدد 7(666) بزرگ ترین و عدد7(100) كوچك ترین عدد سه رقمی در مبنای 7 هستند. ولی اگر از رقم های تكراری استفاده نكنیم، عدد7(654) بزرگ ترین و عدد7(102) كوچك ترین عدد سه رقمی در مبنای 7 هستند.

• جمع
برای جمع چند عدد كه مبنای مساوی داشته باشند مانند اعداد در دستگاه دهدهی عمل می كنیم. اعداد را از سمت راست زیر هم می نو

یسیم. ابتدا اعداد جایگاه اول را با هم جمع می كنیم. اگر حاصل از مبنا كوچك تر باشد، آن را می نویسیم و اگر برابر مبنا یا بزرگ تر از آن باشد، آن قدر مبنا و یا مضارب مبنا را از آن كم می كنیم تا باقی مانده كوچك تر از مبنا شود. آن گاه باقی مانده را نوشته و به ازای هر مبنایی كه از حاصل جمع كم كردیم در ستون سمت چپ یك واحد

اضافه می كنیم.
مثال4- حاصل 3(212) + 3(2101) را به دست آورید .
1 1
3(2101)
3(0212) +
3(10020)
• تفریق
در تفریق دو عدد كه مبنای مساوی دارند باید توجه داشت اگر رقم مفروق منه (رقم بالایی) از رقم مفروق كم تر باشد، از رقم سمت چپ آن یك واحد كم می كنیم و به تعداد مبنا به آن رقم مفروق منه اضافه می كنیم.
مثال 5ـ حاصل 5(134) – 5(324) را به دست آورید .
7 2
5(324)
5(134) –
5( 140)
مثال6ـ نمایش عدد4(123) را در مبنای5 بن

ویسید .
27 = 3 + (4*2) + (16*1) =4(123)
5( 102 ) = 27
5( 102 ) = 4(123)

برای دریافت اینجا کلیک کنید

سوالات و نظرات شما

برچسب ها

سایت پروژه word, دانلود پروژه word, سایت پروژه, پروژه دات کام,
Copyright © 2014 icbc.ir