DATA STRUCTURE AND ALGORITHM 3901-2002 Linked List.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
บทที่ 5 Link List Link List.
Advertisements

Linked List List is group of nodes that consists of data and link.
ลิงค์ลิสต์ (Linked List)
รายการโยง (linked lists) หอยทอด 30 ข้าวผัด 30 ไก่ย่าง 50 เนื้อทอด 30
บทที่ 5 การดำรงชีวิตของพืช
Array ธนวัฒน์ แซ่ เอียบ. The concept of array อาเรย์ : กลุ่มของข้อมูลที่มีชนิดเดียวกันและถูก จัดเก็บเรียงลำดับต่อเนื่องกัน ตัวแปร x สามารถจัดเก็บค่ามากกว่า.
โรงเรียนนวมินทราชินูทิศ เตรียมอุดมศึกษาพัฒนาการ
ณ ห้องปฏิบัติการคอมพิวเตอร์ คณะพยาบาลศาสตร์ มหาวิทยาลัยเชียงใหม่
การใช้งานโปรแกรม SPSS
หน่วยที่ 3 ภาษาคำสั่งพื้นฐานที่ใช้เขียนโปรแกรม PLC
Chapter 10 Arrays Dept of Computer Engineering Khon Kaen University.
โครงสร้างข้อมูลและขั้นตอนวิธี
สมาชิกกลุ่ม นายจตุพร ร้องเสียง เลขที่ 5 นายณัฐวัฒน์ เทพวรรณ์ เลขที่ 8
โครงสร้างข้อมูล (Data Structures ) รหัสวิชา การเรียงลำดับข้อมูลแบบ (Heap Sort)
โครงสร้างข้อมูลและอัลกอริทึม (Data Structure and Algorithm)
รูปร่างของเครือข่ายคอมพิวเตอร์
กระบวนการของการอธิบาย
หน่วยที่ 6 แถวลำดับ (Array)
Linked List (2) Sanchai Yeewiyom School of Information & Communication Technology University of Phayao.
Queue Sanchai Yeewiyom School of Information & Communication Technology University of Phayao.
โปรแกรมสต๊อกสินค้า และ โปรแกรมขายหน้าร้าน Nanosoft Smart INV.NET วิชาโปรแกรมสำเร็จรูปและการ ประยุกต์ใช้งาน อ. วิสุตร์ เพชรรัตน์
โปรแกรมคำนวณคะแนน สหกรณ์ ตามเกณฑ์ดีเด่นแห่งชาติ กรมส่งเสริม สหกรณ์ กองพัฒนาสหกรณ์ด้านการเงิน และร้านค้า วิธีการใ ช้
การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน เรื่อง หลักการทำงานของคอมพิวเตอร์ วิชาคอมพิวเตอร์พื้นฐาน สำหรับนักเรียนชั้นมัธยมศึกษาปีที่ 1 โรงเรียนเฉลิมราชประชาอุทิศ.
การเลือกข้อมูลจาก List การกำหนดเงื่อนไขการป้อนข้อมูลด้วย Data Validation การใส่ Comment / แสดง / แก้ไข / ลบ.
วิธีการใ ช้ โปรแกรมคำนวณคะแนน กลุ่มเกษตรกรดีเด่น กองพัฒนาสหกรณ์ด้าน การเงินและร้านค้า กรมส่งเสริม สหกรณ์
การสร้างฐานข้อมูลใหม่ หมายถึง การสร้างแฟ้มข้อมูลใหม่บน Access สามารถกำหนด ได้ดังต่อไปนี้ ภาพแสดงการสร้างฐานข้อมูลใหม่
โดย... นายวินิจ รักชาติ อดีตผู้อำนวยการ สำนักงาน ทรัพยากรธรรมชาติ และสิ่งแวดล้อม จังหวัด กาญจนบุรี
ซอร์ฟแวร์ ( Software ). Microsoft excel Microsoft excel Microsoft power point.. Link Link.
Material requirements planning (MRP) systems
สถิติเบื้องต้นสำหรับการวิเคราะห์ข้อมูล
Burin Rujjanapan Updated:
รายการ(List) [2] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
รายการ(List) [1] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
โครงสร้างข้อมูลและอัลกอริทึมเบื้องต้น
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
int isEmpty ( node **ptr_head) ;
รายการ(List) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
STACK สแตก(stack) เป็นโครงสร้างข้อมูลแบบเชิงเส้น ที่มีการใส่ข้อมูลเข้า และนำข้อมูลออกเพียงด้านเดียว ดังนั้น ข้อมูลที่เข้าไปอยู่ใน stack ก่อนจะออกจาก stack.
BC320 Introduction to Computer Programming
การบันทึกรายการค้าในสมุดบัญชี
QUEUE คิวจะมีโครงสร้างแบบเชิงเส้นเหมือน stack แต่แตกต่างตรงที่ queue มีตัวชี้ 2 ตัวคือ หัว(Head) และหาง(Tail) โดยการใส่ข้อมูลเข้าและนำข้อมูลออก จะมีลักษณะ.
บทที่ 1 โครงสร้างคอมพิวเตอร์พื้นฐาน
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
เรื่อง ความพึงพอใจต่อการให้บริการห้องสมุด
คำสั่ง Create , Insert, Delete, Update
The Collections Framework
บทที่ 3 แฟ้มข้อมูลและฐานข้อมูล
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
วิธีการกำหนดค่า Microsoft SharePoint ของคุณ เว็บไซต์ออนไลน์
บริษัท พัฒนาวิชาการ (2535) จำกัด
Week 5 C Programming.
โครงสร้างข้อมูลแบบสแตก (stack)
ผู้ช่วยศาสตราจารย์จุฑาวุฒิ จันทรมาลี
ผลการเรียนรู้ 1. สามารถบอกความหมายของการสืบค้นข้อมูลได้ 2. สามารถบอกประเภทของการสืบค้นข้อมูลได้ 3. สามารถตรวจสอบความน่าเชื่อถือของข้อมูลได้
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
บทที่ 9 การเรียงลำดับข้อมูล (Sorting)
การออกแบบแบบสอบถาม การออกแบบแบบสอบถาม
สถาปัตยกรรมของฐานข้อมูล
Tree.
2 โครงสร้างข้อมูลแบบสแตก (STACK).
3 โครงสร้างข้อมูลแบบคิว (QUEUE).
บทที่ 2 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์ (Array)
บทที่ 10 วงจรรายได้.
Chapter 3 : Array.
Data Structure and Algorithms
Array Sanchai Yeewiyom
4 โครงสร้างข้อมูลแบบลิงค์ลิสต์ (LINKED LIST).
Decision: Single and Double Selection (if and if-else statement)
พอยเตอร์ #include <stdio.h> void main() { int age; int *pointer;
ใบสำเนางานนำเสนอ:

DATA STRUCTURE AND ALGORITHM Linked List

แนวคิดพื้นฐานเกี่ยวกับลิสต์แบบเชิงเส้น ลิสต์แบบทั่วไป (General List) ลิสต์แบบมีข้อจำกัด (Restricted List) แนวคิดพื้นฐานของลิงก์ลิสต์ (Linked List Concept) โครงสร้างข้อมูลแบบลิงก์ลิสต์ การดำเนินงานพื้นฐานของลิสต์ (Basic Operation) หัวข้อ

ข้อมูลภายในลิสต์มีลักษณะเป็นลำดับต่อเนื่อง สมาชิกแต่ละตัวจะเชื่อมโยงกับสมาชิกตัวถัดไป ต่อเนื่องกัน แนวคิดพื้นฐานเกี่ยวกับ ลิสต์แบบเชิงเส้น Element 1 Element 2 Element 3 Element 4

สามารถแทรก หรือลบรายการลิสต์ ณ ตำแหน่ง ใดๆ ก็ได้ สามารถแบ่งออกเป็น ลิสต์แบบสุ่ม (Random List) ข้อมูลภายในลิสต์จะไม่เรียงลำดับ ลิสต์แบบเรียงลำดับ (Order List) ข้อมูลจะถูกจัดเรียงด้วยคีย์ ซึ่งอาจเป็นฟิลด์ใด ฟิลด์หนึ่ง หรือหลายฟิลด์ ลิสต์แบบทั่วไป (General List)

การเพิ่มหรือลบข้อมูลออกจากลิสต์จะต้องทำที่ จุดปลายด้านใดด้านหนึ่งของลิสต์เท่านั้น ลิสต์แบบมีข้อจำกัด (Restricted List) Linear List General Random Ordered Restricted FIFO (Queue) LIFO (Stack)

ข้อมูลภายในหน่วยความจำจะไม่ได้อยู่ในลำดับ ต่อเนื่องเหมือนกับอาร์เรย์ ข้อมูลแต่ละตัวจะถูกเชื่อมโยงด้วยลิงก์หรือ พอยต์เตอร์ (Pointer) ข้อมูลแต่ละตัวจะถูกเรียกว่า โหนด ซึ่งภายใน โหนดจะประกอบด้วย ข้อมูล (Data) ลิงก์ (Link) ใช้เชื่อมโยงกับโหนดถัดไป จะเก็บตำแหน่ง (Address) ของโหนดถัดไป แนวคิดพื้นฐานของลิงก์ลิสต์ (Linked List Concept) DATA LI NK DATA LI NK DATA LI NK HE AD

โครงสร้างข้อมูลแบบลิงก์ลิสต์ Count Head Data Link Head Structure Node Structure

การแทรก (Insertion) การลบ (Deletion) การอ่าน (Retrieval) การท่องเข้าไปในลิสต์ (Traversal) การดำเนินงานพื้นฐานของลิสต์ (Basic Operation)

การสร้างลิสต์ (Create Lits) Allocate (List) Set List Head to null Set List Count to 0 อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm) 0 0 null List CountHead

การแทรกโหนด (Insert Node) การแทรกโหนดในลิสก์ว่าง อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Lin k NULL 1. Allocate Newnode สร้างโหนดใหม่ชื่อว่า Newnode Newn ode Count He ad LIst

การแทรกโหนด (Insert Node) การแทรกโหนดในลิสก์ว่าง อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) 2. Set Newnode Link to List Head ให้ Link ของ Newnode ชี้ที่เดียวกับ Head ของ List Data Lin k NULL Newn ode Count He ad LIst

การแทรกโหนด (Insert Node) การแทรกโหนดในลิสก์ว่าง อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) 3. Set List Head to Newnode ให้ Head ของ List ชี้ที่เดียวกับ Newnode Data Lin k NULL Newn ode Count He ad LIst

การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งแรก อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Lin k NULL Count He ad LIst 1. Allocate Newnode สร้างโหนดใหม่ชื่อว่า Newnode Data Lin k Newn ode

การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งแรก อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Lin k NULL Count He ad LIst 2. Set Newnode Link to List Head ให้ Link ของ Newnode ชี้ที่เดียวกับ Head ของ List Data Lin k Newn ode

การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งแรก อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Lin k NULL Count He ad LIst 3. Set List Head to Newnode ให้ Head ของ List ชี้ที่เดียวกับ Newnode Data Lin k Newn ode

การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งกึ่งกลาง อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 1. Allocate Newnode สร้างโหนดใหม่ชื่อว่า Newnode Data Li nk Data Li nk Newn ode

การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งกึ่งกลาง อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 2. Set Pre to before insert Node สร้างพอยเตอร์ Pre ชี้ไปยังตำแหน่งก่อนหน้าที่จะแทรก Data Li nk Data Li nk Newn ode Pre

การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งกึ่งกลาง อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 3. Set Newnode Link to Pre Link ให้ Link ของ Newnode ชี้ที่เดียวกับ Link ของ Pre Data Li nk Data Li nk Newn ode Pre

การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งกึ่งกลาง อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 4. Set Pre Link to Newnode ให้ Link ของ Pre ชี้ที่เดียวกับ Newnode Data Li nk Data Li nk Newn ode Pre

การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งท้ายลิสต์ อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 1. Allocate Newnode สร้างโหนดใหม่ชื่อว่า Newnode Data Li nk Data Li nk Newn ode

การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งท้ายลิสต์ อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 2. Set Pre to last Node สร้างพอยเตอร์ Pre ชี้ไปยังตำแหน่งโหนดสุดท้าย Data Li nk Data Li nk Newn ode Pre

การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งท้ายลิสต์ อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 3. Set Newnode Link to Pre Link (NULL) ให้ Link ของ Newnode ชี้ที่เดียวกับ Link ของ Pre (NULL) Data Li nk Data Li nk Newn ode Pre

การแทรกโหนด (Insert Node) การแทรกโหนดในตำแหน่งท้ายลิสต์ อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 4. Set Pre Link to Newnode ให้ Link ของ Pre ชี้ที่เดียวกับ Newnode Data Li nk Data Li nk Newn ode Pre

การลบโหนด (Delete Node) การลบโหนดในตำแหน่งแรก อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 1. Set Loc to delete Node สร้างพอยเตอร์ Loc ชี้ไปยังโหนดที่ต้องการลบ Data Li nk Data Li nk Loc

การลบโหนด (Delete Node) การลบโหนดในตำแหน่งแรก อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 2. Set List Head to Loc Link ให้ Head ของ List ชี้ที่เดียวกับ Link ของ Loc Data Li nk Data Li nk Loc

การลบโหนด (Delete Node) การลบโหนดในตำแหน่งแรก อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 3. Delete Loc คืนค่าโหนดที่ถูกลบให้แก่ระบบ Data Li nk Data Li nk Loc

การลบโหนด (Delete Node) การลบโหนดในตำแหน่งใดๆ อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 1. Set Loc to delete Node สร้างพอยเตอร์ Loc ชี้ไปยังโหนดที่ต้องการลบ Data Li nk Data Li nk Loc

การลบโหนด (Delete Node) การลบโหนดในตำแหน่งใดๆ อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 2. Set Pre to before delete Node สร้างพอยเตอร์ Pre ชี้ไปยังโหนดก่อนหน้าโหนดที่ต้องการลบ Data Li nk Data Li nk Loc Pre

การลบโหนด (Delete Node) การลบโหนดในตำแหน่งใดๆ อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 3. Set Pre Link to Loc Link ให้ Link ของ Pre ชี้ที่เดียวกับ Link ของ Loc Data Li nk Data Li nk Loc Pre

การลบโหนด (Delete Node) การลบโหนดในตำแหน่งใดๆ อัลกอริทึมของลิงก์ลิสต์ (Linked List Algorithm)( ต่อ ) Data Li nk NULL Count He ad LIst 4. Delete Loc คืนค่าโหนดที่ถูกลบให้แก่ระบบ Data Li nk Data Li nk Loc Pre