ผลต่างระหว่างรุ่นของ "ขั้นตอนวิธีแบบห่อของขวัญ"

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
DeNoctua (คุย | ส่วนร่วม)
DeNoctua (คุย | ส่วนร่วม)
บรรทัด 10:
== รหัสเทียม ==
 
jarvis(S) '// รับ S ที่เป็นเซทของจุด'
pointOnHull = จุดสุดขีดจุดหนึ่ง '// ตั้งค่า p0 ด้วยจุดสุดขีดจุดหนึ่ง'
i = 0 '// เริ่ม i = 0'
repeat
P[i] = pointOnHull '// เพิ่มค่า pi ลงไปในอาเรย์ของคำตอบ P ช่องที่ i'
endpoint = S[0] '// ตั้งค่าเริ่มต้นสำหรับการหาจุดต่อไปบนคอนเวกซ์ฮัลล์'
for j from 1 to |S|-1 '// ตรวจสอบทุกจุด'
if (pointOnHull.angle(S[j]) > pointOnHull.angle(endpoint))
endpoint = S[j] '// ถ้าหากมุมของจุดใหม่กว้างกว่าเทียบกับจุดเดิมที่เลือกไปในรอบก่อน ให้เปลี่ยนจุดที่เลือกใหม่'
i = i+1
pointOnHull = endpoint '// ตั้งค่าจุด pi+1 ให้เป็นจุดหลักสำหรับรอบหน้า'
until endpoint == P[0] '// ทำซ้ำจนกว่าจะครบรอบ'
 
== ประสิทธิภาพ ==