ساختمان دادهها در برنامهنویسی اهمیت بسیاری دارند. این مفاهیم به ما کمک میکنند تا دادهها را بهینهتر ذخیره کنیم و عملیاتهای مختلف را با کارآیی انجام دهیم.
اهمیت ساختمان دادهها :
تسلط بر الگوریتم ها و ساختمان داده ها ، یکی از مهارت های کلیدی برنامه نویسان حرفه ای است.
آرایه در ساختمان داده ها :
آرایه یک ساختمان داده ای است که به شما اجازه می دهد تا چندین مقدار را در یک متغیر نگه دارید. با استفاده از آرایه شما می توانید داده های خود را به صورت سازمان یافته و قابل دسترس نگه دارید. با استفاده از آرایه شما می توانید عملیات های مختلف را روی داده های خود انجام دهید. مانند : اضافه کردن ، حذف کردن ، جستجو کردن ، مرتب سازی و ... برای دسترسی به هر عنصر آرایه از اندیس مشخصی استفاده می شود.
آرایه یک بعدی :
مثلا : ;int a[5] یعنی یک آرایه داریم به اسم a با 5 خانه که اندیس خانه ها از شماره 0 هستش تا 4
آرایه دو بعدی :
مثلا : ;int b[4][4] یعنی آرایه ای داریم با 4 سطر و 4 ستون.
اطلاعات در آرایه دو بعدی می تواند به صورت سطری یا ستونی ذخیره شود. آرایه می تواند به صورت سه بعدی یا چند بعدی نیز باشد. از آرایه ها برای ذخیره داده ها استفاده می شود. مثلا : اگر بخواهید تعدادی عدد را ذخیره کنید بنابر نیاز ، آن ها را در یک آرایه یک بعدی ، دو بعدی یا ... قرار داده ، سپس می توانید عملیات مرتب سازی ، جستجو ، پیدا کردن ، min یا max را بر روی آرایه انجام دهید.
نحوه ذخیره عناصر آرایه در حافظه : عناصر آرایه در حافظه به صورت پشت سر هم قرار می گیرند که موجب سریع شدن سرعت دسترسی به عناصر آرایه می شود.
الگوریتم جستجوی خطی ( Linear Search ) در آرایه :
public static int Search(int[] array, int n, int x) { for (int i = 0; i < n; i++) { if (array[i] == x) return i; } return -1; }
در این الگوریتم مقدار x را در آرایه n عنصری a ، به روش مقایسه با تک تک عناصر آرایه ، جستجو می کند. در صورت پیدا کردن اندیس خانه حاوی x و در صورت پیدا نکردن 1- را بر میگرداند.
مثال : پیاده سازی در #C
public static void Main() { int[] array = { 17, 8, 13, 20, 6, 14 }; int key = 13; // Function Call int result = Search(array, array.Length, key); if (result == -1) Console.WriteLine("Element is not present in array"); else Console.WriteLine("Element is present at index " + result); }
متغیر array نمرات دانشجویان در درس ساختمان داده ها را نشان می دهد. دنبال عدد 13 در آرایه هستیم
int key;
با استفاده از متغیر result تابع search را کال می کنیم ، اگر عنصر مورد نظر در آرایه نباشد مقدار 1- در غیر این صورت عنصر مورد نظر را پیدا کرده و نتیجه را بر می گرداند یعنی index 2