ویرگول
ورودثبت نام
آرزو باقری
آرزو باقری
خواندن ۳ دقیقه·۹ ماه پیش

ساختمان داده‌ ها ( قسمت اول )


ساختمان داده‌ها در برنامه‌نویسی اهمیت بسیاری دارند. این مفاهیم به ما کمک می‌کنند تا داده‌ها را بهینه‌تر ذخیره کنیم و عملیات‌های مختلف را با کارآیی انجام دهیم.

اهمیت ساختمان داده‌ها :

  1. ذخیره‌سازی داده‌ها: ساختمان داده‌ها به ما امکان می‌دهند داده‌ها را در قالب‌های خاص ذخیره کنیم. این قالب‌ها در برخی عملیات کارآمد و در برخی دیگر ناکارآمد هستند. برای هر مساله، ساختمان داده‌ای انتخاب می‌شود که بهینه‌ترین حالت ممکن را فراهم کند.
  2. کاربردها: ساختمان داده‌ها برای ذخیره‌سازی داده‌ها به شکل سازمان‌یافته استفاده می‌شوند. از آنجا که داده‌ها حیاتی‌ترین موجودیت در علم کامپیوتر هستند، ارزش واقعی ساختمان داده‌ها روشن است. اهمیتی ندارد که کارشناس در حال حل چه مساله‌ای است، از هر رو به نوعی با داده سر و کار دارد.
  3. مسائل پیچیده: با استفاده از ساختمان داده‌ها، می‌توان مسائل پیچیده‌تر را حل کرد.
تسلط بر الگوریتم ها و ساختمان داده ها ، یکی از مهارت های کلیدی برنامه نویسان حرفه ای است.

آرایه در ساختمان داده ها :

آرایه یک ساختمان داده ای است که به شما اجازه می دهد تا چندین مقدار را در یک متغیر نگه دارید. با استفاده از آرایه شما می توانید داده های خود را به صورت سازمان یافته و قابل دسترس نگه دارید. با استفاده از آرایه شما می توانید عملیات های مختلف را روی داده های خود انجام دهید. مانند : اضافه کردن ، حذف کردن ، جستجو کردن ، مرتب سازی و ... برای دسترسی به هر عنصر آرایه از اندیس مشخصی استفاده می شود.

آرایه یک بعدی :

مثلا : ;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(&quotElement is not present in array&quot); else Console.WriteLine(&quotElement is present at index &quot + result); }

متغیر array نمرات دانشجویان در درس ساختمان داده ها را نشان می دهد. دنبال عدد 13 در آرایه هستیم

int key;

با استفاده از متغیر result تابع search را کال می کنیم ، اگر عنصر مورد نظر در آرایه نباشد مقدار 1- در غیر این صورت عنصر مورد نظر را پیدا کرده و نتیجه را بر می گرداند یعنی index 2

ساختمان داده هامهندسی نرم افزاربرنامه نویسیتوسعه نرم افزار
علاقه مند به مهندسی نرم افزار
شاید از این پست‌ها خوشتان بیاید