♣<<▐▐ ساختمان داده ▐▐>>♣
----------------------
ساختارهایی که جهت دریافت داده های خام به شکل مناسب توسط کامپیوتر و پیاده سازی و اجرای الگوریتم های مختلف رویآن ها مورد استفاده قرار می گیرند، ساختمان داده نامیده می شود.
مدل منطقی یا ریاضی سازمان خاصی از داده ها، ساختمان داده ها نامیده می شود و معادل انگلیسی آن Data Structures می باشد و مخفف DS را برای آن به کار می برند.
در حقیقت ساختمان داده ها روابط متقابل بین داده ها را در هنگام ذخیره شدن مشخص می سازد. هر ساختمان داده مشخصه های منحصر به فردی دارد که آن را از بقیه متمایز می سازد.
ساختار ساختمان داده های ایستا در طول حیاتشان تغییر نمی کند.
ساختمان داده های ایستا، ساختمان داده های خطی نیز نامیده می شوند.
علت نامگذاری به ساختمان داده های خطی این است که عناصر این گونه از ساختمان داده ها، یک دنباله را تشکیل می دهند کهبه ترتیب خطی نگهداری می شوند.
------------------------------
-----------------------------
به پنج نوع داده Integer (عدد صحیح)، Float (عدد اعشاری)، Double (عدد اعشاری با دقت مضاعف)، Char (کاراکتر)،Boolean (نوع داده منطقی)داده های اولیه می گویند.
-----------------------------------------------------------------
وقتی در برنامه ای به نوعی داده نیاز باشد که در آن زبان وجود ندارد، برنامه نویس باید نوع مورد نظرش را ایجاد کند. بنابراین باید چگونگی ذخیره داده ها و عملیاتی را مشخص کند که بر روی آن داده ها عمل می کنند. نوع داده ای را که برنامه نویس ایجاد می کند، نوع داده انتزاعی ( ADT ) می گویند.
نوع داده انتزاعی ( ADT )یک مدل ریاضی است که عملیاتی بر روی آن مدل تعریف شده اند. هر نوع داده متشکل از چند مقدار و مجموعه ای از عملیات روی آنهاست.
مجموعه مقادیر و عملیات یک نوع داده، یک ساختار ریاضی را تشکیل می دهند که ممکن است به کمک یک ساختمان داده سخت افزاری یا نرم افزاری پیاده سازی شود.
نوع داده انتزاعی به مفهوم اصلی ریاضی ای اطلاق می شود که یک نوع داده را پیاده سازی می کند.
-------------------------------
یک ADT استاندارد شامل یک یا چند یا تمام موارد زیر می باشد:
.1 تعریف
.2 دستیابی به عناصر(Retrieve )
.3 درج(Insert )
.4 حذف (Delete یا Remove )
.5 بروزرسانی( Update )= به عنوان ترکیبی از موارد 1 و 2
.6 جستجو( Search)
.7 مرتب سازی(Sort)
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬�� �▬▬▬▬
برای ساخت نوع جدیدی از داده ها بر اساس مفهوم دسته بندی گروهی از داده ها زبان برنامه نویسی C و C++ موارد زیر را در اختیار
برنامه نویس می گذارند:
ساختمان ( Structure )
یونیون ( Union )
آرایه
نکته: رشته و آرایه و کلاس نوع داده اولیه نیستند بلکه جزء امکانات زبان برنامه نویسی می باشند.
نکته: پشته، صف، لیست پیوندی، گراف و درخت با استفاده از آرایه پیاده سازی می شوند به همین دلیل زبان برنامه نویسی امکانات اولیه ای برای پیاده سازی آنها در نظر نگرفته است. البته برای پیاده سازی این ساختمان داده ها تکنیک های دیگری غیر از آرایه نیز وجود دارد.
----------------------------------
تعریف: مجموعه ای از عناصر است که می توانند همنوع نباشند.
-------------------------------
تعریف کلاس نیز به صورت مشابه با ساختمان می باشد به همین دلیل ارتباط خیلی نزدیکی با یکدیگر دارند.
ساختمان از زبان c به زبان c++ به ارث رسیده است.
اعضای کلاس در حالت پیش فرض private (اختصاصی) هستند.
اعضای ساختمان در حالت پیش فرض public (عمومی) هستند.
--------------------------
اعضای عمومی و اعضای اختصاصی می توانند همچون کلاس به صورت داده ای یا تابعی باشند.
عناصری که بلافاصله پس از سطر مربوط با کلمه کلیدی struct ظاهر می شوند اعضای عمومی اند.
ساختمان کاربرد کلاس ها را دارد و می تواند برای تعریف اشیاء به کار رود.
struct نام نوع ساختمان
{
اعضای عمومی ساختمان
private:
اعضای اختصاصی ساختمان
};