Linked List ( ต่อ ) Lecturer : Kritawan Siriboon, Room no. 913 Text : Data Structures & Algorithm Analysis in C, C++,… Mark Allen Weiss, Addison Wesley.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Lists Data Structure LAUKHWAN NGAMPRASIT LAUKHWAN NGAMPRASIT.
Advertisements

[][Data][] [][1][]<->[][5][]<->[][3][]<->[][8][null]
Data Structures and Algorithms
โครงสร้างข้อมูลแบบรายการโยง (Linked Lists) Data Structures and Algorithms อ. ธารารัตน์ พวงสุวรรณ คณะวิทยาศาสตร์และศิลปศาสตร์ มหาวิทยาลัยบูรพา วิทยาเขตสารสนเทศจันทบุรี
Stack.
แถวคอย (Queue).
Data structure & Algorithms
ลักษณะการทำงานของ Stack
Linked-List (รายการโยง)
Object-Oriented Programming
คิวQueue Circular Queue.
บทที่ 2 Queue Queue.
โครงสร้างข้อมูลแบบคิว
คิว ลักษณะการทำงานของ Queue การดำเนินการของ Queue การตรวจสอบ Queue
คิว (Queue) Queue ADT Queue เป็น List ชนิดหนึ่ง แต่สำหรับ queue การแทรกข้อมูลลงบน queue (Insertion) จะทำที่ปลายใดปลายหนึ่งของ Queue ในขณะที่การลบข้อมูลออกจากคิว.
Software Engineering Project Presentation
Thread Thread ส่วนของ process ที่ให้ CPU ประมวลผล.
List ADTs By Pantharee S..
Chapter 3 Simple Supervised learning
บทที่ 5 Link List Link List.
Linked List List is group of nodes that consists of data and link.
21 August ดรุณี ศมาวรรตกุล 1 2. ADT List - Unsorted list ADT - list implementation - Sorted List - Circular list - Doubly linked list.
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
โครงสร้างข้อมูลแบบรายการโยง (Link List)
Java collection framework
โครงสร้างข้อมูล Queues
Int isEmpty ( node **ptr_head) ; parameter ชื่อของตัวแปรลิสต์ที่จะตรวจสอบว่า ว่างหรือไม่ return value มีได้ 2 สถานะ คือ ว่าง (1) หรือ ไม่ ว่าง (0) body.
รายการ (Lis t) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร สาขาวิชาเทคโนโลยีคอมพิวเตอร์เคลื่อนที่ คณะเทคโนโลยีสารสนเทศและการสื่อสาร Website : ict.up.ac.th/yeunyong.
DATA STRUCTURE AND ALGORITHM Linked List.
Linked List (2) Sanchai Yeewiyom School of Information & Communication Technology University of Phayao.
รศ. ดร. บุญธีร์ เครือตราชู รศ. กฤตวัน ศิริบูรณ์ KMITL Data Structures & Algorithms : Stack & Queue 1 Stack & Queue Lecturers : Boontee Kruatrachue.
Collections. Data structures Data Structures ( โครงสร้างข้อมูล ) เกิดจากการ นำข้อมูลขั้นพื้นฐานที่แบ่งแยกไม่ได้ (atomic data type) เช่น int, char, double.
QueueQueue Lecturer : Kritawan Siriboon, Room no. 913 Text : Data Structures & Algorithm Analysis in C, C++,… Mark Allen Weiss, Addison Wesley.
Queue Sanchai Yeewiyom School of Information & Communication Technology University of Phayao.
การออกแบบส่วนต่อประสาน
Queue Lecturer : Kritawan Siriboon, Room no. 913
List, Stack, Queue 2018/9/21.
รายการ(List) [2] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
รายการ(List) [1] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Mark Allen Weiss, Addison Wesley
Linked List.
Mark Allen Weiss, Addison Wesley
Queue [1] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Data Structure & Algorithm Concept
Linked List.
int isEmpty ( node **ptr_head) ;
Graph Lecturer : Kritawan Siriboon, Boontee Kruatrachue Room no. 913
1. นี่เป็นสิ่งที่พระเยซูทรงทำ พระองค์ทรงรักษาทุกคน ที่เจ็บป่วยให้หายดี
Stack Sanchai Yeewiyom
Graph Lecturer : Kritawan Siriboon, Boontee Kruatrachue Room no. 913
Tree 2.
Graph Lecturer : Kritawan Siriboon, Boontee Kruatrachue Room no. 913
รายการ(List) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Graph Lecturer : Kritawan Siriboon, Boontee Kruatrachue Room no. 913
QUEUE คิวจะมีโครงสร้างแบบเชิงเส้นเหมือน stack แต่แตกต่างตรงที่ queue มีตัวชี้ 2 ตัวคือ หัว(Head) และหาง(Tail) โดยการใส่ข้อมูลเข้าและนำข้อมูลออก จะมีลักษณะ.
Linked List Lecturer : Kritawan Siriboon, Room no. 913
การวัดอัลกอริทึม (Analysis of Algorithm)
Queue [2] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
ขององค์กรปกครองส่วนท้องถิ่น
Linked List (ต่อ) Lecturer : Kritawan Siriboon, Room no. 913
บทที่ 10 การค้นหาข้อมูล (Searching)
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 05: การวิเคราะห์ความซับซ้อนของ ขั้นตอนวิธีการเรียงลำดับข้อมูล.
Data Structures & Algorithms Using Python
Data Structures and Algorithms 2/2561
Data Structures & Algorithms Using Python
3 โครงสร้างข้อมูลแบบคิว (QUEUE).
การวิเคราะห์โจทย์ปัญหา (Problem Analysis)
4 โครงสร้างข้อมูลแบบลิงค์ลิสต์ (LINKED LIST).
การเขียนโปรแกรมคอมพิวเตอร์ แบบภาษาเชิงวัตถุ
Stack (Push Down Stack)
ใบสำเนางานนำเสนอ:

