List ADTs By Pantharee S..

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Another one of Data Structure
Advertisements

C# เบื้องต้น ก่อนการเขียนเกมด้วย XNA
Arrays.
เสรี ชิโนดม MS SQLServer 7 เสรี ชิโนดม
Lists Data Structure LAUKHWAN NGAMPRASIT LAUKHWAN NGAMPRASIT.
รายวิชา ง40206 โครงสร้างข้อมูลและขั้นตอนวิธี
[][Data][] [][1][]<->[][5][]<->[][3][]<->[][8][null]
ครั้งที่ 12 การค้นหาข้อมูล (Searching)
Intermediate Representation (รูปแบบการแทนในระยะกลาง)
Data Type part.III.
Data Structures and Algorithms
Stack.
Structure Programming
แถวคอย (Queue).
Security and Integrity
Data structure & Algorithms
ภาษามาตรฐานสำหรับนิยามข้อมูล และการใช้ข้อมูล
Linked-List (รายการโยง)
ตัวชี้ P O I N T E R Created By Tasanawan Soonklang
Object-Oriented Programming
ภาษาโปรแกรมเชิงหน้าที่
Arrays.
ASP:ACCESS Database.
ASP:ACCESS Database.
Selected Topics in IT (Java)
ภาษามาตรฐานสำหรับนิยามข้อมูล และการใช้ข้อมูล
ให้ประหยัดการใช้หน่วยความจำ (space) ด้วยความรวดเร็ว (time)
บทที่ 1 หลักการเขียนโปรแกรมเชิงวัตถุ
Database Programming Exceed Camp #2 24 October 2005.
สตริง (String).
ความปลอดภัยของฐานข้อมูล
Memory Management ในยุคก่อน
โครงสร้างควบคุมการทำงาน
คิว (Queue) Queue ADT Queue เป็น List ชนิดหนึ่ง แต่สำหรับ queue การแทรกข้อมูลลงบน queue (Insertion) จะทำที่ปลายใดปลายหนึ่งของ Queue ในขณะที่การลบข้อมูลออกจากคิว.
STACK ADT By Pantharee S.. Stack Model  A list with the restriction that insertions deletions can be performed in only one position (LIFO)  Push – insert.
Linked List (ลิงค์ลิสต์)
บทที่ 5 Link List Link List.
Chapter 1/1 Arrays. Introduction Data structures are classified as either linear or nonlinear Linear structures: elements form a sequence or a linear.
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.
Call by reference.
โปรแกรม Microsoft Access
ลิงค์ลิสต์ (Linked List)
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
โครงสร้างข้อมูลแบบรายการโยง (Link List)
ADO.NET (การบริหารและจัดการข้อมูล)
Java collection framework
โครงสร้างข้อมูลแบบลิงก์ลิสต์
1 Functions กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Int isEmpty ( node **ptr_head) ; parameter ชื่อของตัวแปรลิสต์ที่จะตรวจสอบว่า ว่างหรือไม่ return value มีได้ 2 สถานะ คือ ว่าง (1) หรือ ไม่ ว่าง (0) body.
รายการ (Lis t) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร สาขาวิชาเทคโนโลยีคอมพิวเตอร์เคลื่อนที่ คณะเทคโนโลยีสารสนเทศและการสื่อสาร Website : ict.up.ac.th/yeunyong.
Database & DBMS Architecture วรวิทย์ พูลสวัสดิ์. 2 2 ฐานข้อมูล (Database) - Data and its relation - Databases are designed to offer an organized mechanism.
Linked List (2) Sanchai Yeewiyom School of Information & Communication Technology University of Phayao.
Collections. Data structures Data Structures ( โครงสร้างข้อมูล ) เกิดจากการ นำข้อมูลขั้นพื้นฐานที่แบ่งแยกไม่ได้ (atomic data type) เช่น int, char, double.
Linked List ( ต่อ ) 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.
List, Stack, Queue 2018/9/21.
รายการ(List) [2] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Linked List.
Toward National Health Information System
Data Structure & Algorithm Concept
Linked List.
int isEmpty ( node **ptr_head) ;
Linked List Lecturer : Kritawan Siriboon, Room no. 913
Linked List (ต่อ) Lecturer : Kritawan Siriboon, Room no. 913
ระเบียบวิธีวิจัยพื้นฐานทาง การตลาด
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 05: การวิเคราะห์ความซับซ้อนของ ขั้นตอนวิธีการเรียงลำดับข้อมูล.
4.4 AVL Trees AVL (Adelson-Velskii and Landis) tree เป็น binary search tree กำกับด้วยเงื่อนไขของการสมดุล และประกันว่า depth ของ tree จะเป็น O(log n) อย่างง่ายที่สุดคือกำหนดว่า.
การวิเคราะห์และออกแบบขั้นตอนวิธี
ใบสำเนางานนำเสนอ:

