حتما همهی شما با فرآیند انتخاب واحد دانشگاهها آشنا هستید. معمولا دانشجویان سعی میکنند، دروسی را انتخاب کنند تا در حداقل تعداد روزهای هفته، بیشترین تعداد واحد ممکن را بگیرند. اما این کار وقتی که تعداد دروس و اساتید زیاد باشد، مشکل است و باید وقت زیادی را صرف آن کرد. در نتیجه تصمیم گرفتم تا برنامهای را بنویسم که با گرفتن لیست دروس مورد نظر، تمامی برنامههای هفتگی ممکن را نمایش دهد.
فناوریهای استفاده شده:
- ASP.NET MVC برای سرور
- AngularJS برای کلاینت
الگوریتم پیاده سازی شده:
در مورد الگوریتم نیز باید بگویم که من از همان ابتدا سادهترین راه، یعنی تست کردن تمامی حالات ممکن را پیاده سازی کردم. متاسفانه این روش منابع زیادی را مصرف میکند و زمان بر است. البته قطعا میتوان همین روش را با بهینه سازیهایی از جمله انتخاب ساختمان دادههای مناسبتر و تغییراتی در الگوریتم، کاراتر کرد.
همچنین پس از پایان کار، با کمی تحقیق فهمیدم که برای حل این مساله، راه سر راست و ساده ای وجود ندارد. ولی قطعا میتوان با استفاده از الگوریتمهای خاصی، راه حل بهتر و بهینهتری را پیاده سازی کرد که هدف از به اشتراک گذاری این برنامه همین مساله هست.
برای مثال لینکهای زیر به توضیح راهحلهایی برای مسائل مشابه پرداختهاند:
دریافت سورس کد
برای دریافت سورس کد برنامه به لینک زیر مراجعه کنید:
تصاویری از برنامه: