23 กรกฎาคม 2552

DTS05-22-07-52

สรุปเรื่อง ลิงค์ลิสต์


ลิงค์ลิสต์เป็นการจัดเก็บชุดข้อมูลเชื่อมโยงต่อเนื่องกันไปตามลำดับ ซึ่งอาจอยู่ในลักษณะแบบเชิงเส้นตรง (linear) หรือ ไม่เป็นเส้นตรง (nonlinear) ก็ได้ ซึ่งในลิสต์จะประกอบไปด้วยข้อมูลที่เรียกว่าโหนด (node) ในหนึ่งโหนดจะประกอบด้วยส่วนของข้อมูลที่ต้องการจัดเก็บ และส่วนที่เป็นพอยน์เตอร์ที่ชี้ไปยังโหนดถัดไป (Link) หรือชี้ไปยังโหนดอื่นๆที่อยู่ในลิสต์ หากไม่มีโหนดที่อยู่ถัดไป ส่วนที่เป็นพอยน์เตอร์หรือ Link จะเก็บค่า NULLลิงค์ลิสค์เป็นการนำข้อมูลแต่ละโหนดมาจัดเรียงต่อกันเป็นลิสต์ที่มีการเชื่อมโยงกัน ภายในแต่ละโหนดแบ่งส่วนประกอบได้เป็น 2 ฟิวด์ นั่นคือ ส่วนของข้อมูลและแอดเดรสของโหนดถัดไป ลิงค์ลิสต์เป็นการนำข้อมูลแต่ละโหนดมาจัดเรียงกันเป็นลิสต์ โดยสิ่งที่เป็นตัวกำหนดลำดับก็คือ ฟิลด์แอดเดรสของแต่ละโหนด





สรุปเรื่องสแตค (Stack)


สแตคเป็นโครงสร้างข้อมูลที่มีลักษณะแบบลำดับ (sequential) ลักษณะที่สำคัญของสแตกคือ ข้อมูลที่ใส่หลังสุดจะถูกนำออกมา จากแสตกเป็นลำดับแรกสุด เราเรียกคุณสมบัตินี้ว่า LIFO (Last In First Out)การกระทำกับข้อมูลของสแตคประกอบไปด้วยการนำเข้าข้อมูลเข้า (PUSH) ที่ส่วนบนสุดของสแตค และการนำข้อมูลออก (POP) ที่ส่วนบนสุดของสแตคเช่นกัน ในการจะ Push ข้อมูลเข้าก็ต้องตรวจสอบด้วยว่าข้อมูลในสแตคเต็มหรือไม่ หากสแตคเต็มก็จะไม่สามารถ Push หรือนำข้อมูลเข้าได้ เช่นเดียวกับการ Pop ข้อมูลออกก็ต้องตรวจสอบด้วยว่ามีข้อมูลอยู่ในสแตคหรือไม่ หากไม่มีข้อมูลอยู่ในสแตคหรือสแตคว่าง (empty stack) ก็ไม่สามารถ pop ได้การนำข้อมูลเข้า-ออก จากสแตค (push , pop) จะมีลักษณะแบบเข้าหลัง ออกก่อน ยกตัวอย่างการทำงานแบบ LIFO เช่น


รูปแสดงลักษณะของสแตค ที่ประกอบด้วยข้อมูล A , B , C , D และ E มี TOP ที่ชี้ที่สมาชิกตัวบนสุดของสแตค



สำหรับการยกตัวอย่าง แสตกในชีวิตประจำวันคือ


ตั๋วรถเมล์


ไม่มีความคิดเห็น:

แสดงความคิดเห็น