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 ที่ชี้ที่สมาชิกตัวบนสุดของสแตค



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


ตั๋วรถเมล์


14 กรกฎาคม 2552

DTS03-01-07-52

สรุปเรื่องของสตริง

ขนาด คือ ความยาวของสตริงหรือแถวของอักขระสูงสุดที่ตัวแปรสตริงสามารถจัดเก็บได้ เช่น ตัวแปร Name สามารถจัดเก็บแถวของอักขระได้สูงสุด 20 ตัวอักขระ แต่ไม่จำเป็นต้องเก็บแถวของอักขระเท่ากับขนาดทุกครั้งไป เช่น ถ้าให้
Name = 'Nitiphon';
จะได้ว่าความยามของ Name เท่ากับ 8และตัวแปร Name จะมีโครงสร้างเป็นแถวของอักขระ คือ มี Name[0] ,Name[1], Name[2],...,Name[8]โดยจุดสิ้นสุดของสตริงจะจบด้วย null character เช่น

char a[]={'N','I','T','I','P','H','O','N','\O'};

char a[]="NITIPHON";


เรื่อง เซต อินเตอร์เซคชั่น

ถ้ากำหนดเซต A และ B ใดๆ อินเตอร์เซกชันของเซต A และ B คือ เซตใหม่ที่ประกอบด้วยสมาชิกที่อยู่ทั้งใน A และ B เขียนแทนด้วย หรือ
และ
ตัวอย่าง1. ถ้า A = {0 , 1 , 2 , 3} และ B = {1 , 3 , 5 , 7} จะได้ = {1 , 3}

ตัวอย่าง2. ถ้า W = {a , s , d , f} และ Z = {p , k , b} จะได้ = { }

ตัวอย่างรูปภาพ การ อินเตอร์เซกชั่น

เรื่อง ยูเนี่ยน
ถ้ากำหนดเซต A และ B ใดๆ ยูเนียนของเซต A และ B คือ เซตใหม่ที่ประกอบด้วยสมาชิกที่อยู่ใน A หรือ B เขียนแทนด้วย หรือ
หรือ
ตัวอย่าง1. ถ้า A = {0 , 1 , 2 , 3} และ B = {1 , 3 , 5 , 7} จะได้ = {0 , 1 , 2 , 3 , 5 , 7}
ตัวอย่าง3. ถ้า W = {a , s , d , f} และ Z = {p , k , b} จะได้ = {a , s , d , f , p , k , b}
ตัวอย่างภาพ การยูเนี่ยนกัน