آموزش الگوریتم و دیتا استراکچر (حل مسئله و ساختمان داده) برای برنامه نویسان و مصاحبههای شغلی
اگر بخوای توی مصاحبه شغلی برنامه نویسی شرکت کنی (مخصوصا مصاحبه شرکتهای خارجی)، در صورتی که شرکت بزرگ و درست حسابی باشه به احتمال زیاد یکی از مصاحبههایی که داری مصاحبه الگوریتم ودیتا استراکچر خواهد بود . البته به عنوان یه برنامه نویس کلا تقویت الگوریتم و دیتا استراکچر خیلی میتونه مفید باشه واست.
الگوریتم , حل مسئله
حل یک مسئله خاص با بهینهترین و سریعترین روش ممکن است.
ساختمان داده (دیتا استراکچر)
ساختمان داده (Data Structure) به طور کلی به هر نوع سازماندهی یا روش ذخیره و سازماندهی دادهها در حافظهی کامپیوتر گفته میشود . ساختمانهای داده طراحی شدهاند تا عملیاتهای مختلفی از جمله ذخیره، جستجو، حذف و انتقال دادهها را با کارایی بالا انجام دهند..

Big o (Big O Notation) یا بیگ اُ چیست؟
توی بحث الگوریتم اولین مفهومی که باید یاد بگیرید Big o هستش . برای اینکه پرفورمنس و یا کارایی یک الگوریتم رو بسنجن از یک روش به اسم بیگ اٌ Big o استفاده میکنن.هر چه مقدار Big o بیشتر باشد کارایی الگوریتم کمتر است.برای محاسبه Big o بدترین حالت ممکن را در نظر میگیریم . Big o نمایانگر پیچیدگی زمانی الگوریتم است.
به زبان سادهتر، Big O نشاندهنده سرعت و کارایی الگوریتم است، وقتی که دادههای ورودی بیشتر میشوند، الگوریتم چقدر بهینه باقی میماند.
O(1): ثابت (Constant Time)، الگوریتم با زمان اجرای ثابت، بدون توجه به اندازه ورودی.
O(log n): لگاریتمی (Logarithmic Time)، الگوریتم با زمان اجرای لگاریتمی نسبت به اندازه ورودی.
O(n): خطی (Linear Time)، زمان اجرای الگوریتم خطیاً با اندازه ورودی افزایش مییابد.
O(n log n): خطیترین لگاریتمی (Linearithmic Time)، معمولاً برای الگوریتمهای مرتبسازی پیشرفته مانند مرتبسازی ادغامی (Merge Sort) استفاده میشود.
O(n^2): مربعی (Quadratic Time) ، زمان اجرای الگوریتم با کمک ضریبی از مربع اندازه ورودی افزایش مییابد.

مقالات آموزشی مرتبط با الگوریتم و دیتا استراکچر (algorithm and data structure)
در صورتی که نیاز به ارتباط با ما دارید به دو صورت میتوانید عمل کنید :
شماره تماس : 09024496055 (از ساعت ۱۰ تا ۲۱)
کانال تلگرام : @uncodev