[CR] รีวิว VisuAlgo เว็ปไซต์สอนโครงสร้างข้อมูลและอัลกอริทึม ทำอัลกอริทึมยากให้กลายเป็นเรื่องง่ายในพริบตา

ในวันนี้เราจะมารีวิวเว็ปไซต์ th.visualgo.net กันค่ะ

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



VisuAlgo คืออะไร
VisuAlgo เป็นเว็ปไซต์ที่รวม visualization tool สำหรับโครงสร้างข้อมูลและอัลกอริทึมต่างๆที่มีหลากหลายภาษา VisuAlgo เริ่มต้นในปี 2011 โดย ดร. Steven Halim อาจารย์สอนโครงสร้างข้อมูลและอัลกอริทึมจากมหาวิทยาลัยแห่งชาติสิงคโปร์ มหาวิทยาลัยอันดับหนึ่งของเอเซีย (อ้างอิงจาก QS ranking) และผู้เขียนหนังสือ Competitive Programming เขาได้เห็นถึงความต้องการในเครื่องมือ visualization เพื่อให้นักเรียนเข้าใจโครงสร้างข้อมูลและอัลกอริทึมได้ดียิ่งขึ้น เขาจึงสร้างเว็ปไซต์นี้ร่วมกับทีมงานและนักเรียนจากมหาวิทยาลัยแห่งชาติสิงคโปร์เพื่อประกอบในเลคเชอร์และเพื่อให้นักเรียนทบทวนความรู้ได้ด้วยตัวเอง นอกจากนี้ เขายังหวังว่า เว็ปไซต์นี้จะช่วยนักเรียนในมหาวิทยาลัยอื่นๆและโปรแกรมเมอร์ทั่วโลก

จุดเด่นของ VisuAlgo
เรียนรู้อัลกอริทึมด้วยตัวเอง
ผู้ใช้สามารถเลือกอัลกอริทึมที่ต้องการเรียนได้จากหน้าแรกของเว็ปไซต์ ในรีวิวนี้ เราจะไปทดลองเรียนต้นไม้ค้นหาแบบทวิภาค หรือ Binary Search Tree (BST) ด้วยกันค่ะ



หลังจากที่เราคลิกเข้าไปในหน้าแรกแล้ว เราจะเจอ interface ที่เรียบง่าย สวยงาม และ interactive  สมมติว่า เราต้องการที่จะเพิ่ม 11 เข้าไปในโครงสร้างข้อมูลนี้ เพียงแค่คลิกที่ insert และใส่ เลข 11 เข้าไป ก็จะมีภาพเคลื่อนไหวอธิบายการแทรกเลข 11 เข้าไปใน BST



เราสามารถควบคุมภาพเคลื่อนไหวผ่านแถบทางด้านล่าง นอกจากนี้ เรายังสามารถอ่าน pseudocode ได้ทางขวาล่างเพื่อประกอบความเข้าใจ


โหมดฝึกฝน
จากหน้าแรกของเว็ปไซต์ เราสามารถคลิก “เริ่มต้นการฝึก” ทางด้านขวาบน เพื่อไปยังหน้าจอด้านล่าง



ที่นี่ เราสามารถเลือกว่า ต้องการจะฝึกฝนโครงสร้างข้อมูลและอัลกอริทึมไหน รวมถึงเลือกความยากด้านล่าง คำถามที่ถามในนี้ไม่ใช่เพียงการกา ก ข ค ที่น่าเบื่อเหมือนข้อสอบทั่วไป ยกตัวอย่างเช่น ในคำถามด้านล่างนี้ เราต้องเลือกคำตอบที่ถูกต้องโดยการคลิกบน BST  



หลังจากทำแบบทดสอบเสร็จแล้ว เราสามารถคลิก “submit quiz” เพื่อดูผลการทดสอบ...



1 คะแนน! เมื่อรู้ว่าตัวเองได้น้อยขนาดนี้แล้ว เราก็สามารถฝึกฝนจนกระทั่งได้คะแนนเต็มสิบ การได้คะแนนเต็มสิบไม่ได้หมายความว่า เราจำคำตอบได้หมด เพราะคำถามในแต่ละครั้งที่เราฝึกนั้นจะแตกต่างกันไป

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



การพัฒนาในอนาคต

เพิ่มโครงสร้างข้อมูลและอัลกอริทึม

ขณะนี้ทีมงานกำลังเพิ่ม การแฮช Jack Edmond’s graph matching algorithm การหา MST ของ Chu-Liu Edmonds และอัลกอริทึมที่น่าสนใจอื่นๆอีกมากมาย เพราะฉะนั้น อย่าลืม bookmark เพจนี้แล้วมาเช็คเรื่อยๆนะจ๊ะ

แบบทดสอบออนไลน์



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

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



ปล. อันนี้ไม่ทราบว่าต้องใส่ CR หรือ SR เพราะเวปไซต์นี้ฟรีค่ะ และไม่มีค่าใช้จ่ายใดๆ ทางมหาวิทยาลัยต้องการให้เป็นสื่อการเรียนการสอนใช้งานฟรีค่ะ ส่วนตัวเป็นนักศึกษาอยู่ที่นี่และนี่เป็นการช่วยอาจารย์แปลผลงานค่ะ เพื่อที่ว่าจะได้ช่วยเพื่อนๆนักเรียนนักศึกษาที่ไทยด้วยกัน ยิ้ม
ชื่อสินค้า:   VisuAlgo
คะแนน:     
**CR - Consumer Review : ผู้เขียนรีวิวนี้เป็นผู้ซื้อสินค้าหรือเสียค่าบริการเอง ไม่มีผู้สนับสนุนให้สินค้าหรือบริการฟรี และผู้เขียนรีวิวไม่ได้รับสิ่งตอบแทนในการเขียนรีวิว
แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่