Linked List ( ต่อ ) Lecturer : Kritawan Siriboon, Room no. 913 Text : Data Structures & Algorithm Analysis in C, C++,… Mark Allen Weiss, Addison Wesley

this pointer template class point{ int x, y; public: void move(int xx, int yy) { } }; x += xx; y += yy; this->x += xx; this->y += yy; point p, q; p.move(1,2); // this keeps &p q.move(3,4); // this keeps &q same as When an object calls a member function, the object’s address is passed automatically to the function as ‘this’ pointer. เมื่อออปเจคใดๆ เรียกเมมเบอร์ฟังก์ชั่น แอดเดรสของออปเจคนั้นจะถูกส่งมายังฟังก์ชั่น นั้นโดยอัตโนมัติในรูป this พอยน์เตอร์ (*this).x += xx; (*this). y += yy;

Dummy Node Can insert / delete to any position? p Using “Dummy Node” dummy head dummy head Empty List

Head & Tail Nodes Curcular List head tail

Doubly VS Singly Linked List Doubly Curcular List tailhead prev data next tail previous prev data next

Linked Stack Linked Queue top front rear Check if it support every operations.

Lab : Scrambling List h Cut it. Take the bottom up. I love you very much C++ Where ? h2 t2 t1 Now try. Print h2. Opps!

Lab : Scrambling List h1 Shuffle t h2 t2

Lab : Scrambling List h1 Shuffle t h2 t2

Linked Array Implementation List : ABCDEFG Create Available List (Stack) node n[8]; int avail = 0; avail = avail =

Using avialable node from avail stack. av= Returning avialable node to avail stack av= take out 1st node take out another node av= take out another node av= return node 2 first av=

old_av= avail; avail = n[avail].next ; n[old_av].data = d; n[old_av].next = nx; return old_av; getnode() node n[8]; int avail = 0; avail = int h = getnode(d,nx) h = A -1A 0 old_av = results av= A -1 h =

p h insertafter() X q E D C B A 5 h = av = 6 1 p = insertafter(p,d); int q = getnode(d,n[p].next); n[p].next = q; node n[8]; q = X 04 0 results h= av= p= q= C A D X B E

deleteafter() int i = delteafter(p); p h E D C B A 5 h = av = 6 1 p = q q = 3 C 3 int q = n[p].next; n[p].next = n[q].next; results h= av= p= q= C A D B E

Sharing pool of nodes. B Z Y X 5 h = av = 6 r = top = queue : r h g f C W 2 12 C f = r 7 h 3 g 14 f top C B stack : A r f Circular List: W X Y Z h

Sequential Array Insertion / Deletion Shifting Problem. Random Access. Static Allocation. Only keeps data. Solved. Sequential Access. Dynamic Allocation. Need space for linkes. Dynamic h

Application : Polynomial expression 5x 3 + 4x 2 - 7x + 10 x 3 + 2x How about... 5x x + 1 x

Application : Multilists 1. class หนึ่งๆ มีใครลงบ้าง 2. นร. คน หนึ่งๆ ลง class ใดบ้าง C1 C2 C3 C4 s1s2 s3s4s5

Application : Multilists 1. class หนึ่งๆ มีใครลงบ้าง 2. นร. คน หนึ่งๆ ลง class ใดบ้าง C1 C2 C3 C4 s1 s2 s3 s4 s s1 c1 s3 c1 s3 c2s5 c2 s3 c3 s4 c3 s1 c3 s2 c4s4 c4

Application : Radix Sort input: output :

Application : Radix Sort input: output: