บทความ

กำลังแสดงโพสต์จาก ธันวาคม, 2019

โครงสร้างข้อมูลแบบต้นไม้ (Tree Data Structure)

รูปภาพ
โครงสร้างข้อมูลแบบต้นไม้ (Tree Data Structure)  โครงสร้างข้อมูลแบบต้นไม้เป็นโครงสร้างชนิดไม่เชิงเส้นที่สําคัญที่สุดของโครงสร้างข้อมูล โครงสร้างต้นไม้มีความสัมพันธ์อย่างใกล้ชิดกับธรรมชาติของข่าวสารและวิธีการแปลงข่าวสารมาก โครงสร้างต้นไม้มีลักษณะที่สมชื่อของตนเอง เพราะมีลักษณะคล้ายกิ่งก้านของต้นไม้ต้นไม้ตามธรรมชาติ จะงอกจากล่างไปบน ส่วนโครงสร้างข้อมูลที่มีลักษณะต้นไม้นั้นเราจะวาดหรือให้เจริญจากบนลงมาล่างดังรูป จุดที่มีการแตกกิ่งก้านสาขาออกไปจะเรียกว่าโหนด (node) โดยข่าวสารจะเก็บอยู่ที่โหนด กิ่งที่ต่อระหว่าง โหนด จะแสดงความสัมพันธ์ระหว่างโหนดเรียกว่าลิงค์(link) โครงสร้างข้อมูลแบบต้นไม้  1. เป็นโครงสร้างไม่เชิงเส้น (Non Linear) มีลักษณะคล้ายกิ่งก้านต้นไม้แตกกิ่งก้านออกไป 2. ต้นไม้แตกกิ่งจากล่างไปบน แต่โครงสร้างข้อมูลในคอมพิวเตอร์จะกลับหัว รากอยู่บน กิ่งอยู่ด้านล่าง  3. จุดที่แตกกิ่งออกไป เรียกว่าโหนด (Node) ข่าวสารเก็บอยู่ที่โหนด 4. จุดเชื่อมโหนดเรียกว่าลิงค์(Link) นิยามโครงสร้างต้นไม้ 1. มีโหนดพิเศษเรียกว่า รากหรือรูต (root node), R  2. โหน...

Queue Data Structure

รูปภาพ
Queue Data Structure โครงสร้างการทำงานแบบคิวคือการมีการจัดลำดับการเข้าและออกข้อมูลอย่างเป็นลำดับข้อมูลใดเข้ามาก่อนก็จะดำเนินการก่อน หากข้อมูลใดเข้ามาทีหลังก็จะดำเนินการทีหลัง เรียกลักษณะของการดำเนินการแบบนี้ว่า  First In First Out (FIFO) หรือ เข้าก่อนออกก่อน ประเภทของ Queue Queue มี 3 ประเภท คือ 1.  คิวธรรมดา (Queue) คิวธรรมดา หมายถึง คิวที่มีการนำข้อมูลเข้าทางท้ายคิว (Rear) และนำข้อมูลออกหางคิว (Front) โดยถ้าท้ายคิวไปอยู่ที่ตำแหน่งท้ายสุดของคิวแล้ว ถึงแม้จะมีช่องว่างเหลือที่หัวคิวก็ไม่สามารถนำข้อมูลใหม่ไปเก็บได้ จนกว่าจะนำข้อมูลในคิวออกให้หมดก่อนจึงเริ่มนำข้อมูลใหม่ไปเก็บได้ การนำข้อมูลเข้า Enqueue ก่อนนำสมาชิกเข้าคิว ต้องตรวจสอบว่าคิวเต็มหรือไม่ โดยที่ ถ้า rear = maxQ แสดงว่าคิวเต็ม (เมื่อ maxQ คือขนาดของคิว)การนำข้อมูลใหม่เข้ามาแถวคอย จะเพิ่มเข้ามาด้านหลังและจะนำเข้ามาเรื่อย ๆ จนเต็ม หรือเรียกว่า แถวคอยเต็ม (Queue Overflow) ดังนั้นการนำสมาชิกเข้าคิว จึง เป็นการเพิ่มค่าพอยน์เตอร์ rear หากมีสมาชิกในคิวเพียงค่าเดียวพอยน์เตอร์ rear และ front จะเท...