โครงสร้างข้อมูลและขั้นตอนเพื่องานธุรกิจ
บทที่ 1
โครงสร้างข้อมูลและอัลกอริทึม
ความหมายของโครงสร้างข้อมูล
โครงสร้างข้อมูล หมายถึง โครงสร้างหรือลักษณะเฉพาะของชุดข้อมูลที่ใช้ในระบบคอมพิวเตอร์โดยเกิดจากการนำข้อมูลชนิดต่างๆ มาประกอบเข้าด้วยกันจนกลายเป็นโครงสร้างที่สามารถรองรับข้อมูลตามความสัมพันธ์ภายในข้อมูลชุดนั้นได้ โครงสร้าข้อมูลสามารถแบ่งเป็น 2 ประเภทใหญ่ด้วยกัน คือ
1.โครงสร้างข้อมูลเชิงเส้น (Linear Lists)
โครงสร้างข้อมูลชนิดนี้มีรูปแบบเป็นรายการต่อเนื่องมีข้อมูลที่จัดเก็บจะมีลักษณะเป็นแถวต่อเนื่องกันไป ซึ่งเป็นไปตามลักษณะแนวเส้นตรง ตัวอย่างโครงสร้างข้อมูลแบบเส้นประกอบด้วย อาเรย์(Array) สแต็ก(Stacks) และคิว (Queues)
2.โครงสร้างข้อมูลแบบไม่เป็นเชิงเส้น (Non-Linear Lists)
โครงสร้างข้อมูลชนิดนี้จะตรงกันข้ามกับแบบแรก โดยตัวอย่างข้อมูลแบบไม่เป็นเชิงเส้น เช่น ทรี(Trees) และกราฟ (Graphs)
โครงสร้างข้อมูลชนิดนี้มีรูปแบบเป็นรายการต่อเนื่องมีข้อมูลที่จัดเก็บจะมีลักษณะเป็นแถวต่อเนื่องกันไป ซึ่งเป็นไปตามลักษณะแนวเส้นตรง ตัวอย่างโครงสร้างข้อมูลแบบเส้นประกอบด้วย อาเรย์(Array) สแต็ก(Stacks) และคิว (Queues)
2.โครงสร้างข้อมูลแบบไม่เป็นเชิงเส้น (Non-Linear Lists)
โครงสร้างข้อมูลชนิดนี้จะตรงกันข้ามกับแบบแรก โดยตัวอย่างข้อมูลแบบไม่เป็นเชิงเส้น เช่น ทรี(Trees) และกราฟ (Graphs)
ความหมายของข้อมูล
ข้อมูล หมายถึง ข้อเท็จจริงที่มีอยู่ในชีวิตประจำวันเกี่ยวกับบุคคล สิ่งของ หรือ เหตุการณ์ที่สนใจศึกษา ข้อมูลอาจเป็นตัวเลข(numeric) หรืออาจเป็นตัวอักษรหรือข้อความ (alphabetic) และข้อความที่เป็นตัวเลขผสมข้อความ (alphanumeric)นอกจาก นี้ข้อมูลอาจเป็นภาพ (image) หรือ เสียง(sound) ก็ได้ป็นต้น
ประโยชน์ของโครงสร้างข้อมูลและอัลกอริทึม
1.เพื่อเขียนอัลกอริทึมได้อย่างมีประสิทธิภาพ
2.นำโครงสร้างข้อมูลที่มีอยู่แล้วมาประยุกต์ใช้งานได้
3.เพื่อเพิ่มประสิทธิภาพให้กับโปรแกรมคอมพิวเตอร์
4.ช่วยให้เครื่องคอมพิวเตอร์ประมวลผลได้เร็วขึ้น
5.เลือกใช้โครงสร้างข้อมูลและอัลกอริทึมได้อย่างเหมาะสม
คุณสมบัติของอัลกอริทึม
1.การเขียนอัลกอริทึมต้องไม่คลุมเครือ
2.ต้องมีลำดับขั้นตอนที่ชัดเจน
3.กระบวนวิธีการต้องให้ผลลัพธ์ตามที่กำหนดในปัญหา
4.อัลกอริทึมต้องมีจุดสุดท้ายของการทำงาน
ข้อมูลและรูปแบบของข้อมูล
ข้อมูลชนิดจำนวนเต็ม (integer)
ข้อมูลชนิดจำนวนจริง (real หรือ floating point)
ข้อมูลชนิดตัวอักขระ (character)
โครงสร้างการควบคุมพื้นฐาน 3 รูปแบบ (The Three Basic Control Structure)
ในการเขียนโปรแกรมคอมพิวเตอร์ ส่วนใหญ่มักใช้โครงสร้างควบคุมพื้นฐาน(Control Structures)ซึ่งมีอยู่ 3 รูปแบบพื้นฐานดังนี้คือ แบบเรียงลำดับ(Sequence)แบบกำหนดทางเลือก(Selection) และแบบทำซ้ำ (Repetition)
โครงสร้างข้อมูลในภาษาคอมพิวเตอร์
แบ่งเป็น 2 ประเภท คือ
1.โครงสร้างข้อมูลทางกายภาพ (physical data structures)
2.โครงสร้างข้อมูลทางตรรกะ (logical data structures)
โครงสร้างข้อมูลที่ทางกายภาพ
เป็นโครงสร้างข้อมูลที่ใช้โดยทั่วไปในภาษาคอมพิวเตอร์ แบ่งออกเป็น 2 ประเภท ตามลักษณะข้อมูล
คือ 1. ชนิดข้อมูลพื้นฐาน (Primitive Data Type) ใช้เก็บค่าพื้นฐานต่าง ๆ เช่น เลขจำนวนเต็ม เลขทศนิยม อักขระ และ ข้อมูลตรรกกะ
2 ข้อมูลโครงสร้าง (Structured Data Types) ได้แก่ แถวลำดับ ระเบียนข้อมูล และ แฟ้มข้อมูล
โครงสร้างข้อมูลทางตรรกะ ( Logical Data Structure)
จะมีลักษณะเป็นข้อมูลเชิงจำนวน และได้มีการประมวลมาแล้ว
1.ข้อมูลแบบเชิงเส้น บอกความสัมพันธ์ บอกความเกี่ยวโยง ได้แก่ ลิสต์ แสตก คิว สตริง
2 .ข้อมูลแบบไม่เชิงเส้น ได้แก่ ทรี กราฟ
โครงสร้างข้อมูลทางครรกะ
ขั้นตอนวิธี Algorithm
วิธีการหาคำตอบโดยไม่ได้ต้องการคำตอบแต่ เป็นการหาคำตอบโดยให้ได้มาซึ่งวิธีการ ซึ่งฟังดูแล้วอาจจะงงๆอยู่บ้าง อธิบายง่ายๆก็คือ เราจะต้องหาวิธีการเพื่อให้ได้ผลลัพธ์ตามที่เราต้องการ เช่น การเดินทางไปดอยสุเทพ จากตัวเมืองเชียงใหม่สามารถไปโดยวิธีใดได้บ้าง เรารู้คำตอบแล้วคือจุดหมายปลายทางที่เราจะไปถึงนั้นคือดอยสุเทพ แต่วิธีการที่จะไปให้ถึงดอยสุเทพนั้นไปอย่างไร อัลกอริทึ่ม(Algorithm)
1.แบบเรียงลำดับ (Sequence)
โครงสร้างการควบคุมแบบเรียงลำดับเป็นการทำงานแบบลำดับขั้นตอนต่อเนื่องกันไปในลักษณะบนลงล่าง การประมวลผลจะเป็นไปตามแต่ละชุดคำสั่งตามลำดับสำหรับการนำเสนอโครงสร้างการควบคุมแบบเรียงลำดับในรูปแบบของซูโดโค้ด
รูปที่ 1.1 รูปแบบโครงสร้างการควบคุมแบบเรียงลำดับ
2แบบเลือกการทำงาน (Selection)
โครงสร้างการควบคุมแบบเลือกการทำงานจะเกี่ยวข้องกับการเปรียบเทียบ
เงื่อนไขเพื่อให้เกิดทางเลือกสองแนวทางด้วยกันเช่น ถ้าเงื่อนไขเป็นจริง ก็จะไป
ทำงานในโมดูลหนึ่ง หรือในกรณีที่เงื่อนไขเป็นเท็จ ก็จะไปทำงานอีกโมดูลหนึ่งหรือ
อาจทำการเปรียบเทียบเงื่อนไขในลำดับขั้นตอนต่อไปก็ได้ ในซูโดโค้ดการกำหนด
เงื่อนไขจะใช้คำเฉพาะคือif …then …else และ end ifประเภทของโครงสร้างแบบ
เลือก
- เลือกทำงานเฉพาะเมื่อเงื่อนไขเป็นจริง
รูปที่ 1.2 รูปแบบโครงสร้างการควบคุมแบบเลือกการทำงาน
- เลือกทำงานอย่างใดอย่างหนึ่งระหว่างเงื่อนไขจริงและเท็จ
รูปที่ 1.3 รูปแบบโครงสร้างการควบคุมแบบเลือกทำงานอย่างใดอย่างหนึ่งระหว่างเงื่อนไข
จริงและเท็จ
- คำสั่งเลือกแบบซ้อนกัน
รูปที่ 1.4 รูปแบบโครงสร้างการควบคุมแบบเลือกแบบซ้อนกัน
- คำสั่งแบบหลายทางเลือก เมื่อมีทางเลือกมากกว่า 2 ทาง
รูปที่ 1.5 รูปแบบโครงสร้างการควบคุมแบบหลายทางเลือก
3.แบบทำซ้ำ (Repetition)
โครงสร้างการทำงานแบบทำงานซ้ำ กลุ่มของชุดคำสั่งที่อยู่ภายในบล็อกของวงจร
ลูปจะทำงานซ้ำไปเรื่อยๆ เมื่อตรงกับเงื่อนไข จนกระทั่งเงื่อนไขเป็นเท็จก็จะหลุดออก
จากลูป
รูปที่ 1.6 รูปแบบโครงสร้างการควบคุมแบบทำงานซ้ำด้วย dowhile
ลูปชนิด dowhile นี้จะมีการตรวจสอบเงื่อนไขก่อนที่จะดำเนินการทุกครั้ง โดยหากเงื่อนไขที่
เปรียบเทียบมีผลเป็นจริง (True) ก็จะดำเนินการเอ็กซีคิวต์ชุดประโยคคำสั่งภายในบล็อก จนกระทั่งได้พบกับตัวปิดคือ enddo นั้น ๆ ต่อไปจนกระทั่งที่เปรียบเทียบจะมีผลเป็นเท็จ (False) ก็จะหลุดจาก
วงจรลูปนั้นออกไปทำงานชุดคำสั่งในลำดับถัดจากตัวปิดลูปหรือ enddo ต่อไป ดังนั้นชุดคำสั่งต่างๆ
ภายในลูปชนิด dowhile นั้นอาจจะไม่ถูกเอ็กซีคิวต์เลยก็เป็นได้ในกรณีเงื่อนไขที่ตรวจสอบครั้งแรกมี
ผลเป็นเท็จ
รหัสจำลองที่เรียกว่า การเขียนซูโดโค้ด (Pseudo Code)
คือการเขียนคำอธิบายขั้นตอนการทำงานของโปรแกรมโดยใช้ถ้อยคำผสมระหว่าง
ภาษาอังกฤษและภาษาการเขียนโปรแกรมแบบโครงสร้างซึ่งจะช่วยให้ผู้เขียนโปรแกรม
สามารถพัฒนาขั้นตอนต่าง ๆ ให้เป็นโปรแกรมได้ง่ายขึ้น ส่วนใหญ่มักใช้คำเฉพาะ
(Reserve Word)ที่มีในภาษาการเขียนโปรแกรมและมักเขียนด้วยตัวอักษรตัวใหญ่ ซูโดโค้ด
ที่ดี จะต้องมีความชัดเจน สั้น และได้ใจความ ข้อมูลต่าง ๆ ที่ใช้จะถูกเขียนอยู่ในรูปของตัวแปร
ไม่มีความคิดเห็น:
แสดงความคิดเห็น