บทความ

การจัดเรียงข้อมูล Sort

รูปภาพ
sort ความสำคัญของการจัดเรียงข้อมูล การจัดเรียงข้อมูล เป็นการจัดการข้อมูลที่กระทำกันมากในงานประยุกต์ต่างๆ เช่น การนำข้อมูลนักศึกษามาจัดเรียงตามลำดับรหัสนักศึกษา เพื่อนำไปใช้ในการพิมพ์ใบเซ็นชื่อเข้าสอบ หรือการเรียงข้อมูลพนักงานตามรหัสพนักงานเพื่อใช้ในการพิมพ์ การจัดเรียงข้อมูลเองก็มีอยูหลายแบบหลายลักษณะวันนี้จะมาอะธิบายชัก สี่ ห้า แบบนะครับ  1. การจัดเรียงข้อมูลแบบแทรก หรือ insertion sort  เทคนิคมาจากลักษณะการจัดไพ่ในมือของผู้เล่น คือ เมื่อผู้เล่นได้ไพ่ใบใหม่เพิ่มขึ้นมา จะนำไพ่ใบนั้นไปแทรกในตำแหน่งที่เหมาะสม ทำให้ไพ่ในมือบางส่วนต้องขยับตำแหน่งออกไป ซึ่งการจัดเรียงลำดับข้อมูลแบบแทรกนี้จะเริ่มพิจารณาคีย์ในตำแหน่งที่ 2 เป็นต้นไป หลักการ คือ จะอ่านข้อมูลไปทีล่ะตัว แล้วนำไปแทรกลงในตำแหน่งที่เหมาะสมบนข้อมูลใหม่ที่เตรียมไว้มีขั้นตอนดังนี้         สร้างแถวข้อมูลมาใหม่ที่มีขนาดเท่ากับจำนวนข้อมูลที่ต้องการจัดเรียง         อ่านข้อมูลแรกแล้วใส่ลงในตำแหน่งแทรกในแถวข้อมูลใหม่         อ่านข้อมูลถัดไปมา 1 ตัว แล้วเปรียบเทียบกับข้อมูลใหม่ทีล่ะตัว ตั้งแต่ตัวแรกไปจนถึงตัว   สุดท้าย เพื่อห

tree sort

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

Linklist

รูปภาพ
ลิงค์ลิสต์ linklist 1. รูปแบบของลิงค์ลิสต์ เป็นการจัดเก็บชุดข้อมูลเชื่อมโยงต่อเนื่องกันไปตามลำดับ โครงสร้างข้อมูลแบบลิงค์ลิสต์จะประกอบไปด้วย ส่วนที่เรียกว่า สมาชิก ( Node ) ส่วน เก็บข้อมูล ( Data ) และตำแหน่งของสมาชิกตัวถัดไป ( Link ) • ลิงค์ลิสต์จะใช้ เฮดพอยน์เตอร์ ( pHead ) เป็นตัวชี้ไปยัง โหนด แรกของลิสต์ ในขณะที่ พอยน์เตอร์ หรือลิงค์ของแต่ละ โหนด ก็จะเชื่อมโยงลิงค์ไปยัง โหนด ตัวถัดไปโดย โหนด ตัวสุดท้ายที่ไม่มีลิงค์ให้เชื่อมต่อจะถูกกำหนดค่าให้เป็น null ซึ่งในที่นี้ใช้สัญลักษณ์   X    แทน • โหนด ของข้อข้อมูลจะประกอบไปด้วย Data และ Link โดย – Data คือข้อมูลหรือสารสนเทศที่สามารถนำไปใช้ประโยชน์ – Link คือตัวชี้หรือ พอยน์เตอร์ ที่ใช้สำหรับเชื่อมโยงไปยัง โหนด ถัดไป • ไม่มีความสัมพันธ์ทางการภาพระหว่าง โหนด กรณีที่ เฮดพอยน์เตอร์ ไม่มีตัวชี้หรือไม่มีสมาชิก เฮดพอยน์เตอร์ จะถูกกำหนดค่าเป็น null ซึ่งหมายถึงลิสต์ว่างนั่นเอง 2. ข้อดีของลิงค์ลิสต์ • เป็นโครงสร้างที่ง่ายต่อการเพิ่มหรือลบข้อมูล • ไม่จำเป็นต้อง ขยับอิ ลิ เมนต์ ของลิสต์ไปข้างหน้าเพื่อให้เกิดพื้

Graph

รูปภาพ
Graph 1. กราฟคืออะไร • กราฟ (Graph) เป็นโครงสร้างข้อมูลแบบไม่ใช่เชิงเส้น  เป็นโครงสร้างข้อมูลที่มีการนำไปใช้ในงานที่เกี่ยวข้องกับการ แก้ปัญหาที่ค่อนข้างซับซ้อน เช่น การวางข่ายงานคอมพิวเตอร์ การ วิเคราะห์เส้นทางวิกฤติ และปัญหาเส้นทางที่สั้นที่สุด  2.ลักษณะของกราฟ กราฟ เป็นโครงสร้างทีนำมาใช้เพื่อแสดงความสัมพันธ์ระหวางวัตถุโดยแท่นวัตถุด้วยเวอร์เท็กซ์(Vertex)หรือโหนด (Node) และเชื่อมโยง ความสัมพันธ์ด้วยเอดจ์ (Edge)  เขียนในรูปของสัญลักษณ์ได้เป็น G = (V,E) • ซึ่ง V(G)คือ เซตของเวอร์เทกซ์ที่ไม่ใช่ เซ็ตว่างและมีจำนวนจำกัด  E(G) คือ เซตของเอดจ์ซึ่งเขียยนด้วยคู่ของเวอร์เท็กช์ 3. ชนิดของกราฟ 3.1 กราฟแบบไม่มีทิศทาง ( Undirected Graph )  จะเป็นกราฟที่มีเส้นเชื่อมโยงระหว่าง เวอร์เทกซ์ ทั้ง 2 ซึ่งไม่มีทิศทางว่าจาก เวอร์เทกซ์ ใดไป ยังเวอร์เทกซ์ ใด การเขียนเซตของเส้นเชื่อมโยงจะเขียนอยู่ในเครื่องหมายวงเล็บ                      V(G)   = {a, b, c, d}                      E(G)  =  {(a,b) , (b,c), (c,d), (d,b), (a,c)}                                    หรือ