tgoop.com/Fara_Java/38
Last Update:
❇️ ساخت برنامه حل سودوکو در جاوا
در این مقاله قصد داریم به بررسی یک برنامه حل سودوکو و الگوریتمهای مورد استفاده از سوی آن بپردازیم. سپس این راهحلها را در جاوا پیادهسازی میکنیم. نخستین راهحل یک حمله «تهاجم کور» (brute-force) است. راهحل دوم استفاده از تکنیک «لینکهای رقصان» (Dancing Links) است. توجه داشته باشید که در این مقاله، نقطه توجه ما روی الگوریتمها است و طراحی برنامهنویسی شیءگرا چندان موضوع توجه نیست.
🔹 فهرست مطالب این نوشته
▫️ معمای سودوکو
▫️ الگوریتم پسگرد
▫️ لینکهای رقصنده
▫️ مقایسه راه حلها
🔸 معمای سودوکو
سودوکو به بیان ساده یک معمای ترکیبی جایگشت اعداد با شبکهای از سلولهای 9 × 9 است که بخشی از آن با اعدادی از 1 تا 9 پر شده است.
● تخته تست
● تخته حل شده
🔸 الگوریتم پسگرد
قبل از هر چیز باید تخته خود را به صورت آرایهای دوبعدی از اعداد صحیح تعریف کنیم. ما از مقدار 0 برای نمایش سلول خالی خود استفاده میکنیم.
🔸 لینکهای رقصنده
در این بخش به بررسی روش لینکهای رقصنده برای حل معمای سودوکو و پیادهسازی آن در جاوا میپردازیم.
● پوشش دقیق
● الگوریتم X
● مسئله پوشش دقیق
● گره رقصان
● گره ستون
● حل کننده
🔸 مقایسه راه حلها
میتوانیم دو الگوریتم مختلف را با اجرا روی رایانه یکسان با هم مقایسه کنیم. بدین ترتیب از تأثیرگذاری تفاوت اجزای محاسباتی رایانه مانند CPU یا RAM جلوگیری میکنیم، چون زمانهای واقعی روی رایانههای مختلف متفاوت خواهد بود. با این حال، اینک میتوانیم نتایج نسبی را ببینیم و بدین ترتیب میتوان گفت که کدام الگوریتم سریعتر بود است.
ادامه این مطلب رایگان را در مجله فرادرس در لینک زیر بخوانید.
🔗 ساخت برنامه حل سودوکو در جاوا — از صفر تا صد — کلیک کنید.
📌 کانال اختصاصی آموزشهای رایگان جاوا
آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامهنویسی جاوا را در کانال اختصاصی جاوا فرادرس [@Fara_Java] دنبال کنید. 👇
@Fara_Java — مطالب و آموزشهای جاوا فرادرس
BY Fara_Java | فرا جاوا: آموزش برنامهنویسی جاوا

Share with your friend now:
tgoop.com/Fara_Java/38