پشته و صف پیوندی Give qualifications of instructors: DAP

Slides:



Advertisements
Similar presentations
Awe sim.
Advertisements

سید احمد موسوی Line Maze Algorithm زمستان 90 بسمه تعالی.
معاونت درمان امور مامایی اردیبهشت 90. برای ثبت اطلاعات در برنامه نرم افزاری نظام مراقبت مرگ پریناتال ابتدا لازم است برنامه نرم افزار info-path وپرنیان.
فاکتورهای مهم در ایجاد یک مقاله علمی
O r g a n i z a t i o n a l b e h a v i o r e l e v e n t h e d i t i o n.
Decision Tree.
آموزش به بیمار پس از جراحی جمجمه. بیمار پس از جراحی جمجمه لازم است نکاتی را جهت بهبودی هرچه بیشتر رعایت کند که در ذیل نکات مهم یادآوری می شود : - داروهای.
Lesson four Grade three
COMP519: Web Programming Autumn 2007 Perl Tutorial: The very beginning A basic Perl Program The first line Comments and statements Simple printing Running.
Database Laboratory: Session #4 Akram Shokri. DB-Lab 2 Lab Activity You must already created all tables You have to have inserted proper data in tables.
تکنیک های پیشرفته در برنامه سازی وب ) اسلايد هفتم ) جوانمرد Website: به نام خدا.
مظفر بگ محمدی دانشگاه ایلام Generics. کدهای عمومی 2 یکی از اهداف OOP ایجاد قابلیت نوشتن برنامه های عمومی با قابلیت استفاده ی مجدد است. کدهای چندریخت تا.
ساختمان داده‌ها پیمایش گراف. مرور °مشکل: چگونه تمام نودهای گراف را مشاهده کنیم؟ °جستجوی اول عمق دنبال کردن مسیرهای بین راسها. °جستجوی اول سطح دیدن تمام.
Arrangements of Lines C omputational Geometry By Samaneh shafi naderi
آمادگی قبل الولادی برای تغذیه با شیر مادر در گروپ ها همراه با مادر فواید تغذیه با شیر مادر معلومات ساده و مربوط را در مورد تغذیه با شیر مادر بدهید. توضیح.
پیاده سازی کنترلر PC/104. Contents PC/104 پیاده سازی کنترلر HILتست 1.
آشنايي با سيستم اعداد.
[c.
مکان یابی در شبکه های حسگر بیسیم
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
ویژگی های DHCP جلوگیری از Conflict سرعت بخشیدن به کارها مدیریت متمرکز
بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics
SY800 router mode [AD-14-TB ].
آشنایی مقدماتی با نرم افزار Endnote X4
ساختمان داده ها جداول درهم سازی
ساختمان داده‌ها الگوریتمهای کوتاهترین مسیر
Address: Times New Roman, size 34
آزمایشگاه پایگاه داده ها قیود در جداول یک پایگاه داده در SQL Server
Odd-even merge sort مرتب سازی.
چگونه بفهمیم آیا ژورنالی ISI است؟ ایمپکت فاکتور دارد یا خیر؟
مظفر بگ محمدی دانشگاه ایلام
فصل دوم جبر بول.
Route configuration for 5400W ADSL Router
حافظه ی نهان دانشگاه ایلام.
Natural language Understanding James Allen
SSO Single Sign-on Systems
آموزش و یادگیری Education and Training
آشنایی با پایگاه داده mysql
آموزش کرک کردن نرم افزار ACTIVE HDL
Tree Sort.
ساختمان داده‌ها پیمایش درخت دودویی
درخت جستجوی دودویی درخت جستجوي دودويي: درخت دودويي صفر نود يا بيشتر
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
Intro تمام موجودات باید قبل از تقسیم DNA خود را همانندسازی کنند
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
Bucket sort اكرم منوچهري زهرا منوچهري
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
ساختمان داده ها پشته ها Give qualifications of instructors: DAP
راهنمای استفاده از ابزار Mailings در Ms Word
ساختمان داده ها لیستهای پیوندی
پشته و صف پیوندی Give qualifications of instructors: DAP
آشنایی مقدماتی با نرم افزار Endnote X4
بسم الله الرحمن الرحیم هرس درخت تصمیم Dr.vahidipour Zahra bayat
مظفر بگ محمدی دانشگاه ایلام
به نام خدا Koha برنامه.
فصل ششم مدارهای ترتیبی.
ساختمان داده‌ها درختان و درختان دودویی
دکتر مظفر بگ محمدی دانشگاه ایلام
مظفر بگ محمدی دانشگاه ایلام
Uniprocessor Scheduling
نسبت جرم فرمولی ”جرم اتمی و فرمول تجربی
عنوان مقاله نویسنده اول1، نویسنده دوم2، نویسنده سوم3، نویسنده چهارم4
kbkjlj/m/lkiubljj'pl;
ساختمان داده ها مرتب سازی درجی
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
ساختمان داده ها گرافها.
مظفربگ محمدی TCP – III قابلیت اطمینان و مباحث پیاده سازی
NAND and XOR Implementation
Circuit Analysis Procedure by Dr. M
Presentation transcript:

پشته و صف پیوندی Give qualifications of instructors: DAP teaching computer architecture at Berkeley since 1977 Co-athor of textbook used in class Best known for being one of pioneers of RISC currently author of article on future of microprocessors in SciAm Sept 1995 RY took 152 as student, TAed 152,instructor in 152 undergrad and grad work at Berkeley joined NextGen to design fact 80x86 microprocessors one of architects of UltraSPARC fastest SPARC mper shipping this Fall

رئوس مطالب مشکل: چه کار کنیم که لیستهای پیوندی کارآمدتر شوند؟ لیستهای دو پیوندی پیاده‌سازی لیست پیوندی پشته پیاده‌سازی لیست پیوندی صف دقت کنید که قبلاً نسخه ی آرایه ای صف و پشته را دیده‌ایم.

مشکلات لیست تک پیوندی tail head node1 node2 node3 فقط در یک جهت می توان حرکت کرد. در هنگام حذف یا اضافه کردن باید نود قبلی را به خاطر داشته باشیم. در کدنویسی باید حواسمان به ابتدا و انتهای لیست باشد که منجر به تولید if های زیادی می شود.

هر نود دو ارجاع دارد. یک نود در لیست دوپیوندی Node next prev previous following Node value

نود ساختگی اعمال حذف و افزودن راحتتر خواهند بود. چون همیشه در وسط لیست اتفاق می افتند. dummy head node dummy tail node null null value null null

ایجاد یک لیست پیوندی دوپیوندی نودهای head و tail را ایجاد کنید. آنها را به هم پیوند دهید. tNode.prev = hNode hNode.next = tNode null null null null null null hNode tNode null null null null hNode tNode

ادامه ... (ایجاد لیست دو پیوندی)) ادامه ... (ایجاد لیست دو پیوندی)) مقدار head را برابر hNode و tail را برابر tNode قرار دهید. tail head null null null null hNode tNode

