วันอังคารที่ 28 กรกฎาคม พ.ศ. 2552

DTS05-22-07-2552

LINKED LIST ต่อ

p ที่อยู่ในอัลกอริทึม ทุกตัว เป็นตัวที่ย่อมาจากคำว่า pointer ซึ่งใช้ในการชี้ที่อยู่ของข้อมูล
ในการ return found สามารถ return ได้ 2 ค่า คือ

1. false
2. ture

list count ก็ คือการเอาข้อมูลที่ count ออกมาแสดง count ที่อยู่ใน Head node
dostory list ก็คือ การหยุดให้ list นั้นไม่ทำงานต่อ

linked list แบบซับซ้อน มีอยู่ 3 แบบ คือ

1. Circular การทำงานเป็นลักษณะของวงกลม วนกลับไปมา
2. Double จะเกิดข้อมูล 2 ส่วง คือ Blackward และ Forward เป็นตัวคอยส่ง และรับข้มูล 2 ทาง
3. Delete การเปลี่ยงแปลงที่เกิดขึ้นโดยการลบ Data และตัว B/F ที่อยู๋ใน linked list ลูกศร จะเปลี่นทิศทางไปจากที่เคยเป็นอยู่

STACK

stack คือ โครงสร้างข้อมูลที่ว่าด้วยการเพิ่มหรือลบข้อมูลในสแตก โดยการทำที่ปลายหรือ ค่าที่อยู่บนสุดก่อน เรียกว่า TOP เพราะ การเรียงข้อมูลของ stack จะเป็นชั้นๆๆ
ลักษณะ คือ ข้อมูล ที่เข้าหลังสุดจะถูกนำออกมาก่อน เรียกว่า LIFE (last in first out) เข้าหลังออกก่อน

การทำงานของ stack ทีอยู๋ 3 กระบวนการ
1. push การใส่ข้อมูลลงไปในสแตก
2. pop คือการนำข้อมูลออกมาแสดงจากส่วนบน
3. top คือการคัดลอกข้อมูลที่อยู่ข้างบนสุด

หมายเหตู
การเพิ่มข้อมูลทุกครั้งต้องดูก่อนว่า ข้อมูลในสแตกเต็มอยู่หรือไม่ ถ้า overflow ก็จะเติ่มไม่ได้
ถ้าข้อมูลมูลในสแตกไม่มีก็ไม่สามารถนำข้อมูลออกมาแสดงได้เช่นกัน เรียกว่า Stack Underflow

ความรู้ที่ได้เพิ่มเติม
recive = รับ เติม er เป็นผู้รับ
egual = เท่ากัน
retrive = ดึงเรียกคือข้อมูล แต่สามารถบอกได้แค่ว่าต่ำแหน่ง ต้องเขียนโปรแกรมเพื่อดึงข้อมูล
HN = Hospital Number เลขที่ระบุเพื่อค้นหาข้อมูลของบุคคลที่รักษา

ตัวอย่าง STACK ที่ใช้ในชีวิตประจำวัน : ขนมปริงเอร์

วันพุธที่ 15 กรกฎาคม พ.ศ. 2552

DTS04-15-07-2552

โครงสร้างข้อมูลแบบสตริงมีอยู่ 2 แบบ คือ ที่มีความยาวเท่ากันและไม่เท่ากันอะเรย์ของสตริงที่มีความยาวเท่ากันสามารถกำหนดค่าเริ่มต้นได้ และเป็นอะไรที่แท้จริง เช่น‎

B O R I P A T \0
M A L I L E R T \0

B O R I P A T \0
B A N A N A \0 \0

ถ้าเรามองว่ามันเป็นเหมือนมีกล้องใส่อยู่ ข้อมูลแรกเปรียบเหมือนข้อมูลของอะเรย์ที่ไม่เท่ากันและจะใส่ Null ปิดท้ายโดยที่ไม่ใส่ทุกช่อง แต่เมื่อเป็นแบบเท่ากันจะใส่ \0 ปิดท้ายจนเต็ม

ในการเขียนอะเรย์ของสตริงจะมีฟังก์ชันเกี่ยวข้องอยู่ 4 ฟังชั่น คือ
strlen = ใช้หาความยาวของ
stringstrcpt = ใช้คัดลอกข้อมูลจาก string ไปอีก string
ststrcat = ใช้เชื่อมต่อข้อความ 2 ข้อความ
strcmp = ใช้เปรียบเทียบข้อความ

Linked list

