لینک دانلود و خرید پایین توضیحات
دسته بندی : پاورپوینت
نوع فایل : .ppt ( قابل ویرایش و آماده پرینت )
تعداد اسلاید : 28 اسلاید
قسمتی از متن .ppt :
آرایه ها و مرتب سازی
ساختمان داده ها و الگوریتمها
آرایه
آرایه مجموعه ای محدود و معین از عناصر هم نوع است
مثال :,5] [1 ,2,3,4
اعضای آرایه به صورت صریح تعریف می شوند
آرایه با اعضای آن به صورت کامل مشخص می شود
تعاریف ریاضی و مفهومی مانند “ مجموعه اعداد اول کوچکتر از 100” در اینجا استفاده نمی شود
اعمال روی آرایه
ساخت آرایه: شامل اختصاص حافظه به تعداد معین و از نوع معین است:
X = Create_Array(‘integer’ , 100);
دسترسی برای مقدار دهی به آرایه از طریق یک اندیس و عملگر []انجام می گیرد: x[2] = 5
خواندن مقدار آرایه هم با همین عملگر میسر است: y = x[34]
جستجو در آرایه و مرتب سازی آن به منظور جستجوی سریعتر، مهمترین اعمال سطح بالای آرایه هستند
مرتب سازی
مرتب سازی
برای یافتن یک عضو خاص، باید تمام اعضای آرایه را بازبینی کرد. برای آرایه های خیلی بزرگ این کار زمان زیادی می برد
اگر آرایه مرتب شد باشد یعنی یک رابطه ترتیب مثل : for all i , j if i < j A[i]<= A[j] بین تمام اعضای آن برقرار باشد، محدوده جستجوی لازم برای یافتن عضو مورد نظر کوچکتر می شود.
مثال: برای یافتن عضو (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 < N -1 ; 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)