دانش کامپیوتر

دانش کامپیوتر

در این بخش، به دنیای برنامه‌نویسی، الگوریتم‌ها، شبکه و زیرساخت‌های فناوری می‌پردازیم

برنامه نویسیالگوریتمشبکه های کامپیوتریزیرساخت فناوریمهندسی نرم افزارمهندسی سخت افزار

مرور بخش‌ها

برنامه‌نویسی

دنیای زبان‌های کدنویسی و توسعه نرم‌افزار

مشاهده بخش

دسته‌بندی‌های مرتبط

مقالات منتخب

کوتاه‌ترین مسیر با منبع واحد: الگوریتم‌های بلمن-فورد و دیجکسترا

یافتن کوتاه‌ترین مسیرها در یک گراف وزن‌دار پیچیده‌تر از حالت بدون‌وزن حل‌شده توسط جستجوی سطح‌اول است، به‌ویژه وقتی وزن‌های یال منفی ممکن باشند. این راهنمای جامع تکنیک relaxation زیربنای همه الگوریتم‌های کوتاه‌ترین‌مسیر، الگوریتم بلمن-فورد که وزن‌های منفی را مدیریت می‌کند و چرخه‌های منفی را تشخیص می‌دهد، و الگوریتم کارآمدتر دیجکسترا برای گراف‌های بدون وزن‌های منفی را پوشش می‌دهد.

/persian/article-fa/single-source-shortest-paths-bellman-ford-and-dijkstras-algorithm-fa

الگوریتم فلوید-وارشال: یافتن کوتاه‌ترین مسیرها بین هر جفت رأس

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

/persian/article-fa/the-floyd-warshall-algorithm-finding-shortest-paths-between-every-pair-of-vertices-fa

جریان بیشینه: فورد-فالکرسون و قضیه برش-کمینه/جریان-بیشینه

مسائل جریان بیشینه بیشترین توان عملیاتی ممکن از میان یک شبکه با اتصالات محدود-به-ظرفیت را مدل‌سازی می‌کنند، از لوله‌های آب تا شبکه‌های داده. این راهنمای جامع شبکه‌های جریان را معرفی می‌کند، روش فورد-فالکرسون برای یافتن جریان بیشینه با استفاده از مسیرهای تقویتی را مرور می‌کند، و قضیه ظریف برش-کمینه/جریان-بیشینه که دو مسئله به‌ظاهر متفاوت را به یکی متصل می‌کند را توضیح می‌دهد.

/persian/article-fa/maximum-flow-ford-fulkerson-and-the-min-cut-max-flow-theorem-fa

NP-Completeness توضیح داده شده: P، NP، و چرا برخی مسائل در برابر راه‌حل‌های کارآمد مقاومت می‌کنند

برخی مسائل برای دهه‌ها در برابر هر تلاشی برای یک الگوریتم کارآمد مقاومت کرده‌اند، با این حال هیچ‌کس اثبات نکرده یک راه‌حل کارآمد غیرممکن است. این راهنمای جامع کلاس‌های P و NP، مفهوم تقلیل‌های زمان-چندجمله‌ای مورد استفاده برای مقایسه سختی مسئله، و چگونگی اینکه اثبات NP-complete بودن یک مسئله شواهد قوی، هرچند نه اثبات، فراهم می‌کند که هیچ الگوریتم کارآمدی وجود ندارد را توضیح می‌دهد.

/persian/article-fa/np-completeness-explained-p-np-and-why-some-problems-resist-efficient-solutions-fa

الگوریتم‌های تقریبی: نزدیک‌شدن اثبات‌پذیر به بهینه برای مسائل سخت

وقتی یک مسئله NP-complete اثبات شود، یک راه‌حل کارآمد دقیق بعید است وجود داشته باشد، اما این به معنای رهاکردن کامل مسئله نیست. این راهنمای جامع الگوریتم‌های تقریبی را توضیح می‌دهد، که تضمین بهینه‌بودن را در ازای تضمین کارایی معامله می‌کنند، و مسائل پوشش رأس و فروشنده دوره‌گرد را به‌عنوان مثال‌های کلاسیک با نسبت‌های تقریبی اثبات‌پذیر پوشش می‌دهد.

