در ، قسمت قبلی پیاده سازی درختها را بررسی کردیم و در این قسمت مبحث گرافها را آغاز میکنیم . گرافها یکی از پر اهمیتترین و
همچنین پر استفادهترین ساختارها هستند و به خوبی روابط بین تمامی اشیاء را نشان میدهند
و در عمل تقریبا همه چیز را پشتیبانی میکنند. در ادامه متوجه خواهید شد که درختها،
زیر مجموعهای از گرافها هستند و همانطور که میدانید لیستها هم زیر مجموعهی درختها
هستند. پس لیستها هم زیر م ...
در قسمت قبلی مبحث پیاده سازی ساختمان (ساختار) درختهای جستجوی دودویی
را به پایان رساندیم. در این قسمت قرار است بر روی درخت متوازن بحث کنیم و
آن را پیاده سازی نماییم. درخت متوازن
همانطور که دیدید، عملیات جستجو روی درخت جستجوی دو دویی به مراتب
راحت و آسانتر است؛ ولی با این حال این درخت در عملیاتی چون درج و حذف،
یک نقص فنی دارد و آن هم این است که نمیتواند عمق خ ...
همانطور که در قسمت قبلی گفتیم، در این قسمت قرار است به پیاده سازی درخت جست و جوی دو دویی مرتب شده بپردازیم. در مطلب قبلی اشاره کردیم که ما متدهای افزودن، جستجو و حذف را قرار است به درخت اضافه کنیم و برای هر یک از این متدها توضیحاتی را ارائه خواهیم کرد. به این نکته دقت داشته باشید درختی که قصد پیاده سازی آن را داریم یک درخت متوازن نیست و ممکن است در بعضی شرایط کارآیی مطلوبی نداشته باشد. همانند مثالها و پیاده سازیهای قبلی، دو کلاس د ...
در قسمت قبلی ما به بررسی درخت و اصطلاحات فنی آن پرداختیم و اینکه چگونه یک درخت را پیمایش کنیم. در این قسمت مطلب قبل را با درختهای دودویی ادامه میدهیم.
درختهای دودویی Binary Trees همهی موضوعات و اصطلاحاتی را که در مورد درختها به کار بردیم، در مورد این درخت هم صدق میکند؛ تفاوت درخت دودویی با یک درخت معمولی این است که درجه هر گره نهایتا دو خواهد بود یا به عبارتی ضریب انشعاب این درخت 2 است. از آن جایی که هر گره در نهای ...
در این مقاله یکی از ساختارهای داده را به نام ساختارهای درختی و گرافها معرفی کردیم و در این مقاله قصد داریم این نوع ساختار را بیشتر بررسی نماییم. این ساختارها برای بسیاری از برنامههای مدرن و امروزی بسیار مهم هستند. هر کدام از این ساختارهای داده به حل یکی از مشکلات دنیای واقعی میپردازند. در این مقاله قصد داریم به مزایا و معایب هر کدام از این ساختارها اشاره کنیم و اینکه کی و کجا بهتر است از کدام ساختار استفاده گردد. تمرکز ما بر درخت ه ...
در قسمت قبلی به مقدمات و ساخت لیستهای ایستا و پویا به صورت دستی پرداختیم و در این قسمت (مبحث پایانی) لیستهای آماده در دات نت را مورد بررسی قرار میدهیم.
کلاس ArrayList این کلاس همان پیاده سازی لیستهای ایستایی را دارد که در مطلب پیشین در مورد آن صحبت کردیم و نحوه کدنویسی آن نیز بیان شد و امکاناتی بیشتر از آنچه که در جدول مطلب پیشین گفته بودیم در دسترس ما قرار میدهد. از این کلاس با اسم untyped dynamically-extendable a ...
بعضی از دادهها ساختارهای سادهای دارند و به صورت یک صف یا یک نوار ضبط به ترتیب پشت سر هم قرار میگیرند؛ مثل ساختاری که صفحات یک کتاب را نگهداری میکند. یکی از نمونههای این ساختارها، List، صف، پشته و مشتقات آنها میباشند.
ساختار دادهها چیست؟ در اغلب اوقات، موقعیکه ما برنامهای را مینویسیم با اشیاء یا دادههای زیادی سر و کار داریم که گاهی اوقات اجزایی را به آنها اضافه یا حذف میکنیم و در بعضی اوقات هم آنها را مرتب سازی ...