دانلود پروژه - امروز : جمعه ۱۹ آذر ۱۳۹۵

ساختمان داده

لیست پیوندی linked list ساختمان داده

موضوع : ساختمان داده,سی پلاس

لیست پیوندی linked list ساختمان داده

لیست پیوندی linked list ساختمان داده

لیست پیوندی چیست

لیست پیوندی linked list عرض سلام و احترام خدمت شما کاربران گرامی سایت سی پلاس امروز درخدمت شماییم با یکی دیگر از آموزش های ساختمان داده می خواهیم امروز توضیحات راجب لیست پیوندی در ساختمان داده بدیم.لیست پیوندی (linked list)، مجموعه ای از عناصر به نام گره است، که هر گره به گره بعدی اشاره میکند. هر گره شامل دو فیلد است: فیلدی برای ذخیره داده ها و فیلدی برای ارجاع به گره بعدی.

لیست پیوندی linked list

در بسیاری از کاربردها خوب است که داده ها بصورت لیست سازماندهی شوند. نوع خاصی از سازماندهی عناصر بصورت لیست، لیست پیوندی میباشد. کتابخانه کلاس در محیط .NET چندین کلاس کلکسیون مبتنی بر لیست دارد که کلکسیون LinkedList میتواند نوع خاصی از لیست پیوندی بنام لیست دو پیوندی را پیاده سازی نماید.هنگامیکه از لیست داده ها استفاده میشود، آرایه ها متداول ترین ساختمان داده به حساب می آیند.

اما آرایه یک ساختمان داده کامل نیست. جست وجو در آرایه نامرتب کند است، زیرا احتمالا باید تمام عناصر آرایه مشاهده شوند. در مواردی که فکر میکنید پردازش لیستی از داده ها با آرایه، کارایی چندانی ندارد، بهتر است از لیست پیوندی استفاده کنید.لیست پیوندی (linked list)، مجموعه ای از عناصر (اشیای کلاس) به نام گره است، که هر گره به گره بعدی اشاره میکند. آخرین گره لیست (سمت راست ترین گره) به جایی اشاره نمیکند.

هر گره شامل دو فیلد است: فیلدی برای ذخیره داده ها و فیلدی برای ارجاع به گره بعدی. فیلد ارجاع به گره بعدی را پیوند میگویند. عناصر لیست پیوندی (گره ها) از طریق ارتباط آنها با عناصر دیگر لیست پیوندی، دستیابی می شوند. برای حرکت در لیست پیوندی باید از ابتدای لیست، پیوندهای هر گره را دنبال کنیم تا به انتهای لیست پیوندی برسیم. پیوندی که به گره ای اشاره نمیکند، null (تهی) است. ابتدای لیست را نیز معمولا با یک گره خاص یا مرجع خاصی مثل firtNode مشخص میکنیم.

دو عمل مهم در لیست، درج گره ای در لیست و حذف گره از لیست میباشد. برای این عمل مهم بدون هیچ مشکل و هرگونه پیچیدگی نوشته شوند، لیست ها را طوری در نظر میگیریم که گره ویژه ای بنام گره رأس در ابتدای آنها باشد. این گره جزو گره های لیست محسوب نمیشود، ولی میتواند حاوی اطلاعاتی راجع به خود لیست پیوندی باشد. مثلا میتواند حاوی تعداد گره های فعلی موجود در لیست باشد. مزیت چنین لیستی این است که تمام گره های موجود در لیست، یک گره قبل از خود دارند.

ادامه + دانلود

ساختمان داده کلکسیون collctions چیست

موضوع : ساختمان داده,سی پلاس

ساختمان داده کلکسیون collctions چیست

ساختمان داده کلکسیون collctions چیست

ساختمان داده کلکسیون چیست

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

کلکسیون های غیر خطی، عناصری را نگه میدارند که ترتیب مکانی ندارند. نمودار سازمانی، نمونه ای از کلکسیون غیرخطی است. در دنیای کامپیوتر، درخت ها، هیپ ها، گراف ها و مجموعه ها کلکسیون غیرخطی اند.کلکسیون ها ، چه خطی و چه غیرخطی خواصی دارند که آنها را توصیف میکند و عملیاتی که میتواند بر روی آنها اجرا شوند. نمونه ای از خاصیت کلکسیون ها، Count است که تعداد عناصر موجود در کلکسیون را مشخص میکند. عملیات های کلکسیون، که متد خوانده میشوند، عبارتنداز:

Add : برای افزودن عنصری به کلکسیون
Insert: برای درج عنصر در کلکسیون
Remove : برای حذف عنصری از کلکسیون
Clear : برای حذف تمام عنصر از کلکسیون
Contains : برای تعیین اینکه آیا عنصری خاص در کلکسیون وجود دارد یا خیر.
IndexOf : برای مشخص کردن اندیس عنصری خاص در یک کلکسیون.

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

در محیط .NET سه فضای نام برای کلکسیون ها فراهم شده است. فضای نام System.Collections حاوی کلکسیون هایی است که مرجع هایی به اشیا را نگه میدارد. فضای نام System.Collections.Generic حاوی کلاسهایی برای ذخیره کلکسیون هایی از انواع مورد نظر است. فضای نام System.Collections.Specialized حاوی چندین کلکسیون است که از انواع خاصی مثل رشته ها و بیت ها پشتیبانی میکند.

ادامه + دانلود

ساختمان داده صف Queue سی پلاس پلاس

موضوع : ساختمان داده,سی پلاس

ساختمان داده صف Queue سی پلاس پلاس

ساختمان داده صف Queue سی پلاس پلاس

ساختمان داده صف چیست