linked list เป็นข้อมูลที่เรียงกันเป็นชุด โดยข้อมูลแต่ละตัวเรียกว่า Node ซึ่งแต่ละ Node เชื่อมต่อไปยัง Node ถัดไป ข้อมูลตัวแรกใน Linked List จะถูกชี้โดยตัวแปรชนิด Pointer ซึ่งมักจะเรียกว่า Head Pointer ส่วนข้อมูลตัวสุดท้ายใน Links List มีส่วนของข้อมูล ที่ชี้ไปที่ Null ซึ่งเป็นค่าที่บอกว่าข้อมูลนั้นเป็นข้อมูลตัวสุดท้าย ข้อมูลแต่ละตัวใน Linked List จะปรอบกอบด้วยส่วนของข้อมูลและส่วนชองตัวชี้ (ข้อมูลชนิด Pointer) สำหรับชี้ไปยังข้อมูล ตัวถัดไป (มีค่าเป็น Null ในข้อมูลตัวสุดท้าย)

โครงสร้างของข้อมูลแบบ linked list มี 2 ส่วน ใหญ่คือ
Head structure มี 3ส่วน count , pos , head

Data Node Structure ประกอบด้วย Data และ Pointer


กระบวนการทำงานและการฟังก์ชั่นในการดำเนินการ
1. Create lisst คือการสร้างที่ว่างขึ้นมาเป็นช่องว่าง ๆ
2. Insert node การหาข้อมูลมาลงในตำแหน่งที่จัดไว้ และนำข้อมูลมาเชื่อมต่อกันเรื่อยๆ
3. Delete Node ทำให้สมาชิกที่อยู่ที่เกิดจากการ Insert ลดลง ลบออกไป
4.Search list ใช้ในการค้นหาข้อมูล โดยมี if-else ถ้าจริงจะพบข้อมูล แต่ถ้าเท็จจะไม่พบข้อมูล

วันศุกร์ที่ 3 กรกฎาคม พ.ศ. 2552

DTS03-1-07-2552

Pointer คือ
ตัวที่ทำหน้าที่ใช้เก็บตำแหน่งที่อยู่ของ Address ของตัวที่อยู่ในความจำ โดยจะมีเครื่องหมาย * และ & มาเกี่ยวข้อง เช่น
int *a;หมายความว่า ประกาศว่าตัวแปร a เป็นตัวแปร พอยน์เตอร์ที่ใช้เก็บตำแหน่งเริ่มต้นที่จะใช้เก็บ integer
y=&x หมายถึง ตัวแปรมีหน้าที่กับค่าตัวแปรพอยน์เตอร์ของ x ซึ่งเป็นตำแหน่งที่อยู่

สามารถ pointer มาใช้ในการเขียนโปรเรียกดึงใช้เฉพาะที่อยู่ในเครื่องคอมพวเตอร์ของเราได้ ซึ่งเป็นการเรียกใช้ในส่วนที่ต้องการเท่านั้นเพื่อความสะดวก และรวดเร็วในการทำงาน

(Set and String)
โครงสร้างข้อมูลแบบเซ็ต และ แบบสตริง

โครงสร้างข้อมูลแบบเซ็ต มีลักษณะเหมือนกับวิชาคณิตศาสตร์ ซึ่งในการแก้ปัญหาแสดงความสัมพันธ์กันใน ภาษา C ซึ่งจะใช้ Operators คือ
  1. set intersection
  2. set union
  3. set difference

สามารถนำไปแก้ปัญหาในการเขียนโปรแกรมได้ ซึ่งเกี่ยวกับการซ้ำกัน หรือ อาทิ เช่น การจองตัวชนกัน เรื่องเดียวกันสามารถ เรื่องดังกล่าวไปแก้ปัญหาได้

โครงสร้างแบบสตริง

เป็นโครงสร้างข้อมูลที่เกี่ยวกับ อักขระ (character) ที่นำมาเขียนในโปรแกรมซึ่งจะเห็นได้ในรูปของ[ ] แล้วจำนวนอักขระ นั้นอยู่ข้างใน โดยที่ทุกครั้งต้องกำหนด
ให้มีที่ว่างสำหรับ \0 ด้วย เช่น [ 6 ] จะมีตัวอักษรที่ใช้จริง 5 และอีกช่อง คือ \0

สามารถนำมาประยุตย์ใช้ในการเขตโปรแกรมส่งได้ เปรียบเสมือรกับ \0
นั้นเป็นสิ่งที่เผื่อไว้ในการทำงานที่ไม่ประมาท สามารถนำมาใช้ได้สำหรับสิ่งที่เหลือ

ส่วนสัญลักษณ์ของ string จะใช้ " " เพื่อแสดงข้อความนั้นๆ

และ โครงสร้างแบบ string นั้นยังนำมาใช้ร่วมกับ array ในบทที่ 2 อีกด้วย