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

DTH ครั้งที่5-28/07/2552

สรุปการเรียน
เรื่องลิงค์ลิสต์(Linked List.)
เป็นวิธีการเก็บข้อมูลอย่างต่อเนื่องของอิลิเมนต์ต่างๆ โดยมีพอยเตอร์เป็นตัวเชื่อมต่อ และแต่ละอิลอเมนท์ เรียกว่าโนด ซึ่งแต่ละโนดจะประกอบไปด้วย 2 ส่วนคือ Data จะเก็บข้อมูลของอิลิเมนท์ และส่านที่สองคือ Link Field จะทำหน้าที่เก็บตำแหน่งของโนดต่อไปในลิสต์
โครงสร้างข้อมูลแบบลิงค์ลิสต์
โครงสร้างแบบลิงค์ลิสต์จะแบ่งออกเป็นสองส่วนคือ
1. Head Structure จะประกอบไปด้วย 3 ส่วนได้แก่ จำนวนโหนดในลิสต์ พอยเตอร์ที่ชี่ไปยังส่วนโหนดที่่เข้าถึง และพอยเตอร์ที่ชี่ไปยังโหนดข้อมูลแรกของลิสต์
2. Datd NOde Structure จะประกอบไปด้วยข้อมูลและพอยเตอร์ที่ชี้ไปยังข้อมูลตัวถัดไป
กระบวนงานและฟังก์ชั่นที่ใช้ดำเนินงานพื้นฐาน
1. กระบวนการ Create List ทำหน้าที่สร้างลิสต์เเละจะได้ลิสต์ว่าง
2. กระบวนงาน Insert Node ทำหน้าที่เพิ่มข้อมูลลงไปในลิสต์บริเวณที่ต้องการเพิ่มลงไป
3. กระบวนงาน Delete Node ทำหน้าที่ลบสมาชิกในลิสต์บริเวณตำแหน่งที่ต้องการ
4. กระบวนงาน Search list ทำหน้าที่ในการค้นหาข้อมูลในลิสต์ที่ต้องการ
5. กระบวนงาน Traverse ทำหน้าที่ท่องเข้าไปในลิสต์เพื่อเข้าถึงและประมวลผลข้อมูลที่นำเข้าลิสต์
6. กระบวนงาน Retrieve Node ทำหน้าที่หาตำแหน่งของข้อมูลจากลิสต์
7. ฟังก์ชั่น Empty List ทำหน่าที่ทดสอบว่าลิสต์ว่างหรือไม่ว่าง
8. ฟังก์ชั้น Full List ทำหน้าที่ทดสอบว่าลิสต์เต็มหรือไม่เต็ม หรือว่าในลิสต์มีข้อมูลหรือไม่
9. ฟังก์ชั้น list count ทำหน้าที่นับจำนวนข้อมูลที่อยู่ในลิสต์
10. กระบวนงาน destroy list ทำหน้าที่ทำลายลิสต์
Linked List แบบซับซ้อน
1. Circular Linked List เป็นลิงค์ลิสต์ที่สมาชิกตัวสุดท้ายมีตัวชี้ไปที่สมาชิกตัวแรกของลิงค์ลิสต์ จะทำงานไปในทิศทางเดียวเท่านั้นคือแบบวงกลม
2. Double Linked List เป็นลิงค์ลิสต์ที่มีทิศทางการทำงานแบบ 2 ทิศทาง ในลิงค์ลิสต์แบบ2ทิศทาง ส่วนข้อมูลจะมีตัวชี้ไปที่ข้อมูลก่อนหน้า และตัวชี้ข้อมูลถัดไป

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

DTS ครั้งที่04-14/07/2552

สรุปการเรียน ในวันที่14/07/2552ได้รับรู้เกี่ยวกับเรื่อง
1. โครงสร้างข้อมูลแบบเซ็ต
เป็นโครงสร้างข้อมูล ที่ข้อมูลแต่ละตัวไม่มีความสัมพันธ์กัน ในภาษาซี จะไม่มีประเภทข้อมูลแบบเซ็ต
เหมือนกับในภาษาปาสคาล แต่สามารถใช็หลักการของการดำเนินการแบบเซ็ตมาใช้ได้
2. โครงสร้างข้อมูลแบบสตริง
ความยาวของสตริงจะถูกกำเนิดโดยขนาดของสตนิง การกำเนิดขนาดของสตริงนั้น ต้องจองเนื้อที่
ในหน่วยความจำให้กับ \0 ด้วย
- อะเรย์ของสตริงที่ยาวเท่ากัน
อะเรย์ในลักษณะนี้จะถือว่าเป็นอะเรย์ที่แท้จริง และสามารถกำเนิดได้ เมื่อมีการให้ค่าเริ่มต้น
และเมื่อกำเนิดเป็นตัวแปร โดยการดำเนิดการตามแบบการ กำเนิดอะเรย์2มิติ
- อะเรย์ของสตริงที่ยาวไม่เท่ากัน
ในบทความที่ยาวไม่เท่ากันในอะเรย์นั้น จะมีการเติม null charaer (\0) ต่อท้ายข้อความ
ให้มีความยาวเท่ากัน
การดำเนินการเกี่ยวกับสตริง
ในการดำเนินการเกี่ยวกับสตริง จะมีฟังก์ชันที่อยู่ในแฟ้ม ข้อมูล stdio.h เก็บอยู่ใน C Library
อยู่แล้ว สามารถนำมาใช้ได้ โดยการใช้คำสั่ง #include ในการเรียกช้

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

DTS ครั้งที่03-29/07/2552

สรุปการเรียน
สำหรับการเรียนในครั้งนี้ทำให้เราได้ทราบถึงอะเรย์ และอะเรย์ก็แบ่งออกเป็น 2ลักษณะคืิอ
1. การกำหนด array element เป็นพารามิเตอร์สั่งคำสั่งให้กับฟังก์ชั้น
2. สังอะเรย์ทั้งชุด ให้ฟังก์ชั้นทำโดยอ้างถึงชื่ออะเรย์โดยไม่มี subscvipt
ทำให้รู้ว่าอะเรย์นั้นมีทั้ง อะเรย์มิติเดียว และอะเรย์2มิติ และทำให้ได้รู้ถึง Recordor or Structure
ว่าเป็นโครงสร้างข้อมุลที่ประกอบขึ้นมาจากข้อมูลพื้นฐานต่างประเภทกัน มารวมเป็น1ชุดข้อมูล คือ จะประกอบด้วย
data element หรือ field ต่างประเภทกันอยู่รวมกัน ในภาษา c ก็คือการกำหนดข้อมูลเป็นรูปแบบของ
Structure คือโครงสร้างที่สมาชิกแต่ละตัวมีประเภทข้อมูลแตกต่างกันได้ โดยที่ Structure อาจมีสมาชิกเป็นจำนวนเต็ม
ทศนิยม อักขระ อะเรย์หรือพอยเตอร์ หรือแม้แต่ Structure ด้วยกันก็ได้
Polnter เป็นตัวแปรชิดหนึ่งที่ทำหน้างที่เก็บตำแหน่งที่อยู่ของตัวแปรแต่ละตัวที่อยู่ในหน่วยความจำ