List ADTs By Pantharee S.

Abstract Data Types (ADTs) เป็นชนิดข้อมูลที่สร้างขึ้นโดยผู้เขียนโปรแกรม (user defined data type) สร้างโดยใช้ structure ที่มีในภาษา imperative เพื่อให้ชนิดข้อมูลนี้ใช้งานได้อย่างปลอดภัย ควรมีลักษณะ รายละเอียดของการเก็บข้อมูลต้องไม่มีความสำคัญต่อการใช้งานชนิดข้อมูล ข้อมูลภายในจะไม่ถูกอ้างถึงได้โดยตรง แต่ผ่านทาง operations ที่กำหนดไว้ Build-in type ก็คือ ADTs นั่นเอง

Abstract Data Types (ADTs) Encapsulation เพื่อนำข้อมูลกับ operations มาผูกติดกันเป็นหน่วยหนึ่ง Information hiding เพื่อกำหนดขอบเขตในการอ้างถึงข้อมูลหรือ operations ของชนิด ข้อมูลหนึ่ง ๆ ข้อดี ง่ายต่อการจัดการโครงสร้างของโปรแกรม แก้ไขเปลี่ยนแปลงได้สะดวก คอมไพล์แยกส่วนได้ สามารถเปลี่ยนการแทนข้อมูลได้ โดยไม่มีผลกระทบต่อผู้ใช้ Reliability โดยการซ่อนการแทนข้อมูล ผู้ใช้ไม่สามารถเข้าถึงข้อมูลในวัตถุได้โดยตรง

The List ADT General List of form A1 , A2 , A3 , . . . , AN (Size = N) Null List  the special list of Size=0 Opreation on collection and List PrintList MakeEmpty Find : return the position of the first occurrence of a key Insert : insert a key into a list Delete : delete a key in a list FindKth : return the element in some position

Example If the list is 34 , 12 , 52 , 16 , 12 Find(52)  return 3 Insert(X,3)  insert after 3 34 , 12 , 52 , X , 16 , 12  insert before 3 34 , 12 , X , 52 , 16 , 12 Delete(3)  34 , 12 , 52 , X , 16 , 12  34 , 12 , X , 16 , 12 Next Previous

Simple Array Implementation of Lists Using for loop to implement PrintList Return array element address to implement FindKth Insert and Delete are expensive Insert shift all element after the position down Delete  shift all element after the position up Running time of insertion and deletion is slow and the list size must be know in advance Simple arrays are generally used to implement lists

Linked Lists Improve the linear cost of insertion and deletion The list is not stored contiguously A1 A2 A3 A4 A5 A1 A2 A3 A4 A5 800 712 992 692 O 1000 800 712 992 692

Deletion from a Linked List Delete command can be executed in one pointer change A1 A2 A3 A4 A5

Insertion into a linked list Insert command require obtaining a new cell from the system by using a new cell and the executing two pointer maneuvers. A1 A2 A3 A4 A5 3 2 X 1

Doubly Linked Lists × It is convenient to traverse lists backward. Memory overhead √ × A1 A2 A3 A4 A5

Circularly Linked Lists To have the last cell keep a pointer back to the first. A1 A2 A3 A4 A5

Index ที่เป็นไปได้ของ add(index,e) คือ ? ตั้งแต่ 0 จนถึง size +1 ตั้งแต่ 0 จนถึง size ตั้งแต่ 0 จนถึง size – 1 เป็นจำนวนไม่ติดลบ

Index ที่ส่งให้ remove มีค่าเท่าใดได้บ้าง ? ตั้งแต่ 0 จนถึง size ตั้งแต่ 0 จนถึง size – 1 ตั้งแต่ 0 จนถึง size +1 เป็นจำนวนไม่ติดลบ

indexOf(e) ไว้ทำอะไร ? ค้นว่า e มีในรายการหรือไม่

ถ้ารายการเก็บ e ไว้หลายตัว indexOf(e) คืนอะไร ?

Singly Linked List : Method ใดใช้เวลา O(n) size() isEmpty() add(e) add(i,e) remove(e) set(i,e) get(i)

Circulary Linked List จะเขียน Code เพื่อทำ Method ทางซ้ายอย่างไร ? …..removeFirst() A. header.next == header …..removeLast() B. removeNode(header.prev) …..addFirst() C. removeNode(header.next) …..addLast() D. removeNode(header) …..isEmpty() E. addBefore(header.next) F. addBefore(header.prev) G. addBefore(header)