فهرست پیوندی دوطرفه

دانشنامه عمومی

لیست پیوندی دوطرفه
در علوم رایانه، لیست پیوندی دوطرفه یک ساختار داده ی به هم پیوسته است که از یک سری رکوردها و اطلاعات به هم پیوسته که گره نامیده می شوند تشکیل شده است. هرگره از دو بخش تشکیل شده که یک مرجع به گره قبل و گره بعد در سری گره ها است که به آن پیوند می گویند. قسمت های next ( بعدی ) و previous ( قبلی ) در گره های ابتدایی و انتهایی گره که به ترتیب به یک نوعی از مخرب اشاره می کنند و به منظور تسهیل در پیمایش لیست به طور معمول یک گره نگهبان ( Sentinel node ) یا تهی است. اگر تنها یک گره نگهبان باشد، آنگاه یک لیست پیوندی حلقوی با گرهٔ نگهبان داریم. می توان به این شکل درک کرد که دو لیست پیوندی یک طرفه با اطلاعات و مقادیر یکسان داریم که در جهت عکس یکدیگر هستند.
دو گرهٔ پیوند این امکان را می دهند که بتوانیم لیست را در هر دو جهت پیمایش کنیم. در هنگام اضافه کردن یا پاک کردن در لیست پیوندی دوطرفه ما به تغییرات بیشتری نسبت به عملیاتی که بروی لیست پیوندی یک طرفه انجام می دادیم نیازمندیم. این عملیات ساده تر و به طور بالقوه کارآمد تر هستند ( برای گره هایی غیر از گره اول ) به دلیل اینکه نیازی به نگهداری از گره قبلی در هنگام پیمایش وجود ندارد یا هیچ نیازی به پیمایش لسیت برای پیدا کردن گره قبلی وجود ندارد و به این صورت لیست می تواند اصلاح شود.
اولین و آخرین گره به سرعت قابل دسترسی هستند ( دسترسی بدون پیمایش ) و بنابراین این اجازه را می دهند که لیست را هم از ابتدا و هم از انتهای آن پیمایش کرد و به ترتیب پیمایش لیست از انتها تا ابتدا یا از انتها تا ابتدا هنگام جستجوی لیست برای یافتن گره ایی که دارای مقدار مشخص است. هر گره ایی از لیست پیوندی دو طرفه هنگامی که بدست بیاید، می توان از آن برای شروع یک پیمایش جدید در لیست استفاده کرد در هر دو جهت ( به سمت ابتدا یا انتها ) . قسمتهای پیوندی لیست پیوندی دو طرفه که اغلب بعدی و قبلی یا جلویی و عقبی نامیده می شوند. ارجاعاتی که در قسمت های پیوندی گره ها موجود است اغلب توسط اشاره گر ( علوم رایانه ) پیاده سازی و اجرا می شوند. اما ( مانند سایر دادهای پیوندی ) آن ها ممکن است میزان جابجایی آدرس یا شاخص آرایه ایی که گره ها در آن هستند را مشخص کنند.
record { prev ' ' // A reference to the previous node' ' next ' ' // A reference to the next node' ' data ' ' // Data or a reference to data' ' { record { ' ' DoublyLinkedNode' ' firstNode ' ' // points to first node of list' ' ' ' DoublyLinkedNode' ' lastNode ' ' // points to last node of list' ' { پیمایش لیست پیمایش یک لیست پیوندی دو طرفه می تواند در هر دو جهت انجام گیرد. در حقیقت جهت پیمایش می تواند بارها تغییر کند. در صورت لزوم، اغلب پیمایش تکرار نیز گفته می شود، اما این انتخاب اصطلاح مایه تاسف است برای تکرار که دارای معنا و مفهوم مشخص و تعریف شده ایی است.
عکس فهرست پیوندی دوطرفه
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلف

پیشنهاد کاربران

بپرس