اضافه کردن نود جدید بعد از نود p. افزودن یک نود جدید اضافه کردن نود جدید بعد از نود p. p tail head null node null null item null null New node

ادامه ... (افزودن یک نود جدید) مقدار پیوند prev نود جدید را برابر p قرار دهید. null item New node node head tail p

ادامه ... (افزودن یک نود جدید) مقدار next نود جدید را برابر p.next قرار دهید. New node node null head item p tail

ادامه ... (افزودن یک نود جدید) مقدار p.next.prev را برابر نود جدید قرا دهید. p tail head null node null null item

ادامه ... (افزودن یک نود جدید) مقدار p.next را برابر نود جدید قرار دهید. p tail head null node null null item

کد مربوط به افزودن نود جدید public void Insert(DNode p, Object item) { DNode newNode = new Dnode(p, p.next, item); newNode.next.prev = newNode; p.next = newNode; count ++; }

حذف یک نود حذف نود p node null head tail p

مقدار p.next.prev را برابر p.prev قرار دهید. ادامه ... (حذف یک نود) مقدار p.next.prev را برابر p.prev قرار دهید. node null head tail p

مقدار p.prev.next را برابر p.next قرار دهید. ادامه ... (حذف یک نود) مقدار p.prev.next را برابر p.next قرار دهید. node null head tail p

حال می توانید نود p را حذف کنید. ادامه ... (حذف یک نود) حال می توانید نود p را حذف کنید. null head tail

کد حذف نود Object remove(DNode p) { Object item = p.value; p.next.prev = p.prev; p.prev.next = p.next; count --; return item; }

آخرین لینک به اولین لینک بر می گردد. لیست مدور آخرین لینک به اولین لینک بر می گردد. یعنی پیوند آخرین لینک به اولین نود اشاره می کند. current node1 node2 node3

پیاده سازی لیست پیوندی پشته push pop پشته همراه با افزودن یا حذف بزرگ و کوچک می شود. D دیگر نیازی به دانستن حداکثر اندازه ی پشته نداریم. هر جا لازم شد به نود جدید حافظه تخصیص می دهیم. top E B … A stack

پیاده‌سازی لیست پیوندی پشته نودها به ابتدا اضافه می شوند. نودها از ابتدا برداشته می شوند. top a b c null push pop

اضافه کردن یک عنصر به ابتدای پشته عمل Push اضافه کردن یک عنصر به ابتدای پشته top a b c null

عمل Push (ادامه ...) New node top New node ایجاد نود جدید با مقدار d. پیوند دادن نود جدید به ابتدای پشته. New node d null top a b c null New node d

عمل Push (ادامه ...) top New node top a b c null d a b c null d

عمل Pop حذف یک عنصر از پشته top a b c null top a b c null a

LinkedStack Implementation public class LinkedStack implements StackPT { //instance variables //private methods, classes //public methods //… }

پیاده سازی لیست پیوندی صف دو عملکرد اساسی: Enqueue: اضافه کردن به tail صف. Dequeue: حذف از head صف. عملکردهای دیگر: isEmpty isFull نداریم. Size

خلاصه لیست پیوندی حافظه ی مصرفی به اندازه ی مورد نیاز است. کار با داده ها (مثل افزودن و حذف) کارآمدتر است. از آرایه بهتر است. کار با لیست دوپیوندی راحتتر است. می توان پشته و صف را با لیست پیوندی پیاده کرد.