ข้อมูลทรัพยากร

โครงสร้างข้อมูลและการวิเคราะห์อัลกอริทึมด้วยซี.
ประเภททรัพยากร : หนังสือเล่ม
ชั้นเก็บ : ตู้ 1 ชั้น 4 ฝั่งขวา
หมวด : 000
เลขหมู่หนังสือ : 005.73
สำนักพิมพ์ : ซีเอ็ดยูเคชั่น.
ผู้แต่ง : สมจิตต์ ลิขิตถาวร.
ยอดคงเหลือ : 3
เนื้อหาย่อ : หนังสือเรื่อง "โดรงสร้างข้อมูลและการวิเคราะห์อัลกอริทีมด้วยซี" จัดทำขึ้น
เพื่อให้ผู้เรียนได้เรียนรู้และเข้าใจเกี่ยวกับโดรงสร้างข้อมูล ทั้งที่เป็นโครงสร้างข้อมูลแบบสถิต
(Static Data Structures) และโครงสร้างข้อมูลแบบพลวัด (Dynamic Data Structures) ชนิคข้อ
มูลนามธรรมหรือเอดีที่ (ADT-Abstract Data Type) คุณลักษณะ (Specification) และการ
ประยุกต์ใช้ (Application) รวมถึงการโปรแกรมในแบบมอดูลาร์ (Modular) การออกแบบจากบน
ลงล่าง (Top-Down Design) เน้นให้เกิดความเข้าใจกับแนวคิดในเชิงทฤษฎี เพื่อช่วยให้ผู้เรียนมี
บูรณาการความคิดในหลาย ๆ เรื่องเข้าด้วยกัน และสามารถนำสิ่งที่เรียนมาประยุกต์ใช้ได้ ฝึก
ทคนิคการพัฒนาโปรแกรมอย่างเป็นระบบ สามารถวิเตราะห์และเลือกใช้โครงสร้างข้อมูลและขั้น
ตอนวิธี (Algorithm) ที่เหมาะสมกับงานได้เป็นอย่างดี
หนังสือเล่มนี้เหมาะกับผู้เรียนที่มีพื้นฐานของการเขียนโปรแกรมเบื้องตันมา
แล้ว โดยเฉพาะผู้ที่ผ่านการศึกษาวิธีการเขียนโปรแกรมภาษาซีมาแล้ว จะสามารถทำความเข้าใจ
เนื้อหาของหนังสือเล่มนี้ได้เป็นอย่างตึ ทั้งนี้เนื่องจากตลอดทั้งเล่มผู้เขียนได้ยกตัวอย่างการแก้
ปัญหาตัวยโปรแกรมภาษาซี (C Programming) พร้อมคำอธิบายโดยย่อ จึงสามารถทำความเข้าใจ
ได้ง่าย และเป็นพื้นฐานที่ดีในการเรียนรู้การโปรแกรมขั้นสูงในภายหลัง
โดยภาพรวม ดลอดทั้งเล่มได้แบ่งเนื้อหาออกเป็น 11 บท บทที่ 1 กล่าวถึงแนว
คิดเกี่ยวกับโครงสร้างข้อมูล และชนิดข้อมูลนามธรรม การแทนค่าชนิดข้อมูลพื้นฐาน ได้แท่
จำนวนเต็ม จำนวนจริง อักขระ และบูลีน ตลอดจนการแทนดำอาร์เรย์หนึ่งมิติ สองมิติ หลายมิติ
และการแทนค่าสตริง บทที่ 2 รีเดอร์ซันหรือการเรียกซ้ำ เป็นลักษณะของโปรแกรมย่อยที่เรียก
ใช้ตัวเอง ช่วยให้การเขียนโปรแกรมสั้นและกระชับกว่าวิธีการเขียนแบบธรรมดา แต่มักใช้หน่วย
ความจำมาก จึงค่อนข้างสิ้นเปลืองหน่วยความจำ บทที่ 3 กล่าวถึงพอยเตอร์และลิงค์ลิสต์ ซึ่ง
เป็นโครงสร้างแบบพลวัด มักนิยมนำมาใช้เขียนโปรแกรม เนื่องจากใช้เนื้อที่ในหน่วยความจำ
อย่างมีประสิทธิภาพ สามารถยึดหยุ่นการใช้หน่วยความจำในขนาดที่สอดคล้องกับปริมาณข้อมูล
การแทรกและลบข้อมูลในลิงค์ลิสต์กระทำได้รวดเร็วและสะดวก แต่วิธีการเขียนโปรแกรมค่อนข้าง
ซับซ้อน เขียนยากและทำความเข้าใจยาก บทที่ 4 - 5 กล่าวถึงสแตก และการคำนวณนิพจน์
คำนวณโดยอาศัยสแตก ซึ่งเป็นโครงสร้างแบบเข้าที่หลัง-ออกก่อน หรือไลโฟ (LIFO - Last In,
First Out) เนื้อหาครอบคลุมการดำเนินการกับสก วิธีการสร้างสแกและการประยุกต์ไช้
ที่ 6 โครงสร้างคิว ซึ่งเป็นโดรงสร้างแบบเข้าก่อน-ออกก่อน หรือไฟโฟ (FIFO - First In, First ou!) ริธีการดำเนินการกับคิวตลอดจนการสร้างคิวและการประยุกต์ใช้ บทที่ 7 อธิบายถึงโคร
สร้างต้นไม้ โดยเฉพาะเน้นโครงสร้างต้นไม้ต้นหาแบบทริภาค วิธีการแทรกและลบโหนอจากล้
ไม้รวมถึงวิธีการท่องเข้าไปในโครงสร้างต้นไม้ บทที่ 8 โครงสร้างตันไม่นิพชน์ วิธีการพิมฟัและ
การหาผลลัพธ์จากตันไม้นิพจน์ การแทนตันไม้ทริภาคตัวยอาร์เรย์ ต้นไม้ความสูงสมดุลหรือต้นไม่
AVL อัลทอริทีมของฮัฟฟัแมน (The Hufiman Aigonthm) ซึ่งเป็นวิชีหนึ่งของการเข้ารหัสแบบ
ความยาวแปรผัน เพื่อช่วยประหยัดเนื้อที่ในการจัดเก็บข้อมูล บทที่ 9 กล่าวถึงกราฟ การแทน
ทราฟด้วยเมทริกซ์ การใช้กราฟเพื่อหาเส้นทางที่สั้นที่สุด ขั้นไม้ขยายน้อยสุด และอัลกอริทีมของ
พริม (Prim's Algorthm) บทที่ 10 การค้นหาและการวิเคราะห์ประสิทริภาพด้วยนิกไอ (8g9
ของวิธีการค้นหาแบบคำดับ แบบทริภาค และแบบแฮชชิง บทที่ 11 ซึ่งเป็นบทสุดท้าย อธิบายถึง
การเรียงลำตับแบบเลือก แบบฟอง แบบผสาน แบบเร็ว และแบบอีป โตยจะแสดงชั้นตอนวิธีใน
การเรียงแต่ละแบบ พร้อมทั้งวิเคราะห์ประสิทริภาพของการเรียงแต่ละแบบ
ทุกบทในหนังสือเล่มนี้ จะมีบทสรุป และแบบฝึกหัดทำยบทเพื่อให้ผู้เรียนไส้ฝึก
ฝน และทำความเข้าใจเนื้อหาในบทนั้นๆให้ดียิ่งขึ้น
ในการผลิตตำราเล่มนี้ ผู้เขียนขอขอบคุณทุกท่นที่มีส่วนให้การสนับสนุนและ
ส่งเสริมจนหนังสือเล่มนี้สำเร็จลุล่วงด้วยดี โด้ยเฉพาะ Dr. Robert J. McGinn ผู้ซึ่งเป็นอาจาวย์ที่
ประสิทธิประสาทความรู้เกี่ยวกับการเขียนโปรแกรมอย่างเป็นระบบให้กับผู้เขี้ยนเป็นปฐมฤกษ์
เมื่อครั้งที่ผู้เขียนได้รับทุนจากมหาวิทยาลัยกรุงเทพ เพื่อศึกษาต่อในระดับปริญญาโท
Computer Science ที่ Southem Ilinois University ประเทศสหรัฐอเมริกา ท่นอาจารย์ McGlinn
มีส่วนช่วยอย่างมากในการทำให้ผู้เขียนเข้าใจวิธีการวิเคราะห์ เข้าใจวิธีการเขียนโปรแกรมให้มี
โครงสร้างที่ตี เป็นแรงดลใจให้ผู้เขียนรักงานเขียนโปรแกรมตั้งแต่บัตนั้นเป็นต้นมา
ท้ายที่สุด ผู้เขียนหวังเป็นอย่างยิ่งว่า หนังสือเล่มนี้จะช่วยให้ผู้เรียนได้เข้าใจเนื้อ
หาเกี่ยวกับโครงสร้างข้อมูลและการวิเคราะห์อัลกอริทีมได้เป็นอย่างดี เป็นพื้นฐานที่ดีและเป็น
ประโยชน์ในการศึกษาตันดว้าเพื่อการเพิ่มพูนเทคนิดในการออกแบบและพัฒนาโปรแกรมที่มีรูป
แบบโครงสร้างที่ดี หากท่านมีข้อติดเห็นหรือข้อเสนอแนะประการไต โปรดกรุณาติดต่อผู้เขียนโดย
ตรงที่ฝ่ายวิชาการ ตึก 9 ชั้น 2 มหาวิทยาลัยกรุงเทพ หรือ e-mail: somchitl@bu.ac.t ผู้เขียน
ยินดีน้อมรับคำแนะนำของท่านเพื่อนำไปปรับปรุงเนื้อหาในหนังสือเล่มนี้ให้ดียิ่งขึ้นในไอกาสต่อไป