پاورپوینت درمورد ساختمان دادهها و الگوريتم
ساختمان دادهها و الگوريتم
رشته علوم کامپيوتر
ناصر آيت
در مورد ساختمان داده
ساختمان داده روشی است برای معرفی و دستکاری داده
و کلیه برنامه های معرفی داده
برای معرفی داده نیازمند یک الگوریتم میباشد.
روش های طراحی الگوریتم نیازمند پیشرفت برنامه هایی است که برای نگهداری داده است.
در علوم کامپیوتر مطالعه ساختمان داده ها مهم وضروری میبا شد.
Perequisites
C++
پیچیدگی
Big oh , theta and omega notation
Sorting
ترتیب زیر را در نظر بگیرید:
a[0],a[1],…, a[n-1]
پس از مرتب سازی صعودی داریم:
a[0] <=a[1] <= ….<=a[n-1]
example:8,6,9,4,3 => 3,4,6,8,9
Sort metods
Insertion sort
Bubble sort
Selection sort
Count sort
Shaker sort
Shell sort
Heap sort
Merge sort
Quick sort
اضافه کردن یکinsert an element
لیست ترتیبی زیر را در نظر بگیرید:
input: 3, 6, 9, 14
عنصر 5 را به لیست فوق اضافه کنید.
output: 3, 5, 6, 9, 14
Insert An Element
3, 6, 9, 14 insert 5
عدد 5 را با آخرین عنصر لیست مقایسه کنید .
Shift 14 right to get 3, 6, 9, , 14
Shift 9 right to get 3, 6, , 9, 14
Shift 6 right to get 3, , 6, 9, 14
با اضافه کردن 5 خروجی:
Output: 3, 5, 6, 9, 14
Insert An Element
// insert into a[0:i-1]
Int j;
For (j=i-1 ; j>=0 && t <a[ j] ;j–)
A[ j+1] = a[ j]
A[ j+1] = t ;
Insertion sort
.1لیستی با سایز1 در نظر بگیرید.”اولین عنصر را داخل لیست قرار دهید.“
.2عمل insertion را تکرار کنید بطوریکه ترتیب داده ها حفظ شود
Insertion sort
Sort 7, 3, 5, 6, 1
Start with 7 and insert 3=> 3,7
Insert 5=>3, 5, 7
Insert 6=>3, 5, 6, 7
Insert 1=>1, 3, 5, 6, 7
Insertion sort
For (i=1 ; i<a.length ; i++)
{// insert a[i] into a[0:i-1]
//code to insert comes here
}
For (i=1 ; i<a.length ; i++)
{// insert a[i] into a[0:i-1]
//code to insert comes here
int t =a[ j]
int j;
For ( j=i-1 ; j>=0 && t <a[ j] ; j–)
A[ j+1] = a[ j]
A[ j+1] = t ;
}
Complexityیا پیچیدگی
پیچیدگی مکانی /حافظه ای
پیچیدگی زمانی
.1شمارش یک عملگر خاص
.2شمارش تعداد مراحل
.3پیچیدگی Asymptotic
Compration count
شمارش مقایسه ای
For (i=1 ; i<a.length ; i++)
{// insert a[i] into a[0:i-1]
//code to insert comes here
int t =a[ j]
int j;
For ( j=i-1 ; j>=0 && t <a[ j] ; j–)
A[ j+1] = a[ j]
A[ j+1] = t ;
}
Compration count
یک نمونه کاراکتری از n را در نظر بگیرید، که در آن n طول لیستی باشد که می خواهیم روی آن
Insertion sort را انجام دهیم.
و تعداد توابع این نمونه کاراکتری را بشمارید.؟؟؟؟
Determine count as a function of this instance characteristic.???
For (j=i-1 ; j>=0 && t <a[ j] ;j–)
A[ j+1] = a[ j];
nچند مقایسه انجام شده است ؟
For (j=i-1 ; j>=0 && t <a[ j] ;j–)
A[ j+1] = a[ j];
شمارش تعداد مقایسات وابسته به a[] وt با توجه به i
Worst-case count=maximum count
Best –case count=minimum count
Avarage count
Worst-case Compration count
For (j=i-1 ; j>=0 && t <a[ j] ;j–)
A[ j+1] = a[ j];
A=[1,2,3,4] and t=0 =>4 compares
A=[1,2,3,..,i] and t=0 =>i compares
for(int i=1; i< n ; i++)
For (j=i-1 ; j>=0 && t <a[ j] ;j–)
A[ j+1] = a[ j];
تعداد کل مقایسات :
Total comprase =1+2+3+…+(n-1)
=(n-1)n/2
Step count
یک مرحله از محاسبات وابسته است به مقادیر n
برای مثال :
10 add , 100 subtracts,1000 multiplies
فقط یک step محسوب میشود .
وبه این مفهوم نمی باشد که با افزایش n یک مرحله نیز به تعداد step اضافه شود.
متن بالا فقط تکه هایی از محتوی متن پروژه میباشد
که به صورت نمونه در این صفحه درج شده است.
شما بعد از پرداخت آنلاین فایل را فورا دانلود نمایید .
فرمت فایل :پاورپوینت
تعداد اسلاید:387
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.