การคัดแยกทางพยาธิวิทยา
หัวหน้าของคุณต้องการให้คุณพัฒนาอัลกอริทึมการเรียงลำดับเพื่อปรับปรุงประสิทธิภาพของแอปพลิเคชันของ บริษัท ของคุณ อย่างไรก็ตามเมื่อเขียนใบสมัครแล้วคุณก็รู้ว่าคุณไม่น่าจะสามารถทำให้เร็วขึ้นได้ ไม่ต้องการทำให้หัวหน้าของคุณผิดหวังคุณตัดสินใจที่จะพัฒนาอัลกอริธึมใหม่ที่ทำงานได้ดีกว่า * เรียงลำดับตามชุดข้อมูลบางชุด แน่นอนคุณไม่สามารถทำให้ชัดเจนว่าอัลกอริทึมทำงานในบางกรณีเท่านั้นดังนั้นคุณต้องการทำให้ชัดเจนที่สุด
วัตถุประสงค์ของการประกวดนี้คือการเขียนขั้นตอนการเรียงลำดับในภาษาที่คุณเลือกซึ่งมีประสิทธิภาพดีกว่าในชุดข้อมูลบางชุดมากกว่าชุดอื่น ๆ พร้อมผลลัพธ์ที่ทำซ้ำได้ การจำแนกประเภทที่เจาะจงมากขึ้นนั้นเป็นตัวกำหนดความเร็ว อัลกอริทึมจะต้องทำการเรียงลำดับบางอย่างดังนั้นอัลกอริทึมที่ขึ้นอยู่กับข้อมูลที่ถูกจัดเรียงอย่างสมบูรณ์แล้ว (เช่นในอัลกอริทึมที่ไม่ได้ทำอะไรเลย) หรืออัลกอริทึมที่ขึ้นอยู่กับข้อมูลที่เรียงลำดับแบบย้อนกลับ อัลกอริทึมการเรียงลำดับต้องเรียงลำดับชุดข้อมูลใด ๆ อย่างถูกต้อง
หลังจากนำเสนอกิจวัตรของคุณแล้วโปรดระบุคำอธิบายว่าทำไมมันจึงใช้ได้กับข้อมูลบางชุดเท่านั้นและรวมถึงการทดสอบที่ทำงานบนข้อมูลที่ดี (เร็ว) อย่างน้อยหนึ่งชุดและข้อมูลที่ไม่ดี (ช้า) หนึ่งชุด ประเด็นตรงนี้คือการพิสูจน์ให้เจ้านายของคุณเห็นว่าคุณเคยเจอวิธีที่ดีกว่าในการจัดเรียงข้อมูลการทดสอบอื่น ๆ จึงดีกว่า แน่นอนคุณจะแสดงผลการทดสอบให้หัวหน้าของคุณทราบจากข้อมูลที่ดีเท่านั้นดังนั้นข้อบกพร่องในข้อมูลการทดสอบที่จำเป็นต้องไม่ชัดเจนเกินไป หากใช้กับภาษาของคุณโปรดแสดงว่าอัลกอริทึมของคุณเร็วกว่าอัลกอริทึมการเรียงลำดับในภาษาของคุณ
ตัวอย่างเช่นหนึ่งอาจส่งอัลกอริทึมการเรียงลำดับการแทรกด้วยข้อมูลที่ดีเป็นข้อมูลที่เกือบจะเรียงแล้วและข้อมูลไม่ดีเป็นข้อมูลแบบสุ่มอย่างสมบูรณ์เนื่องจากการเรียงลำดับการแทรกวิธีการ O (n) กับข้อมูลที่เกือบเรียง อย่างไรก็ตามสิ่งนี้ไม่ดีมากเนื่องจากหัวหน้าของฉันอาจสังเกตว่าข้อมูลการทดสอบทั้งหมดเกือบเรียงกันเพื่อเริ่มต้น
นี่คือการประกวดความนิยมดังนั้นคำตอบที่ได้คะแนนมากที่สุดหลังจาก 7 วัน (21 พฤษภาคม) จะเป็นผู้ชนะ
หากไม่มีใครชนะฉันฉันต้องการส่งคำตอบ wiki ชุมชนที่ใช้ประโยชน์จากชุดข้อมูลที่กระจายอย่างสม่ำเสมอ