คำถามติดแท็ก sorting

สำหรับคำถามเกี่ยวกับอัลกอริทึมการเรียงลำดับความเร็วและความซับซ้อน

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

4
วิธีที่ดีที่สุดในการจัดการลำดับการเรียงรายการด้วย Drag & Drop UI คืออะไร
ฉันมีรายชื่อนักเรียนที่ฉันควรแสดงต่อผู้ใช้บนเว็บเพจในรูปแบบตาราง รายการจะถูกเก็บไว้ในฐานข้อมูลพร้อมกับเรียงลำดับข้อมูล ในหน้าเว็บผู้ใช้สามารถจัดเรียงลำดับรายการใหม่ได้โดยการลากและวางรายการลงในลำดับการจัดเรียงที่ต้องการคล้ายกับโพสต์นี้ ด้านล่างเป็นภาพหน้าจอของหน้าทดสอบของฉัน ในตัวอย่างข้างต้นแต่ละแถวมีข้อมูลการเรียงลำดับที่แนบมา เมื่อฉันวาง John Doe (รหัสนักเรียน 10) เหนือแถวรหัสนักศึกษา 1 ลำดับรายการควรเป็น: 2, 10, 1, 8, 11 วิธีการมองโลกในแง่ดี (หิวทรัพยากรน้อยลง) ในการจัดเก็บและอัปเดตข้อมูลเรียงลำดับคืออะไร ตอนนี้ความคิดเดียวของฉันคือสำหรับทุกการเปลี่ยนแปลงในลำดับการเรียงของรายการค่า SortOrder ของทุกวัตถุควรได้รับการอัปเดตซึ่งในความคิดของฉันเป็นทรัพยากรที่หิว แค่ FYI: ฉันอาจมีแถวได้ไม่เกิน 25 แถวในตาราง
10 c#  sorting 

3
เหตุใด Quicksort จึงเรียกว่า“ Quicksort”
ประเด็นของคำถามนี้ไม่ได้เป็นการอภิปรายถึงข้อดีของอัลกอริทึมการเรียงลำดับอื่น ๆ - แน่นอนว่ามีคำถามอื่น ๆ อีกมากมายที่ทำเช่นนี้ คำถามนี้เกี่ยวกับชื่อ เหตุใด Quicksort จึงเรียกว่า "Quicksort" แน่นอนว่ามันเป็น "เร็ว" ส่วนใหญ่ แต่ไม่เสมอไป ความเป็นไปได้ของการเสื่อมสภาพไปยัง O (N ^ 2) เป็นที่รู้จักกันดี มีการแก้ไข Quicksort มากมายที่ช่วยลดปัญหานี้ แต่กรณีที่นำกรณีที่แย่ที่สุดมาสู่ O (n log n) ที่รับประกันจะไม่เรียกว่า Quicksort อีกต่อไป (เช่น Introsort) ฉันแค่สงสัยว่าทำไมอัลกอริธึมการเรียงลำดับที่รู้จักกันดีทั้งหมดนี่เป็นสิ่งเดียวที่สมควรได้รับชื่อ "ด่วน" ซึ่งไม่ได้อธิบายว่าอัลกอริทึมทำงานอย่างไร แต่เร็วแค่ไหน (ปกติ) การรวมกันเรียกว่าเพราะมันรวมข้อมูล Heapsort เรียกว่าเพราะใช้ฮีป Introsort ได้รับชื่อจาก "Introspective" เนื่องจากตรวจสอบประสิทธิภาพของตัวเองเพื่อตัดสินใจว่าเมื่อใดที่จะเปลี่ยนจาก Quicksort เป็น Heapsort ในทำนองเดียวกันสำหรับคนที่ช้ากว่า …

6
ด่วนและไม่ต้องกังวล
โดยเฉพาะอย่างยิ่งเมื่อเขียนแอปพลิเคชัน 'มาตรฐาน' (ไม่ใช่ HPC) คุณพิจารณาว่าอัลกอริทึมการเรียงลำดับที่จะเลือกหรือเพียงแค่ชำระด้วย quicksort (ซึ่งเป็นไลบรารีส่วนใหญ่ที่เรียกการเรียงลำดับ)? อาจมีผลกำไรในบางสถานการณ์ แต่ในทางกลับกันการเพิ่มประสิทธิภาพที่เหมาะสมต้องใช้เวลาในการวิเคราะห์ปัญหาและสร้างมาตรฐาน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.