لینک دانلود و خرید پایین توضیحات
دسته بندی : پاورپوینت
نوع فایل : .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)
لینک دانلود و خرید پایین توضیحات
دسته بندی : پاورپوینت
نوع فایل : .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)
لینک دانلود و خرید پایین توضیحات
دسته بندی : پاورپوینت
نوع فایل : .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)
لینک دانلود و خرید پایین توضیحات
دسته بندی : پاورپوینت
نوع فایل : .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)
لینک دانلود و خرید پایین توضیحات
دسته بندی : پاورپوینت
نوع فایل : .ppt ( قابل ویرایش و آماده پرینت )
تعداد اسلاید : 31 اسلاید
قسمتی از متن .ppt :
آرایه Array
آرایه مجموعه اى از متغیرهاى از یک نوع است که با یک نام مشترک تحت استفاده
قرار مى گیرند.
یک عنصر بخصوص در یک آرایه با یک index ( اندیس ) مورد دستیابى قرار مى گیرد.
در C تمام عناصر آرایه از مکانهاى مجاور ( بهم چسبیده ) حافظه تشکیل مى گردند .
کوچکترین آدرس ، آدرس عنصر اول است . بزرگترین آدرس متناظر آخرین عنصر است.
آرایه ها مى توانند یک بعدى یا چند بعدى باشند .
آرایه هاى یک بعدى
فرم کلى آرایه یک بعدى به این صورت است :
type array-name[ size ] ;
همان نوع پایه است که نوع هر عنصر آرایه است . type
اندازه ( size ) مى گوید آرایه چند عنصر درون خود خواهد داشت .
اندیس اولین عنصر هر آرایه ، صفر مى باشد .
مثال : اگر بگویید
int x[10] ;
x به عنوان یک آرایه با 10 عنصر معرفى شده لذا عناصرش
x[0] , x[1] , x[2] , … , x[9]
مى باشد .
عنصر
آدرس
0 1 2 3 4 5 6 7
1000 1002 1004 1006 1008 1010 1012 1014
عنصر
آدرس
8 9
1016 1018
اگر x در حافظه از آدرس 1000 شروع شده باشد آنگاه :
مثال :
#include
main( )
{
int x[10] ;
int t ;
for ( t = 0 ; t < 10 ; ++t ) x[ t ] = t ;
for ( t = 0 ; t < 10 ; ++t ) printf(“x[%d]= %d\n”,t, x[t]);
}
sizeof(type) * length of array
total bytes =
char interest[10] ;
کل اندازه آرایه از فرمول زیر بدست مى آید :
مثال :
int id[4] ;
1 x 10 = 10
مثال :
2 x 4 = 8