Skip to main content

การเรียงลำดับอาร์เรย์คืออะไร?

การเรียงลำดับอาร์เรย์เป็นกระบวนการของการใช้องค์ประกอบส่วนบุคคลของอาร์เรย์และจัดเรียงตามลำดับตรรกะบางประเภทตามชุดของกฎที่กำหนดโดยผู้ใช้กระบวนการเกี่ยวข้องกับการก้าวผ่านอาร์เรย์หนึ่งองค์ประกอบในแต่ละครั้งและทดสอบองค์ประกอบนั้นกับองค์ประกอบโดยรอบเพื่อพิจารณาว่าจะต้องย้ายไปยังดัชนีอื่นภายในอาร์เรย์หรือไม่เมื่อทำการเรียงลำดับอาร์เรย์มีอัลกอริทึมหลายอย่างที่สามารถใช้งานได้โดยเฉพาะอย่างยิ่งเมื่อเงื่อนไขการเรียงลำดับเป็นตัวเลขเมื่อเทียบกับสิ่งที่เป็นไปโดยพลการมากขึ้นอัลกอริทึมการเรียงลำดับอาร์เรย์ส่วนใหญ่วัดด้วยความเร็วและประสิทธิภาพของพวกเขาด้วยอัลกอริทึมที่ช้าที่สุดเป็นวิธีที่ง่ายที่สุดในการโปรแกรมและเร็วที่สุดที่ซับซ้อนมากขึ้น

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

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

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

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