blog pompitrk
Group Blog
 
All blogs
 
โครงสร้างข้อมูล



โครงสร้างข้อมูล (Data Structure) คืออะไร ?

คือ ลักษณะเฉพาะของชุดข้อมูลที่ใช้ในระบบคอมพิวเตอร์ ที่นำชนิดของข้อมูลที่มีลักษณะพื้นฐานที่แตกต่างกันมาประกอบกันเข้า ซึ่งจะเป็นชุดของข้อมูลชนิดเดียวกันหรือไม่ก็ได้ เช่น โครงสร้างข้อมูลประเภทอะเรย์ โครงสร้างข้อมูลประเภทพอยต์เตอร์ โครงสร้างข้อมูลประเภทเรคคอร์ด เป็นต้น ลักษณะของข้อมูลที่เราเคยเรียนมานั้นไม่เพียงพอ เมื่อต้องมีการนำไปใช้งานจริง ๆ นั่นก็เพราะลักษณะของงานที่มีการใช้ข้อมูลในลักษณะเฉพาะเจาะจงลงไปนั่นเอง

อัลกอริทึม (Algorithm) คืออะไร ?

คือ ขั้นตอนในการแก้ปัญหาอย่างมีขั้นตอนซึ่งจะมีเป้าหมายและมีแนวทางในการปฎิบัติอย่างชัดเจนโดยมีเป้าหมายที่ตั้งไว้ก็คือ การแก้ปัญหานั้น ๆ ได้อย่างเป็นมีประสิทธิภาพ อัลกอริทึมนั้นมีด้วยกันอยู่มากมายหลายแบบซึ่งก็แล้วแต่ลักษณะของแนวทางในการแก้ปัญหานั้น ๆ ซึ่งอัลกอริทึมที่เรามักจะพบเห็นกันบ่อย ๆ คือ

1. อัลกอริทึมแบบแตกย่อย (Divide-and-conquer)

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

2. อัลกอริทึมแบบเคลื่อนที่ (Dynamic Programming)

ปัญหาที่เราได้รับมานั้นบางครั้งไม่สามารถแบ่งปัญหาออกเป็นปัญหาย่อย ๆ ได้ ซึ่งถ้าเราพยายามจะแบ่งปัญหานั้น ๆ ออกเป็นปัญหาย่อยที่เล็กที่สุด อัลกอริทึมของเราอาจจะใช้เวลาทำงานเป็นแบบทวีคูณ (Exponential) ได้ แต่เวลาที่เราแก้ปัญหาต่าง ๆ เรามักจะ พบว่าบางครั้งเราต้องแก้ปัญหาย่อย ๆ ที่เหมือนกันซ้ำไปซ้ำมา โดยการหลีกเลี่ยงการคำนวณเพื่อหาคำตอบซ้ำ ๆ ซาก ๆ นี้ Dynamic Programming จะแก้ปัญหาย่อย ๆ เหล่านั้นเพียง ครั้งเดียวแล้วเก็บผลลัพธ์ไว้ ซึ่งถ้าหากพบว่าต้องมีการแก้ปัญหาย่อยนั้นซ้ำอีกเราก็สามารถนำ คำตอบมาจากคำตอบที่เคยคำนวณเก็บไว้มาใช้ได้

3. อัลกอริทึมแบบทางเลือก (Greedy Algorithm)

เป็นอัลกอริทึมที่จะหาคำตอบโดยการเลือกทางออกที่ดีที่สุดที่พบได้ในขณะนั้นเพื่อให้ได้คำตอบ ที่ดีที่สุด แต่ในบางครั้ง Greedy Algorithms อาจจะไม่สามารถหาคำตอบของปัญหาที่ดีที่สุดได้เสมอไป


โครงสร้างแบบลำดับ

เป็นโครงสร้างที่มีลักษณะการทำงานแบบเรียงลำดับ คือ จะทำงานตั้งแต่ต้นจนกระทั่งจบโปรแกรมโดยไม่มีการข้ามขั้นตอนใด ๆ โดยมีลักษณะทางโฟล์ชาร์ต


โครงสร้างแบบทางเลือก

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


โครงสร้างแบบวงจร

เป็นโครงสร้างการทำงานของโปรแกรมมีลักษณะการทำงานแบบวงกลม คือ จะมีการวนกลับไปทำตามคำสั่งเดิมอีกที่จุดใดจุดหนึ่งของโปรแกรม หรือการทำซ้ำนั่นเอง โดยโครงสร้างลักษณะนี้นิยมนำไปใช้เขียนโปรแกรมที่ต้องมีการทำงานซ้ำกันหลายรอบจนกว่าจะเสร็จ เช่น การเรียงลำดับข้อมูล การออกเอกสารหลาย ๆ ชุดในคราวเดียว เป็นต้น โดยโครงสร้างแบบวงจรมีลักษณะการทำงานอยู่ด้วยกัน 2 ลักษณะ

1 ตรวจสอบเงื่อนไขก่อน จึงมีการกระทำคำสั่งในวงจร

2 กระทำคำสั่งในวงจรก่อน จึงค่อยตรวจสอบเงื่อนไข






Create Date : 11 ตุลาคม 2550
Last Update : 19 พฤศจิกายน 2550 13:00:53 น. 2 comments
Counter : 1305 Pageviews.

 
ดี


โดย: suj IP: 122.154.97.139 วันที่: 9 เมษายน 2551 เวลา:11:00:35 น.  

 
ขอบคุณมาก อยากอ่านต่อจังครับ So far So good ครับ


โดย: bugsong IP: 66.173.34.36 วันที่: 14 พฤษภาคม 2551 เวลา:6:50:58 น.  

ชื่อ :
Comment :
  *ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก
 
รหัสส่งข้อความ
กรุณายืนยันรหัสส่งข้อความ

pompitrk
Location :
สมุทรสงคราม Thailand

[Profile ทั้งหมด]

ให้ทิปเจ้าของ Blog [?]
ฝากข้อความหลังไมค์
Rss Feed

ผู้ติดตามบล็อก : 1 คน [?]




ธีรพล พรหมพิทักษ์

Friends' blogs
[Add pompitrk's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.