الـگـوريــتم نــويـس

وبـســايــت هر بــــــــــــــــــــرنامه نــــــــــــــــــويس

با عضويت رايگان در خبرنامه الگوريتم نويس مطالب و اخبار جديد سايت را هر هفته در ايميل خود دريافت كنيد.
صفحه اصلی آموزش الگوريتم نويسي

آموزش الگوريتم نويسي
 
 
 
 
 
الگوریتم چیست؟
آموزش مقدماتي
نوشته شده توسط محمد حسين سعادت فر   

کلمه الگوریتم از نام ریاضیدان برجسته ایرانی, ابو جعفر محمد بن موسی الخوارزمی و به پاس خدمات ارزنده او به توسعه دانش بشری گرفته شده‌است. او اولین کسی است که علم جبر را کشف کرد.
لازم به ذکر است که کلمه الجبرا در انگلیسی نیز برگرفته از روی کتاب مشهور او, الجبر و المقابله‌است. به همین دلیل دانشمندان علم کامپیوتر او را پدر برنامه نویسی نامیده‌اند .

در اينجا دو تعريف را براي الگوريتم بيان مي‌كنيم:

 

ادامه مطلب...
 
الگوریتم بلمن-فورد
آموزش سطح متوسط
نوشته شده توسط محمد حسين سعادت فر   

الگوریتم بلمن-فورد الگوریتم پیمایش گراف است که مسئلهٔ کوتاهترین مسیر از مبدأ واحد را برای گراف‌های وزن‌داری که وزن یال‌ها ممکن استن منفی باشد حل می‌کند.

الگوریتم دَیکسترا مسئلهٔ مشابهی را در زمان اجرای کمتر حل می‌کند، اما در آن الگوریتم می‌بایست وزن یال‌ها اعداد نامنفی باشند. بنابراین در عمل الگوریتم بلمن-فورد فقط برای گراف‌هایی که یال با وزن منفی دارند استفاده می‌شود.

قبل از توضیح الگوریتم لازم به ذکر است که اگر گراف دوری با مجموع وزن منفی داشته باشد که از مبدأ قابل دست‌یابی باشد، مسئلهٔ کوتاهترین مسیر جوابی نخواهد داشت، چراکه با پیمایش آن دور به هر تعداد بار دلخواه، مسیرهایی با وزن کمتر و کمتر حاصل خواهد شد.

ادامه مطلب...
 
الگوریتم هاي مرتب سازی
آموزش مقدماتي
نوشته شده توسط محمد حسين سعادت فر   

الگوریتم مرتب‌سازی، در علوم کامپیوتر و ریاضی، الگوریتمی است که لیستی از داده‌ها را به ترتیبی مشخص می‌چیند.

پر استفاده‌ترین ترتیب‌ها، ترتیب‌های عددی و لغت‌نامه‌ای هستند. مرتب‌سازی کارا در بهینه سازی الگوریتم‌هایی که به لیست‌های مرتب شده نیاز دارند (مثل جستجو و ترکیب) اهمیت زیادی دارد.

از ابتدای علم کامپیوتر مسائل مرتب‌سازی تحقیقات فراوانی را متوجه خود ساختند، شاید به این علت که در عین ساده بودن، حل آن به صورت کارا پیچیده‌است. برای مثال مرتب‌سازی حبابی در سال ۱۹۵۶ به وجود آمد. در حالی که بسیاری این را یک مسئلهٔ حل شده می‌پندارند، الگوریتم کارآمد جدیدی همچنان ابداع می‌شوند (مثلاً مرتب‌سازی کتاب خانه‌ای در سال ۲۰۰۴ مطرح شد).

ادامه مطلب...
 
شبه‌ کد
آموزش مقدماتي
نوشته شده توسط محمد حسين سعادت فر   

شبه‌کد (به انگلیسی: pseudocode)روشی سریع،فشرده و غیر رسمی برای توضیح یک الگوریتم کامپیوتری است که از ساختارهای معمول بعضی از زبانهای برنامه نویسی استفاده میکند که برای خوانده شدن توسط انسان و نه ماشین طراحی شده است. شبه کد معمولا فاقد جزئیاتی است که انسان بتواند بدون آنها الگوریتم را بفهمد مثل تعریف متغیرها،کدهای وابسته به سیستم (سیستم عاملهای مختلف یا غیره) و زیرروالها. در شبه کدها معمولا برای راحتی از زبان محاوره معمولی یا علامتهای ریاضی نیز استفاه میکنند. هدف از استفاه از شبه کد این است که فهم آن ساده تر از زبانهای برنامه نویسی است.

 

ادامه مطلب...