PDA

View Full Version : تو الگوریتم تازه کارم لطفا کمکم کنین



ali131025
دوشنبه 13 دی 1389, 01:11 صبح
من دانشجوی رشته کامپیوتر نیستم ولی کتابهاشو گرفتم دارم میخونم برا ارشد همه چیز را تقریبا متوجه شدم الا بعضی از قسمتهای الگوریتم و اینکه
1-کدهایی که برا الگوریتم استفاده میشه از کدام زبان برنامه نویسی استفاده میشه یا برا این کار باید کدهای همه زبانهای برنامه نویسی را بلد باشیم
2-بعدش اینه که کدهای زیر توسط دوستان نوشته شده اما تو جوابها فرق داره علتش چیه مثلا برای محاسبه زمان الگوریتم های زیر که همه چی ثابته الا یه حرف چرا باهم نشده
x=0
for(i=0 ; i<n; i++)
for(j=i ; j<n; j++)
x++;

جواب میشه 2n^2+2n+1 (چرا این شده +1)



s=0;
for(i=0; i<n;i++)
for(j=0; j<i; j++)
s++;


جواب 2n^2+2n+2 ( چرا این شده +2)

3- مرجع کدهای الگوریتم را از کجا میتونم بدست بیاورم فرضا شرط if یا for یا while چه کاری انجا میدهند و کلا در الگوریتم چند تا هستند
4- در این الگوریتم برای مثال مفهوم هر قسمت چیه

Void seqsearch ( int n

const keytype S[ ]

keytype x,

index& location)

{

location = 1;

while (location <= n && S[location] ! = x)

location++;

if (location > n )

location = 0 ;

}


اگه زیاد شد واقعا ببخشین

Arcsinos
دوشنبه 13 دی 1389, 13:41 عصر
خب شما بهتره قبل از اینکه شروع به خواندن الگوریتم کنید ، مقداری یکی از زبانهای سطح بالا را مطالعه کنید (pascal or c or CPP) با توجه به کدی که گذاشتید بهتره cpp بخونید چند فصل اول هر کتابی رو بخونید if & for& while رو به خوبی توضیح میده .

در ضمن قرار نیست پاسخ هر سوالی به علاوه ی 1 یا 2 بشه . با توجه به سوال و حل اون میتونه به علاوه ی 1000 بشه .

توضیحات بیشتر در اینجا (http://barnamenevis.org/showthread.php?267774-%D8%B2%D9%85%D8%A7%D9%86-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D9%87%D8%B1-%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85-%D9%82%D8%B3%D9%85%D8%AA-1).

ali131025
جمعه 17 دی 1389, 00:39 صبح
مرسی ممنونم
درسته جواب سوالامو کامل گرفتم ولی بگذریم
الان تو این الگوریتم که مربوط به حذف از صف میشه هر سطر برا چی اشاره میکنه یا اگه بخواهیم همون سطرو به فارسی بنویسیم چی باید برا هر کدوم بنویسیم

Procedure delete ( var item:data type);
Begin
If rear = n then
Write(‘Queue is full’)
Else
Begin
Rear:=rear+1;
Q [rear]:=item;
End;
End;

تو این الگوریتم
Procedure delete ( var item:data type); به چه چیز اشاره میکنه یا مفهوم فارسیش چی میشه
همینطور بقیه قسمتها و اینکه با کدام دستور حذف انجام میشه
اگه جوابمو بدین خیلی کمکم کردین تو همه اینطور الگوریتمها موندم یا بهتره بگم نمیدونم اگه بخوام به زبان فارسی بگم چطوری میشه

Arcsinos
جمعه 17 دی 1389, 01:02 صبح
Procedure delete ( var item:data type);این قسمت که داره میگه وقتی شی رو پاک کردی اونو به ما برگردون (چون قبل از متغیر item کلمه ی var اومده یعنی اگه این متغیر در داخل تابع تغییر کرد مقدارش تو تابع اصلی هم تغییر کنه ) در ضمن قسمت بعدی یعنی :

Q [rear]:=item;به این صورته :

item:=Q [rear];همچنین تو تابع delete مقدار n هم باید به تابع داده شود :

Procedure delete ( var item:data type;n:integer);

ali131025
دوشنبه 11 بهمن 1389, 18:20 عصر
باز هم خیلی ممنونم و با تشکر از Arcsinos
با خوندن چند کتاب یه چیزایی فهمیدم ولی بازم خیلی مشگل دارم
اینو گه به فارسی بنویسیم چی میشه
item:=Q [rear];
همون قسمت delete اینجا انجا میگیره؟
اگه بخوام الگوریتم ها را تجزیه کنم و بفهمم چی داره میگه چه کتابهایی برا اینکار خوب هستند چون تو نت سرچ کردم همس راجع به مرتبه زمانی و الگوریتم های بازگشتی حرف زده و اگه هم یه الگوریتمیو توضیح داده فقط فارسیشو نوشته مثلا برای عوض کردن لاستیک نوشته اول شروع میکنیم بعد لاستیک عوض میکنیم و ادامه یه راهی نیست که کلا همه الگوریتم ها را فهمید؟