Skip to main content

Author: webmaster

Binary Tree

คำนำ

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

 

วิธีการ

นำแท่งเหล็กแท่งแรกที่เลือกไว้ มาตั้ง ณ จุดเริ่มต้น

สุ่มเลือกแท่งเหล็กแท่งต่อไป นำมาเปรียบเทียบกับแท่งแรก หากมีขนาดสูงกว่าให้นำไปตั้ง ไว้ทางด้านขวา(โหนดขวา) หากมีขนาดเล็กกว่าให้นำไปตั้งไว้ทางด้านซ้าย(โหนดซ้าย)

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

 

 

 

รูปอุปกรณ์ช่วยในการสอนเรื่อง Binary Tree

Tower of Hanoi

คำนำ

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

 

วิธีการ

ให้จุดที่จะขนย้ายแผ่นไม้มีอยู่ 3 จุด ( A, B และ C)

การย้ายแผ่นไม้ทั้งหมดจากจุด A ไปที่จุด C โดยมีเงื่อนไขว่า

สามารถใช้หลัก B ที่อยู่ตรงกลางช่วยในการวางแผ่นไม้ชั่วคราวได้

ต้องวางแผ่นไม้เล็กไว้ด้านบนเสมอ

หยิบแผ่นไม้ในการขนย้ายได้ครั้งละ 1 แผ่น

จำนวนครั้งในการเคลื่อนย้ายแผ่นไม้คำนวณจาก 2n – 1

 

 

 

ตัวอย่างการย้ายแผ่นไม้

อมรมการเขียนโปรแกรม SCRATCH

แนะนำหนังสือวิชาเทคโนโลยีสารสนเทศและการสื่อสาร

 

สาขาคอมพิวเตอร์ สสวท. ขอแนะนำหนังสือวิชาเทคโนโลยีสารสนเทศและการสื่อสาร ตามหลักสูตรแกนกลางการศึกษาขั้นพื้นฐาน พุทธศักราช ๒๕๕๑ ซึ่งประกอบไปด้วย หนังสือเรียน แบบฝึกทักษะและคู่มือครู ซึ่งมีรูปเล่มที่ทันสมัย สวยงาม เนื้อหามีคุณภาพ จากผู้เขียนที่มีประสบกาณ์สูง ราคาประหยัด

Continue reading

หลักการโปรแกรมเบื้องต้น