صف Queue با سلام و احترام خدمت کابران گرامی سایت سی پلاس در خدمت شما هستیم با آموزش دوم از آموزش ساختمان داده ها توی این آموزش قرار هست که با هم صف رو توضیح بدیم .در ساختمان داده، صف مجموعه ای از عناصر مرتب است که هر عنصر از یک طرف بنام جلوی صف از آن حذف میشود و از طرف دیگر به نام انتهای صف در صف قرار میگیرد. به همین دلیل آن را ساختمان داده FIFO (خروج به ترتیب ورود) می نامند.
ساختمان داده صف Queue
در فرهنگ لغت به صف خط انتظار می گویند.مثل صفی که مردم برای گرفتن نان در گرفتن نان در جلوی نانوایی تشکیل میدهند.در ساختمان داده، صف مجموعه ای از عناصر مرتب است که هر عنصر از یک طرف بنام جلوی صف از آن حذف میشود و از طرف دیگر به نام انتهای صف در صف قرار میگیرد. به همین دلیل آن را ساختمان داده FIFO (خروج به ترتیب ورود) می نامند.

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

کلاس Queue :
در C# کلاسی بنام Queue در فضای نام Collections وجود دارد که ساختمان داده ی صف را با توجه به ویژگی هایی که مطرح شد پیاده سازی میکند. یعنی این کلاس تمام عملیات و متدهایی که برای صف تعریف کردیم به همراه فعالیتهای دیگری، فراهم میسازد. این کلاس برای ذخیره عناصر صف از یک ArrayList استفاده میکند. چون اندازه ArrayList بطور پویا در زمان اجرا تغییر میکند، برای پیاده سازی ساختمان داده پویایی مثل Queue مفید است. همتای کلی آن در فضای نام Collections.Generic قرار دارد.

ادامه + دانلود

ساختمان داده پشته stack چیست

موضوع : ساختمان داده,سی پلاس

ساختمان داده پشته stack چیست

ساختمان داده پشته stack چیست

پشته چیست Stack

پشته stack ساختمان داده ای است که از لیست برای سازماندهی داده ها استفاده میکند و یک نوع داده انتزاعی را فراهم میسازد. در پشته عمل اضافه کردن وحذف عنصر، فقط در یک طرف آن، بنام بالای پشته انجام میشود.
پشته (stack) ساختمان داده ای است که از لیست برای سازماندهی داده ها استفاده میکند و در عین حال از انتزاع نیز پشتیبانی میکند و یک نوع داده انتزاعی را فراهم میسازد. در پشته عمل اضافه کردن وحذف عنصر، فقط در یک طرف آن، بنام بالای پشته انجام میشود. یعنی عنصری که از همه دیرتر وارد پشته شد، از همه زودتر از پشته حذف میگردد. بهمین دلیل گفته میشود که پشته از سیاست خروج به ترتیب عکس ورود (LIFO) پیروی میکند.

عملیات های پشته:
از آنجایی که عناصر پشته فقط از یک طرف (بالای پشته) قابل دستیابی اند. پس عملیات های متعددی را میتوان روی پشته انجام داد که چند عملیات زیر بعنوان عملیات اصلی پشته مطرح اند:

کلاس Stack :
در C# کلاسی بنام Stack برای استفاده از ساختمان داده ی پشته فراهم شده است که تمام عملیات ها و خواص بالا را دارد. این کلاس برای ذخیره سازی عناصر پشته از یک بافر حلقوی استفاده میکند که موجب میشود، حافظه مورد نیاز برای ذخیره ی عنصری که در پشته قرار میگیرد بطور پویا تخصیص یابد. این کلاس در فضای نام Collections وجود دارد.

ادامه + دانلود

ساختمان داده صف با آرایه سی پلاس پلاس

موضوع : ساختمان داده,سورس رایگان,سی پلاس

ساختمان داده صف با آرایه سی پلاس پلاس

ساختمان داده صف با آرایه سی پلاس پلاس

پیاده سازی صف با استفاده از آرایه در سی پلاس پلاس

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

 تعریف صف : لیست مرتبی است كه عناصر در انتهای آن (Rear) اضافه و از ابتدای آن(Front) حذف می شوند. به عبارت ديگر طول صف از انتهای آن افزایش و از ابتدای آن كاهش می یابد.

اولين عنصری که وارد صف می شود اولين عنصری است که از صف خارج می شود. بنابراين عناصر به همان ترتيبی که به صف اضافه می شوند از آن حذف می شوند. به همين دليل به صف لیست (first in, first out) FIFO نیز گفته می‌شود.

Queue نمایش صف
پیاده‌سازی صف با آرایه

صف را می توان توسط يک آرايه يک بعدی پیاده سازی کرد. به دو متغیر Front و Rear برای مشخص كردن ابتدا و انتهای صف نياز است.

هر گاه عنصری به صف اضافه شود Rear یك گام به جلو حركت می كند و هر گاه كه عنصری را از صف حذف می شود Front یك واحد افزايش می يابد.

چون اندازه آرايه از قبل تعريف می شود، هنگام اضافه کردن عنصری به صف ابتدا باید اطمينان حاصل کرد که هنوز ظرفیت پذیرش داده را دارد. اگر Rear برابر با ظرفیت كل آرایه شود صف پر درنظر گرفته می شود.

اگر ابتدا و انتهای صف برابر بودند (Front=Rear) یعنی صف خالی است. عمل حذف روی صف خالی انجام نمی گيرد.

طول صف يا تعداد عناصر موجود در صف برابر با Rear-Front+1 است.

ادامه + دانلود
نماد کسب و کار اینترنتی
تمام حقوق مادی و معنوی و طرح قالب برای "سی پلاس" محفوظ است و هر گونه کپی برداری خلاف قوانین می شود. گرافیک و طراحی : دانلود پروژه