عبور درونسفارشی به معنای بازدید از گرهها به ترتیب: ابتدا گرههای سمت چپ، سپس ریشه و در نهایت گرههای سمت راست.
Dereferencing یک عملیات در برنامهنویسی است که به وسیله آن میتوان به مقدار ذخیرهشده در آدرس حافظهای که یک اشارهگر به آن اشاره میکند، دسترسی پیدا کرد. این عمل با استفاده از عملگر * در زبانهای برنامهنویسی مانند C، C++ و Python انجام میشود. در واقع، dereferencing به معنای "دسترسی به دادهها از طریق اشارهگر" است.
اشارهگرها متغیرهایی هستند که آدرسهای حافظه را ذخیره میکنند، به این معنا که آنها خود دادهها را ذخیره نمیکنند، بلکه به مکانهای خاصی در حافظه اشاره دارند. برای دسترسی به دادههای موجود در آن مکانها، باید از عملگر dereference استفاده کرد.
بهعنوان مثال، در زبان C برای دسترسی به مقدار یک متغیر از طریق اشارهگر، از عملگر * استفاده میکنیم. به عبارت دیگر، عملگر * به سیستم این امکان را میدهد که "مقدار" موجود در آدرس حافظهای که اشارهگر به آن اشاره دارد، را بدست آورد:
#include <stdio.h> int main() {
int num = 10;
int *ptr = # // اشارهگر به آدرس متغیر num
// دسترسی به مقدار از طریق dereferencing
printf("%d\n", *ptr); // 10
return 0; } در این مثال، ابتدا اشارهگر ptr به آدرس متغیر num اختصاص داده میشود. سپس با استفاده از عملگر * به مقدار 10 که در آدرس ptr ذخیره شده است، دسترسی پیدا میکنیم.
در زبانهای برنامهنویسی دیگر مانند Python نیز میتوان از مشابهی به این عملیات استفاده کرد، هرچند که در Python اشارهگرها بهطور مستقیم به این شکل قابل دسترسی نیستند، اما مفهوم مشابهی از طریق نوع دادهای مانند لیستها و استفاده از آنها بهطور غیرمستقیم به وجود میآید.
استفاده از dereferencing در زبانهای سطح پایین مانند C و C++ برای دسترسی به دادهها در حافظه بسیار رایج است. این عملیات در بسیاری از الگوریتمهای پیچیده، به ویژه در مواردی که نیاز به دسترسی سریع و مستقیم به حافظه باشد، استفاده میشود.
با این حال، dereferencing باید با احتیاط انجام شود، زیرا اگر اشارهگر به یک آدرس نادرست یا حافظهای که به آن تخصیص داده نشده است اشاره کند، منجر به بروز مشکلاتی مانند خطای دسترسی به حافظه (Segmentation Fault) یا حافظه از دست رفته (Memory Leaks) میشود.
در نهایت، dereferencing یکی از مهمترین و اساسیترین عملیاتها در کار با اشارهگرها است که برای دسترسی به دادهها و مدیریت حافظه بهطور مستقیم استفاده میشود. این عملیات میتواند در بسیاری از الگوریتمها و ساختارهای دادهای مانند لیستهای پیوندی و درختها بهطور مؤثری به کار رود.
در این جلسه، به منطق آرایهها و انواع مقداردهی به آنها پرداخته میشود. همچنین، برخی خطاهای رایج در استفاده از آرایهها مورد بررسی قرار میگیرد. در انتها، به تعریف آرایههای چندبعدی پرداخته شده و چند مثال کاربردی برای تسهیل درک بهتر این مفاهیم حل میشود. هدف این جلسه، تقویت توانایی شما در استفاده از آرایهها و جلوگیری از خطاهای متداول در برنامهنویسی است.
عبور درونسفارشی به معنای بازدید از گرهها به ترتیب: ابتدا گرههای سمت چپ، سپس ریشه و در نهایت گرههای سمت راست.
پروتکل مسیریابی Link State که از الگوریتم Dijkstra برای محاسبه کوتاهترین مسیر استفاده میکند.
زبانهای برنامهنویسی سطح بالا زبانی هستند که شباهت زیادی به زبان انسان دارند و یادگیری آنها راحتتر است. این زبانها برای نوشتن برنامههای پیچیده و کاربردی استفاده میشوند.
از ادغام دو یا چند توپولوژی شبکه متفاوت با یکدیگر توپولوژی ترکیبی به وجود میآید.
الگوریتمهایی هستند که برای ترتیبدهی دادهها به روشهای مختلف از جمله مرتبسازی صعودی و نزولی استفاده میشوند.
هوش مصنوعی لبه (Edge AI) استفاده از مدلهای یادگیری ماشین و پردازش دادهها را در دستگاههای لبه شبکه (نزدیک به کاربر) تسهیل میکند.
الگوریتمی که برای محاسبه کوتاهترین مسیر از یک گره به سایر گرهها استفاده میشود، معمولاً در پروتکلهای Link-State.
نگهداری پیشبینی در صنعت به استفاده از دادههای تاریخچهای و الگوریتمها برای پیشبینی خرابی و نیاز به تعمیر در تجهیزات صنعتی اشاره دارد.
نویز ناشی از میدانهای الکترومغناطیسی که از تجهیزات الکتریکی و الکترونیکی ایجاد میشود.
شبکههای نرمافزار تعریفشده (SDN) به معماری شبکهای اطلاق میشود که در آن کنترل شبکه از بخشهای فیزیکی جدا شده است.
گره یک عنصر در گراف است که میتواند دادهای را ذخیره کند و با یالها به سایر گرهها متصل باشد.
متغیر سراسری متغیری است که در خارج از توابع و بلوکهای کد تعریف میشود و در سراسر برنامه قابل دسترسی است.
زبانهای برنامهنویسی سطح پایین به زبانهایی اطلاق میشوند که به کد ماشین نزدیکترند و معمولاً برای تعامل مستقیم با سختافزار استفاده میشوند.
رسانههای فیزیکی از جمله کابلها و فیبر نوری که ارتباطات دادهای را در شبکههای کامپیوتری انتقال میدهند.
مدل ارتباطی که در آن هر دستگاه در شبکه بهعنوان همتا عمل میکند و میتواند بهطور مستقیم با دستگاههای دیگر ارتباط برقرار کند.
عملگر شرطی به ارزیابی یک شرط و انجام عمل خاصی بر اساس نتیجه آن اشاره دارد. این عملگر معمولاً در تصمیمگیریها و کنترل جریان برنامه استفاده میشود.
عملیاتهای سطح بیت مانند AND، OR، NOT و XOR که بر روی هر بیت از دادهها انجام میشوند.
عبور پس از پیش به معنای بازدید از گرهها به ترتیب: ابتدا گرههای زیرین، سپس گره ریشه.
محاسبات مولکولی به استفاده از خواص مولکولی برای پردازش دادهها و حل مسائل پیچیده اطلاق میشود.
ماتریس یک نوع آرایه دو بعدی است که برای انجام عملیاتهای ریاضی و جبر خطی به کار میرود.
بافرینگ به ذخیرهسازی موقت دادهها در یک بخش از حافظه گفته میشود تا زمانی که سرعت ارسال یا دریافت دادهها با هم هماهنگ شوند.
توکنهای بلاکچین به واحدهای دیجیتالی اطلاق میشود که در شبکههای بلاکچین برای انجام تراکنشها و ذخیرهسازی دادهها استفاده میشوند.
توسعه بلاکچینهای قابل تعامل به این معنا است که بلاکچینهای مختلف میتوانند به راحتی با یکدیگر تعامل داشته باشند.
قسمتی از کامپیوتر است که وظیفه پردازش دادهها را بر عهده دارد. این بخش معمولاً به عنوان مغز کامپیوتر شناخته میشود.
کدگذاری عصبی مصنوعی به استفاده از مدلهای یادگیری عمیق برای شبیهسازی و بهبود عملکرد شبکههای عصبی انسانها اطلاق میشود.
حافظه کش یک نوع حافظه سریع است که برای نگهداری دادههای پرکاربرد و دستورالعملهایی که به طور مکرر استفاده میشوند، طراحی شده است. دسترسی به کش سریعتر از حافظه اصلی است.
این نوع رمزگذاری به شما امکان میدهد که دادههای رمزنگاریشده را بدون نیاز به رمزگشایی پردازش کنید. این تکنیک برای حفظ حریم خصوصی و امنیت دادهها در هنگام پردازش بسیار مهم است.
حافظه موقت کامپیوتر است که به طور موقت دادهها و دستورات را ذخیره میکند و به پردازنده اجازه میدهد تا به سرعت به این اطلاعات دسترسی پیدا کند.
مدتزمانی که اگر طی آن هیچ پیام Hello از یک روتر دریافت نشود، آن روتر به عنوان همسایه مرده فرض میشود.
هوش مصنوعی برای امنیت سایبری به کاربرد هوش مصنوعی برای شناسایی تهدیدات سایبری و حفاظت از شبکهها و دادهها اشاره دارد.
توابع ساختهشده توسط کاربر توابعی هستند که برنامهنویسان برای انجام کارهای خاص خود میسازند. این توابع میتوانند به صورت مجزا از برنامه فراخوانی شوند.
سیستمهای شناسایی بیومتریک به استفاده از ویژگیهای بیولوژیکی و رفتاری افراد برای شناسایی و تأیید هویت آنها اطلاق میشود.
واقعیت افزوده (AR) محیط واقعی را با اطلاعات دیجیتال یا تصاویر ترکیب میکند تا تجربهای تعاملی و غنی ایجاد کند.
فاکتوریل یک عدد n با ضرب آن در تمام اعداد صحیح مثبت کوچکتر از خودش تعریف میشود. این مقادیر بهطور معمول برای محاسبات ریاضی یا بازگشتی استفاده میشوند.
هوش مصنوعی در کشاورزی به استفاده از الگوریتمهای یادگیری ماشین و هوش مصنوعی برای بهبود فرآیندهای کشاورزی اطلاق میشود.