การเกิดขึ้นอีกครั้งที่ชื่นชอบของฉันแสดงในอัลกอริทึมที่ไวต่อการส่งออกสำหรับการคำนวณเปลือกนูนครั้งแรกโดยKirkpatrick และ Seidelแต่ทำซ้ำในภายหลังโดยคนอื่น ๆ ให้หมายถึงเวลาในการคำนวณเปลือกนูนของnจุดในเครื่องบินเมื่อเปลือกนูนมีชั่วโมงจุด ( ไม่ทราบค่าของเอชล่วงหน้านอกเหนือจากขอบเขตที่ไม่สำคัญh ≤ n .) อัลกอริทึมของเคิร์กแพททริกและเซเดลทำให้เกิดการกลับเป็นซ้ำ
T ( n , h ) = { O ( n ) ถ้า T(n,h)nhhh≤n
ที่n1,n2≤3n/4และn1+n2=nและเอช1+H2=ชั่วโมง
T( n , h ) = { O ( n )T( n1,ชั่วโมง1) + T( n2,ชั่วโมง2) + O ( n )ถ้า n ≤ 3 หรือ h ≤ 3มิฉะนั้น
n1, n2≤ 3 n / 4n1+ n2= nชั่วโมง1+ ชม2=h
การแก้ปัญหาคือ ) มันน่าแปลกใจนิดหน่อยเนื่องจากhไม่ได้เป็นพารามิเตอร์ที่แบ่งเท่า ๆ กัน แต่ในความเป็นจริงที่เลวร้ายที่สุดกรณีของการเกิดซ้ำที่เกิดขึ้นเมื่อเอช1และเอช2มีทั้งที่เกี่ยวกับเอช/ 2 ; ถ้าอย่างใดอย่างน่าอัศจรรย์ชั่วโมง1เป็นค่าคงที่เสมอ, การแก้ปัญหาจะเป็นT ( n , H ) = O ( n )T(n,h)=O(nlogh)hh1h2h/2h1T(n,h)=O(n)
ฉันใช้ตัวแปรของการเกิดซ้ำในเอกสารโทโพโลยีการคำนวณครั้งแรกของฉัน :
ที่
T(n,g)={O(n)T(n1,g1)+T(n2,g2)+O(min{n1,n2})if n≤3 or g=0otherwise
และ
g 1 + gn1+n2=nกรัม
อีกครั้งวิธีแก้ปัญหาคือ
O ( n log g )และกรณีที่
เลวร้ายที่สุดเกิดขึ้นเมื่อทั้ง
nและ
gถูกแบ่งเท่า ๆ กัน
g1+g2=gO(nlogg)ng