บทความ

กำลังแสดงโพสต์จาก เมษายน, 2017

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)}                                    หรือ    

array

รูปภาพ
Array 1.อาร์เรย์ โครงสร้าง ชนิดนี้ใช้เก็บข้อมูลชนิดเดียวกันที่มีขอบเขตจำกัดและมีขนาดคงที่โครงสร้างข้มูลชนิ ตนี้จะ เรียกใช้ข้อ มูลได้ค้อนข้างเร็วเนื่องจากมีที่อยู่ค่งที่การเรียกใช้ข้อมูลในแต่ละตำแหน่งจะใช้เวลาเท่ากัน  ตัวอย่างเช่นมีอาร์เรย์อยู่ 1 อาร์เรย์มี  15 ช่อง การเรียกใช้ข้อมูลช่องที่ 1 จะใช้เวลาเท่ากันกับการเรียกใช้ ข้อมูลช่อง ที่ 10   สมาชิก ในอาร์เรย์ เรียกว่า “คอม โปเนนต์ ” และ สมาชิกเหล่านี้ เก็บในแถวลำดับแบบอันดับ คือ  สมาชิกตัวที่ 1 สมาชิกตัวที่ 2 ,..., สมาชิกทั้งหมดในแถวลำดับต้องเป็นชนิดเดียวกัน ดังนั้นสามารถกำหนด แถวลำดับของจำนวนจริง แถวลำดับของจำนวนเต็ม 2. ประเภทของอารเรย์ อาเร์เรย์ 1 มิติ อาเร์เรย์ 2 มิติ อาเร์เรย์ 3 มิติ แต่วันนี้เราจะพูดถึงแค่อาร์เรย์ 1 และ 2 เท่านั้น     2.1 ลักษณะของอาเรย์ 1 มิติ              A     คือ  ชื่อของ อาร์เรย์ A(l:u) อาจเป็นอะไรก็ได้แต่ในที่นี้ตัวอย่างเป็น num(0:4)             l        คือ   ดรรชนีกำกับต่ำสุดของอาร์เรย์ ( Lower bound )             u     คือ   ดรรชนีกำกับสูงสุดของอาร

tree

รูปภาพ
tree 1. โครงสร้างข้อมูลแบบ ต้นไม้คืออะไร  คือโครงส้างที่มีรนูปแบบลักษณะคล้ายต้าไม่คั้วมหัวลง โหนด (Node) ที่ใช้สำหรับบรรจุข้อมูโดยจะมีกิ่งซึ่งเป็นเส้นที่โย่งโหนดเข้าด้วยกันที่เรียก ว่าบรานช์ (Branch) จำนวนของบรานช์ที่สัมพันธ์กับโหนดเรี่ยกว่า ดีกรี(Degree) และถ้าหากทรีนั้นเป็นทรีที่ไม่ใช่ทรีว่างโหนดแรกจะเรียก ว่ารูท(Root) โดยโหนดทุกๆ โหนดยกเว้น รูทโหนดจะมีเพียง 1 Predecessor ในขณะที่ Successor อาจเป็น 0 หรือ 1 หรือมากกว่า 1 ก็ได้สำหรับ Leaf ก็คือโหนดใบที่ไม่มีบรานช ์ เชื่อมโยงไปยังโหนดตัวถัดไปหรือโหนดที่ไม่มีตัวตามหลังหรือ Successor นั้นเองในขณะที่โหนดพ่อ (Parent) จะมีโหนดตามหลัง หรือมี โหนดลูก(Child) ต่อท้าย โหนดลูกตั้งแต่สองโหนดหรือ มากกว่าที่มาจากพ่อเดียวกันจะเรียกว่าโหนดพี่น้อง(Siblings)  สิ่งที่ควลรู้เกียวกับทรี   Subtree หมายถึง โครงสร้างที่เชื่อมต่อกันภายใต ้Root โดย Node แรกของ Subtree จะเป็น Root ของ Subtree นั้นและใช ้ เป็นชื่อเรียก Subtree  Subtree สามารถแบ่งย่อยเป็น Subtree ได้อีกจนกว่าจะ Empty ไบนารี่ทรี หมายถึง ทรีที่มีโหนดลูกไม่เกินสองโหนด ประกอบด้วย