ตัวแสดงภาพอัลกอริทึมจัดเรียง
ดู bubble, insertion, selection, merge และ quick sort ทำงานทีละขั้นบนอาเรย์ที่ปรับได้ พร้อมตัวนับเปรียบเทียบ/สลับและควบคุมความเร็ว
Loading tool...
ตัวแสดงภาพอัลกอริทึมจัดเรียง คืออะไร?
ตัวแสดงภาพอัลกอริทึมจัดเรียงเคลื่อนไหว sort คลาสสิกห้าแบบ - bubble, insertion, selection, merge และ quick - บนอาเรย์สุ่มขนาดที่ปรับได้ ทุกการเปรียบเทียบและสลับถูกคำนวณล่วงหน้าและเล่นซ้ำพร้อมไฮไลต์สี ตัวนับสด และความเร็วปรับได้ เพื่อให้เห็นพฤติกรรม O(n ยกกำลังสอง) กับ O(n log n) อย่างเป็นรูปธรรม
ประโยชน์หลัก
- เห็นกลไกเบื้องหลัง sort ในตำราทุกแบบ
- เทียบจำนวนการทำงานข้ามอัลกอริทึมบนอาเรย์เดียวกัน
- การเล่นช้าทำให้ขั้น partition และ merge ที่ยุ่งยากชัดขึ้น
- เหมาะกับการเรียน เตรียมสัมภาษณ์ และสาธิตในห้องเรียน
- ไม่ต้องติดตั้ง - ทุกอย่างทำงานในเบราว์เซอร์
กรณีการใช้งาน
- •เตรียมสอบ CS หรือสัมภาษณ์เขียนโค้ด
- •สอนพื้นฐานอัลกอริทึมด้วยภาพสด
- •เทียบต้นทุน bubble, merge และ quick sort
- •สาธิตว่าทำไมการเลือกอัลกอริทึมจึงสำคัญเมื่อข้อมูลใหญ่
- •สำรวจว่าอาเรย์เรียงแล้วก่อตัวทีละขั้นอย่างไร
วิธีดูภาพอัลกอริทึมจัดเรียง
- เลือกอัลกอริทึม: เลือก bubble, insertion, selection, merge หรือ quick sort จากเมนู
- ตั้งอาเรย์และความเร็ว: ปรับขนาดอาเรย์และความเร็วการเล่น - อาเรย์เล็กและความเร็วต่ำเห็นรายละเอียดดีที่สุด
- รันการแสดงภาพ: กดแสดงภาพเพื่อสร้างอาเรย์สุ่มและเล่นทุกขั้นตอนเปรียบเทียบและสลับ
- เทียบตัวนับ: อ่านยอดเปรียบเทียบและสลับสุดท้าย แล้วสลับอัลกอริทึมเพื่อรู้สึกถึงความต่างของประสิทธิภาพ
คุณสมบัติหลัก
- ห้าอัลกอริทึม: bubble, insertion, selection, merge, quick
- อาเรย์สุ่มตั้งแต่ 10 ถึง 60 ตัว
- เล่นทีละขั้นพร้อมหยุด เล่นต่อ และปรับความเร็ว
- ไฮไลต์แยกสี: เปรียบเทียบ (เหลือง) และสลับ (แดง)
- ตัวนับการเปรียบเทียบและการสลับแบบสด
- ทำงานฝั่ง client ทั้งหมดด้วยขั้นตอนที่คำนวณล่วงหน้า
คำถามที่พบบ่อย
ทำไม bubble sort ใช้ขั้นตอนเยอะกว่า merge sort มาก?
Bubble sort เปรียบเทียบแทบทุกคู่ - ประมาณ n ยกกำลังสองหารสอง ส่วน merge sort แบ่งแล้วชนะด้วยประมาณ n log n ที่ 60 ตัวจึงต่างกันราว 1,800 กับ 350 ขั้นตอน
สีต่าง ๆ หมายถึงอะไร?
แท่งสีเหลืองคือคู่ที่กำลังเปรียบเทียบในขั้นปัจจุบัน สีแดงคือการสลับหรือเขียนที่เกิดขึ้นตอนนี้ แท่งที่ไม่ไฮไลต์คือตัวที่ไม่ถูกแตะในขั้นนั้น
อาเรย์สุ่มใหม่ทุกครั้งหรือไม่?
สุ่มใหม่เฉพาะเมื่อกดปุ่มอาเรย์ใหม่ ปุ่มแสดงภาพจะ sort อาเรย์ที่แสดงอยู่เสมอ การรันอาเรย์เดิมด้วยอัลกอริทึมต่างกันจึงเปรียบเทียบได้ยุติธรรม
ใช้เตรียมสัมภาษณ์ได้หรือไม่?
ได้ - มันแสดงพฤติกรรมเชิงกลที่โจทย์สัมภาษณ์สมมติ: bubble ดันค่าสูงสุดไปท้าย, quicksort แบ่งช่วงด้วย pivot และ merge sort สร้างช่วงที่เรียงแล้วมารวมกัน