/persian/article-fa/approximation-algorithms-getting-provably-close-to-optimal-for-hard-problems-fa

الگوریتم‌های تطبیق رشته: جستجوی ساده، Rabin-Karp، و فراتر از آن

جستجو برای یک الگو درون یک متن بزرگ‌تر یکی از رایج‌ترین عملیات‌ها در محاسبات است، از ویرایشگرهای متن تا تحلیل توالی DNA. این راهنمای جامع الگوریتم تطبیق رشته ساده و بدترین‌حالت درجه‌دومش را پوشش می‌دهد، سپس استفاده ماهرانه الگوریتم Rabin-Karp از هشینگ برای دستیابی به کارایی سریع حالت‌میانگین را توضیح می‌دهد، شامل نحوه مدیریت درست برخوردهای هش.

/persian/article-fa/string-matching-algorithms-naive-search-rabin-karp-and-beyond-fa

اصول هندسه محاسباتی: جهت، تقاطع پاره‌خط، و پوسته محدب

الگوریتم‌های هندسی مسائل شامل نقاط، خطوط، و اشکال را حل می‌کنند، که در گرافیک کامپیوتری، برنامه‌ریزی مسیر رباتیک، و سیستم‌های اطلاعات جغرافیایی ظاهر می‌شوند. این راهنمای جامع آزمون جهت مبتنی بر ضرب خارجی که زیربنای تقریباً هر الگوریتم هندسی است، تشخیص تقاطع پاره‌خط ساخته‌شده روی آن آزمون، و الگوریتم اسکن گراهام برای محاسبه پوسته محدب یک مجموعه از نقاط را پوشش می‌دهد.

/persian/article-fa/computational-geometry-basics-orientation-line-intersection-and-convex-hull-fa

الگوریتم‌های نظریه اعداد: GCD، توان‌رسانی پیمانه‌ای، و RSA

رمزنگاری مدرن و بی‌شمار کاربرد الگوریتمی به تعداد کمی الگوریتم ظریف نظریه اعداد متکی است. این راهنمای جامع الگوریتم اقلیدس برای محاسبه بزرگ‌ترین مقسوم‌علیه مشترک، توان‌رسانی پیمانه‌ای سریع برای محاسبه کارآمد توان‌های بزرگ، و پایه ریاضی رمزنگاری RSA، یکی از پراستفاده‌ترین سیستم‌های رمزنگاری در جهان، را پوشش می‌دهد.

/persian/article-fa/number-theoretic-algorithms-gcd-modular-exponentiation-and-rsa-fa

شروع کار با دیتابیس‌های رابطه‌ای و SQL

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

/persian/article-fa/getting-started-with-relational-databases-and-sql-fa

اتصال جداول: JOIN ها و SQL ضروری بیشتر

قدرت واقعی یک دیتابیس رابطه‌ای وقتی ظاهر می‌شود که داده در سراسر چند جدول مرتبط تقسیم شود به‌جای اینکه همه‌جا تکرار شود. این مقاله توضیح می‌دهد چرا تقسیم داده در سراسر جداول از افزونگی اجتناب می‌کند، رابطه کلید خارجی که جداول را به هم متصل می‌کند را پوشش می‌دهد، انواع مختلف JOIN مورد استفاده برای پرس‌وجو در سراسر جداول مرتبط را مرور می‌کند، و چند تکنیک SQL بیشتر برای مدیریت امن ساختار جدول و داده معرفی می‌کند.

/persian/article-fa/connecting-tables-joins-and-more-essential-sql-fa

مروری بر طراحی دیتابیس: اهداف، فرآیند، و مراحل کلیدی

توضیحی موجود نیست.

/persian/article-fa/an-overview-of-database-design-goals-process-and-key-phases-fa

شناسایی موجودیت‌ها و ویژگی‌ها: بلوک‌های سازنده طراحی دیتابیس

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

/persian/article-fa/identifying-entities-and-attributes-the-building-blocks-of-database-design-fa