การเรียงลำดับ Visualizer
Visualizer เรียงลำดับที่มีน้ำหนักเบาทำจาก C ++ และ SFML
ฉันต้องการมีส่วนร่วมในโครงการ!
สุดยอด! ที่นี่คุณสามารถค้นหาข้อมูลที่เป็นประโยชน์เกี่ยวกับ Visualizer เรายอมรับผู้มีส่วนร่วมคนแรกด้วย!
นอกจากนี้ตรวจสอบให้แน่ใจว่าได้ดึงการเปลี่ยนแปลงครั้งสุดท้ายจาก DEV Branch!
ประเภทการจัดเรียง
- จัดเรียงฟอง
- การเรียงลำดับฟองทำงานโดยการสลับองค์ประกอบอย่างต่อเนื่องถัดจากกันซึ่งอยู่ในสถานที่ที่ไม่ถูกต้อง เริ่มต้นจากจุดเริ่มต้นของชุดข้อมูลแต่ละองค์ประกอบ 'ลอย' ไปยังจุดที่ถูกต้อง เพิ่มเติมเกี่ยวกับการเรียงลำดับฟองสามารถพบได้ที่นี่
- การเลือกการเลือก
- การเรียงลำดับการเลือกทำงานโดยมีสองส่วนส่วนที่เรียงลำดับและไม่เรียงลำดับและค้นหาอย่างต่อเนื่องผ่านส่วนที่ไม่ได้เรียงลำดับและวางองค์ประกอบที่เล็กที่สุดลงในส่วนที่เรียงลำดับ อัลกอริทึมการเรียงลำดับนี้สามารถนำไปใช้ในกรณีที่เลือกองค์ประกอบที่ใหญ่ที่สุดแทน เพิ่มเติมเกี่ยวกับการเรียงลำดับการเลือกสามารถพบได้ที่นี่
- เรียงลำดับ
- การเรียงลำดับการแทรกคล้ายกับการเรียงลำดับการเลือกว่าทั้งคู่มีส่วนที่เรียงลำดับและไม่ได้เรียงลำดับ แทนที่จะเลือกองค์ประกอบที่เล็กที่สุด/ใหญ่ที่สุดอย่างต่อเนื่องมันจะแทรกองค์ประกอบที่เลือกจากส่วนที่ไม่ได้เรียงลำดับและ 'แทรก' ลงในจุดที่ถูกต้องในส่วนที่เรียงลำดับ เพิ่มเติมเกี่ยวกับการเรียงลำดับการแทรกสามารถพบได้ที่นี่
- จัดเรียงอย่างรวดเร็ว
- การจัดเรียงอย่างรวดเร็วคืออัลกอริทึม "Divide and Conquer" อัลกอริทึมแบ่งและพิชิตทำงานโดยแยกปัญหาออกเป็นส่วนเล็ก ๆ แก้ปัญหาที่เล็กลง การเรียงลำดับอย่างรวดเร็วทำงานโดยเลือกองค์ประกอบเป็น 'เดือย' เคลื่อนย้ายองค์ประกอบอื่น ๆ รอบ ๆ องค์ประกอบที่น้อยกว่าเดือยอยู่ด้านหนึ่งและองค์ประกอบที่มากกว่าเดือยอยู่ในอีกด้านหนึ่งจากนั้นทำกระบวนการนั้นอย่างต่อเนื่องกับแต่ละด้าน เมื่อแต่ละองค์ประกอบได้รับการแบ่งพาร์ติชันแล้วโซลูชันจะถูกรวมเข้ากับอาร์เรย์ที่จัดเรียง เพิ่มเติมเกี่ยวกับการเรียงลำดับอย่างรวดเร็วสามารถพบได้ที่นี่และอื่น ๆ เกี่ยวกับอัลกอริทึมการแบ่งและพิชิตสามารถพบได้ที่นี่
- ค็อกเทลเชคเกอร์เรียงลำดับ
- ค็อกเทลเชคเกอร์เรียงลำดับเป็นตัวแปรของการเรียงลำดับฟอง แทนที่จะมีเพียงองค์ประกอบ 'ลอย' จากด้านล่างไปยังจุดที่ถูกต้องในชุดข้อมูลองค์ประกอบยัง 'จม' จากด้านบนของชุดข้อมูลไปยังตำแหน่งที่ถูกต้อง เพิ่มเติมเกี่ยวกับการเรียงลำดับเครื่องปั่นค็อกเทลสามารถพบได้ที่นี่
- เรียงลำดับ
- การเรียงลำดับ BOGO เป็นอัลกอริทึมการเรียงลำดับที่ไม่มีประสิทธิภาพซึ่งจะสร้างชุดข้อมูลต้นฉบับแบบสุ่มและตรวจสอบว่ามันถูกเรียงลำดับหรือไม่ เพิ่มเติมเกี่ยวกับการเรียงลำดับ BOGO สามารถพบได้ที่นี่
- เรียงลำดับ Bitonic
- Bitonic Sort เป็นอัลกอริทึมการเรียงลำดับการเปรียบเทียบที่สามารถทำงานได้ด้วยการใช้งานแบบขนาน ภายใน subarrays ที่แตกต่างกันอัลกอริทึมตรวจสอบว่าองค์ประกอบแรกนั้นเล็กกว่าที่สองและในทางกลับกัน มันทำอย่างต่อเนื่องใน subarrays ขนาดใหญ่จนกว่าชุดข้อมูลทั้งหมดจะถูกจัดเรียง เพิ่มเติมเกี่ยวกับการเรียงลำดับ Bitonic สามารถพบได้ที่นี่
- เรียงลำดับแม้กระทั่ง
- การเรียงลำดับแปลก ๆ คืออัลกอริทึมการเรียงลำดับการเปรียบเทียบที่พัฒนาขึ้นเพื่อใช้กับโปรเซสเซอร์ pararell ซึ่งขึ้นอยู่กับการเรียงลำดับฟอง แต่แบ่งออกเป็นสองขั้นตอนแปลกและแม้แต่เฟส ในอัลกอริทึมเฟสคี่ทำการเรียงลำดับฟองบนองค์ประกอบที่จัดทำดัชนีแปลก ๆ ในระหว่างเฟสแม้ในองค์ประกอบที่จัดทำดัชนี เพิ่มเติมเกี่ยวกับการเรียงลำดับที่แปลกประหลาดสามารถพบได้ที่นี่
? ️การใช้งาน
- พื้นที่ : เริ่มเรียงลำดับ
- backspace : หยุดเรียงลำดับ
- H : แสดงความช่วยเหลือ
- F1 : เปลี่ยนจำนวนองค์ประกอบ
- F2 : เปลี่ยนเวลาระหว่างการเปรียบเทียบ
- ลูกศรขึ้น / ลูกศรลง : เปลี่ยนประเภทการเรียงลำดับ
? ️ดาวน์โหลด
ความต้องการ:
- ลินเวกซ์
- โคลนโครงการ:
git clone https://github.com/alesbe/sorting-visualizer && cd sorting-visualizer - Run
./install.sh
windows / macos
ดาวน์โหลดจากรุ่น
หากคุณต้องการรวบรวมโครงการด้วยตัวเองคุณต้องทำตามขั้นตอนต่อไป:
- ดาวน์โหลด SFML จากเว็บไซต์ทางการ
- ดาวน์โหลด cmake
- โคลนที่เก็บ
- เปิด
CMakeLists.txt และค้นหาตัวแปร SFML_DIR ตั้งค่าเส้นทางไปยังเส้นทางที่ไฟล์ SFML CMake อยู่ ตัวอย่างเช่น C:/Program Files (x86)/SFML/lib/cmake/SFML - จากไดเรกทอรีรากของที่เก็บ Run:
mkdir build cd build
cmake ..
cmake -G 'Visual Studio 17 2022' ..
- ในไดเรกทอรี
/build ควรเป็นโซลูชัน Visual Studio ตอนนี้คุณสามารถเปิดโซลูชันและรวบรวมไฟล์ด้วยปุ่มเล่นได้ตามปกติ!
หมายเหตุ: หากคุณไม่ต้องการใช้ Visual Studio 2022 ให้ดาวน์โหลด SFML สำหรับคอมไพเลอร์เป้าหมายของคุณและเปลี่ยน CMAKE Generator ในขั้นตอนที่ 6 คุณสามารถตรวจสอบรายการเครื่องกำเนิดไฟฟ้าด้วย CMake -G