..


ลิงก์ผู้สนับสนุน

ขั้นตอนวิธีการเรียงลำดับใน C

บทความที่เขียนโดย Stefano Cancedda
หน้า 1 จาก 5

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

เรียงลำดับการเลือก

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






 ตัวอย่าง : {5,1,3,8,2}







 ขั้นตอนที่ # 1 --> {1, X, X, X, X}







 ขั้นตอนที่ # 2 --> {1.2, X, X, X}







 ขั้นตอนที่ # 3 --> {1,2,3, X, X}







 ขั้นตอนที่ # 4 --> {1,2,3,5, X}







 ขั้นตอนที่ # 5 --> {1,2,3,5,8}



(X คือการทำเครื่องหมายด้วยสถานที่ตั้งของผู้ให้บริการใหม่ที่มียังไม่ได้เขียน)

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






 ตัวอย่าง : {5,1,3,8,2}







 ขั้นตอนที่ # 1 --> {1,5,3,8,2}







 ขั้นตอนที่ # 2 --> {1,2,3,8,5}







 ขั้นตอนที่ # 2 --> {1,2,3,8,5}







 ขั้นตอนที่ # 3 --> {1,2,3,5,8}



ตัวเลขที่มีการแก้ไขเรียงการคัดเลือกซึ่งต่อไปนี้การดำเนินงานที่เป็นไปได้ :





 sel_sort (int * V, ขนาด int)







 {



   



 int i = 0, temp = 0, y = 0, j = 0;



   



 for (i = 0, i = j --)



   



 {

  

      



 {



         



 temp = v [j];



         



 y = j;



      



 }

  

   



 swap (V, I, y) / / Swap ตำแหน่งในเวกเตอร์ V iey



   



 }







 }



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

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






 1

 



 กรีนชาร์ลส์







 2

 



 Andrea Rossi







 3

 



 Rossi มาริโอ







 4

 



 Bianchi Luciano



เราสั่งเขตข้อมูลสำหรับชื่อ :





 1

 



 Andrea Rossi







 2

 



 กรีนชาร์ลส์







 3

 



 Rossi มาริโอ







 4

 



 Bianchi Luciano



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





 1

 



 Bianchi Luciano







 2

 



 Andrea Rossi







 3

 



 Rossi มาริโอ







 4

 



 กรีนชาร์ลส์



ขั้นตอนวิธีที่มีเสถียรภาพจะให้แน่ใจว่าในกรณีนี้เสมอมาริโอ Andrea Rossi Rossi ก่อน หนึ่งไม่ได้มีพฤติกรรมที่มั่นคงไม่สามารถคาดเดาได้ดังนั้นนี้อาจจะกลับ 2 ตำแหน่งและ 3

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

ในประเภทเดียวกัน ...
E - Learning
MySQL (Course) MySQL (Course)
การบริหารจัดการฐานข้อมูลโอเพนซอร์ส จาก 39 €
Web Design (หลักสูตร) Web Design (หลักสูตร)
เว็บไซต์ออกแบบด้วย HTML, CSS และ Dynamic HTML จาก 39 €
Web การตลาด (หลักสูตร) Web การตลาด (หลักสูตร)
โปรโมชั่นเว็บไซต์, เครื่องมือค้นหาและการตลาด จาก 39 €
ลิงก์ผู้สนับสนุน