لینک دانلود و خرید پایین توضیحات
دسته بندی : پاورپوینت
نوع فایل : powerpoint (..ppt) ( قابل ویرایش و آماده پرینت )
تعداد اسلاید : 30 اسلاید
قسمتی از متن powerpoint (..ppt) :
بنام خدا
آرایه ها و مرتب سازی
ساختمان داده ها و الگوریتمها
آرایه
آرایه مجموعه ای محدود و معین از عناصر هم نوع است
مثال : ,5] [1 ,2,3,4
اعضای آرایه به صورت صریح تعریف می شوند
آرایه با اعضای آن به صورت کامل مشخص می شود
تعاریف ریاضی و مفهومی مانند “ مجموعه اعداد اول کوچکتر از 100” در اینجا استفاده نمی شود
اعمال روی آرایه
ساخت آرایه: شامل اختصاص حافظه به تعداد معین و از نوع معین است:
X = Create_Array(‘integer’ , 100);
دسترسی برای مقدار دهی به آرایه از طریق یک اندیس و عملگر [] انجام می گیرد: x[2] = 5
خواندن مقدار آرایه هم با همین عملگر میسر است: y = x[34]
جستجو در آرایه و مرتب سازی آن به منظور جستجوی سریعتر، مهمترین اعمال سطح بالای آرایه هستند
مرتب سازی
مرتب سازی
برای یافتن یک عضو خاص، باید تمام اعضای آرایه را بازبینی کرد. برای آرایه های خیلی بزرگ این کار زمان زیادی می برد
اگر آرایه مرتب شد باشد یعنی یک رابطه ترتیب مثل : for all i , j if i
مثال: برای یافتن عضو (3) تنها کافی است نیمه اول آرایه [1 2 3 4 5 7 9 10] را بازرسی کنیم.
معمولا مرتب سازی یکبار انجام می گیرد و پس از آن، افزودن اعضای جدید به آرایه با الگوریتم هایی که ترتیب را حفظ می کنند، انجام می شود.
الگوریتم بکار رفته برای مرتب سازی ممکن است بسیار زمانبر یا پر مصرف باشد. بنابراین سعی بر این است که الگوریتمهایی طراحی کنیم که هزینه کمتری داشته باشند
الگوریتم طراحی شده و برنامه نوشته شده باید :
درست باشد.
از منابع موجود به نحو مناسب استفاده کند.
با برنامه های دیگر بنحو مسالمت آمیز اجرا شود.
پیاده سازی آن راحت باشد.
یک الگوریتم مرتب سازی
void anysort(int [] A){
int N = A.length ;
int flag = 1 ;
while (flag ==1 ){
flag = 0 ;
for (int k=0 ; k
if (A[k] > A[k+1] ){
int temp = A[k] ;
A[k] = A[k+1] ;
A[k+1] = temp ;
flag = 1 ;
}
}
}
هزینه
C1
C2
C3
C4
C5
C6
C7
C8
C9
C10
تکرار
1
1
N
N
N
N(N-1)
N(N-1)
N(N-1)
N(N-1)
N(N-1)
لینک دانلود و خرید پایین توضیحات
دسته بندی : پاورپوینت
نوع فایل : powerpoint (..ppt) ( قابل ویرایش و آماده پرینت )
تعداد اسلاید : 40 اسلاید
قسمتی از متن powerpoint (..ppt) :
بنام خدا
درخت دودویی و مرتب سازی با آن Binary Trees & Heap sort
ساختمان داده ها والگوریتمها
درخت Tree
درخت ساختمان داده ای مرکب از مجموعه ای از گرهها( Nodes ) و مجموعه ای از لبه هاست (Edges) به شرطی که:
هر گره یا ریشه درخت یا فرزند یک و تنها یک گره دیگر است.
هر درخت تنها یک ریشه دارد، ریشه درخت فرزند هیچ گره دیگر نیست .
هر گره می تواند چندین فرزند داشته باشد ولی تنها یک پدر دارد.
سطح گره Node Level : سطح گره بیانگر سطح رابطه فرزندی یک گره با ریشه درخت است گره از نسل چندم است ؟
سطح ریشه، صفر است و سطح هر گره دیگر، یکی بیشتر از سطح پدر اوست.
عمق درخت: عمق درخت برابر با ماکزیمم سطح گرهها است.
گره برگ: گرهی است که هیچ فرزندی نداشته باشد.
درخت ها را با تفصیل بیشتر، در آینده مطالعه خواهیم کرد
نمایش درخت
معمولا، برای نمایش درخت، ریشه آن را در بالا و فرزندان آن را کمی پایین تر و در زیر آن رسم می کنند. رابطه پدر فرزندی را با پیکانی که نوک آن به سمت فرزند است، نمایش می دهند.
درخت دودوی Binary Tree
درخت دودویی، درختی است که هر گره آن حداکثر دو فرزند دارد
این نوع درخت کاربردهای زیادی مانند مرتب سازی، جستجو، ارزیابی عبارات ریاضی و ... دارد
پیاده سازی آن نیز آسان است