advertise laitec sharif univercity
دانلود پروژه پایانی طراحی وب سایت مخابرات با Asp.net

دانلود پروژه پایانی طراحی وب سایت مخابرات با Asp.net

48000 تومان
پکیج ویژه پروژه پایانی و پایان نامه رشته کامپیوتر

پکیج ویژه پروژه پایانی و پایان نامه رشته کامپیوتر

148000 تومان
دانلود پروژه مدیریت کتابخانه با سی شارپ و SQL سرور

دانلود پروژه مدیریت کتابخانه با سی شارپ و SQL سرور

10000 تومان
دانلود سورس اندروید اپلیکیشن افزایش سرعت گوشی

دانلود سورس اندروید اپلیکیشن افزایش سرعت گوشی

18000 تومان
دانلود پایان نامه وب سایت مهندسی پزشکی با ASP.net

دانلود پایان نامه وب سایت مهندسی پزشکی با ASP.net

28000 تومان

تحلیل کارایی ساختمان داده ها

ساختمان داده ی مورد استفاده توسط الگوریتم میتواند تاثیر شگرفی در کارایی الگوریتم داشته باشد، پس خوب است که از روشهای تحلیل کارایی ساختمان داده ها از جمله روش نشانه گذاری O بزرگ و روش تست های زمانی استفاده کنیم
تحلیل کارایی ساختمان داده ها

تحلیل کارایی ساختمان داده ها

وقتی راجع به یک مسئله برنامه نویسی فکر میکنید، میخواهید الگوریتمی برای مسئله بنویسید که آن را با سرعت خوبی اجرا نماید. مثلا اگر میخواهید مقداری را در یک لیست 1000 عنصری پیدا کنید، الگوریتمی را برای این کار انتخاب میکنید که در زمان کمتری آنرا جست وجو نماید. اما این نکته را باید در نظر داشت که ساختمان داده ی مورد استفاده تاثیر زیادی در یافتن مقدار مورد نظر دارد. مثلا اگر، 1000 مقدار به جای آرایه در درخت جست وجوی دودویی سازماندهی شوند، میتوان الگوریتمی نوشت که در زمان متفاوت در آ رایه مقدار مورد نظر را جست وجو کند.

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

  • روش نشانه گذاری O بزرگ
  • روش تست های زمانی

 

روشهای تحلیل کارایی ساختمان داده ها:

 

♦ نشانه گذاری O بزرگ برای تحلی کارایی

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

روش منظم برای محاسبه زمان اجرای مجانبی یک بلوک از کد (الگوریتم یا برنامه) بصورت زیر می باشد:

  1. مراحل موثر در زمان اجرای الگوریتم را تعیین کنید. همانطور که گفته شد، در مورد آرایه مراحلی که در نظر گرفته میشوند، شامل دستیابی به آرایه جهت خواندن و نوشتن آن است. برای ساختمان داده های دیگر ممکن است مراحل فرق کند. معمولا میخواهیم مراحلی را در نظر بگیریم که شامل خود ساختمان داده است و عملیات ساده ای را که توسط کامپیوتر انجام میشوند، در نظر نمیگیریم.
  2. خط یا خطوطی از کد که مراحل مورد نظر را اجرا میکنند، پیدا کنید و هر کدام از انها را 1 واحد در نظر بگیرید. (یعنی یک بار به تعداد دفعات اجرا اضافه کنید.)
  3. برای هر خطی که در مرحله 2 در نظر گرفتید، مشخص کنید که آیا در حلقه قرار دارد یا خیر. اگر در حلقه قرار داشت مقدار 1 را به حداکثر تعداد تکرار حلقه تبدیل نمایید. یعنی اگر حلقه n  بار اجرا میشود، آن دستور باید n بار تکرار گردد. اگر آن خط در داخل حلقه تودرتو باشد و هر دو حلقه n بار اجرا شوند،     n*n=n²    را خواهید داشت و اگر آن خط در داخل سه حلقه باشد،   n*n*n=n³   را خواهید داشت.
  4. بزرگترین جمله را انتخاب کنید. این جمله زمان اجرا را نشان میدهد.

 

♦ روش تست های زمانی برای تحلیل کارایی

تست های زمانی میتوانند اجرای کد را برحسب ثانیه یا سایر واحدهای زمانی در کامپوتر بیان کنند. در این روش مدت زمان لازم برای اجرای الگوریتم محاسبه میشود.

فرض کنید متدی بصورت زیر موجود است:

Static   void   outputArray (int[]  arr)

{

        for (int i = 0  ; i  <=  arr.Length  ;  i++)

                     Console.Write(arr[i]   +  “  “ );

}

 

برای محاسبه زمان این متد لازم است متغیری را ایجاد کنیم که زمان سیستم را در لحظه فراخوانی این متد نگه دارد. به متغیر دیگری نیاز داریم تا مدت زمان اجرای متد را نگه دارد:

DateTime  startTime;

TimeSpan  duration;

بدیهی است که duration برابر با تفاضل زمان سیستم در شروع اجرای متد و زمان سیستم در پایان اجرای متد است، یعنی:

startTime = DateTime .Now;

duration =  DateTime .Now.Subtract (startTime);

 

 



0
نظرات

نظر خود را ارسال کنید



نام:
ایمیل:
دیدگاه:
captcha
کد امنیتی :


advertise
تحلیل کارایی ساختمان داده چگونه است؟روش تست های زمانی برای تحلیل کارایی نشانه گذاری O بزرگ برای تحلی کاراییآشنایی با روشهای تحلیل کارایی Data Structure معرفی روشهای تحلیل کارایی Data Structureتحلیل کارایی ساختمان داده ها چیست؟تحلیل کارایی الگوریتم در ساختمان دادهروشهای تحلیل کارایی ساختمان داده هاروشهای بررسی کارایی ساختمان داده هاتبلیغات ارزان سایت آموزش برنامه نویسیتبلیغات مخصوص طراحان وب سایتتبلیغات در سایت برنامه نویسیتبلیغات اینترنتی برای برنامه نویساندر آغوش مینیمالیسممنوی همبرگر با سه خط افقی که روی یکدیگر قرار گرفته اند نشانه چیست؟ سوئیچ به یک ستون واحدتبدیل متن ساده به وبلاگ و سایت های پویا با React.jsکتابخانه sass برای استفاده آسان تر از آنکتابخانه سطح بالا برای اتوماتیک سازی اعمال مرورگر لیست برچسب ها
تمامی حقوق این سایت اعم از محتوی ، تصاویر ، قالب و ... متعلق به گروه مهندسی وب سایت سورس کد می باشد.
SourceCodes.ir ، افقی روشن برای برنامه نویسان ، از مبتدی تا حرفه ای

پیشنهادات ویژه سورس کد

پکیج ویژه پروژه پایانی رشته کامپیوتر دانلود مجموعه 70 پروژه کاربردی سی شارپ وب سایت فروشگاه با php