ขอบเขตล่างสำหรับการค้นหาองค์ประกอบที่เล็กที่สุด kth โดยใช้อาร์กิวเมนต์ที่เป็นปฏิปักษ์


10

ในหลายตำราที่ถูกผูกไว้ที่ต่ำกว่าสำหรับการหา TH องค์ประกอบที่เล็กที่สุดที่ได้มาทำให้การใช้งานของข้อโต้แย้งโดยใช้มีเดีย ฉันจะหาคนโดยใช้การโต้แย้งจากศัตรูได้อย่างไร?k

Wikipediaบอกว่าอัลกอริทึมทัวร์นาเมนต์ทำงานในและn - k + n j = n + 2 - klgO(n+klogn)ถูกกำหนดให้เป็นขอบเขตล่างnk+j=n+2knlgj

คำตอบ:


8

ฉันจะร่างสั้น ๆ ของร่างของข้อโต้แย้งศัตรู

พิจารณาอัลกอริธึมที่คุณเลือกเล่นกับคู่ต่อสู้ที่เราจะเรียกฝ่ายตรงข้ามเป้าหมายของฝ่ายตรงข้ามคือการให้อินพุตXสำหรับอัลกอริทึมของคุณที่เพิ่มจำนวนการเปรียบเทียบให้มากที่สุดโดยอัลกอริทึมของคุณ อันที่จริงอัลกอริทึมของคุณสามารถถูกมองว่าเป็นต้นไม้เปรียบเทียบซึ่งเป็นเส้นทางที่สอดคล้องกับคำสั่งบางส่วน เมื่ออัลกอริทึมถามคู่ปรับเกี่ยวกับองค์ประกอบ(x,y)ของคู่ต่อสู้ฝ่ายตรงข้ามจะส่งกลับค่าx<yหรือy<x x คำตอบของปฏิปักษ์ไม่สามารถโต้แย้งผลลัพธ์ก่อนหน้าได้

kxx(y,z) yxy<zxxz<yy. เห็นได้ชัดว่าฝ่ายตรงข้ามต้องการเพิ่มจำนวนการเปรียบเทียบที่ไม่สำคัญโดยอัลกอริทึมของคุณ

Lk1LXLxXLk1Llgnk1XLnkXL


crucial comparison for $y$y:zy<zxxz<yxzx
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.