จะพิสูจน์ได้อย่างไรว่า ?


11

นี่เป็นคำถามทำการบ้านจากหนังสือของ Udi Manber คำใบ้ใด ๆ จะดี :)

ฉันต้องแสดงให้เห็นว่า:

n(log3(n))5=O(n1.2)

ฉันลองใช้ทฤษฎีบท 3.1 ของหนังสือ:

f(n)c=O(af(n)) (สำหรับ , )c>0a>1

Substituing:

(log3(n))5=O(3log3(n))=O(n)

แต่n(log3(n))5=O(nn)=O(n2)O(n1.2)

ขอบคุณสำหรับความช่วยเหลือ


คุณสามารถใช้วิธีการอะไรได้บ้าง ลองดูคำตอบนี้มันอาจทำให้คุณมีความคิด นอกจากนี้ที่นี่ยังมีข้อมูลที่เป็นประโยชน์มากมาย
Ran G.

@RanG สิ่งนี้ควรถูกปิดในแง่ของคำถามที่เชื่อมโยง
Suresh

@Suresh ฉันไม่แน่ใจ ฉันกลัวว่าถ้าเราไม่ทำเราจะถูกน้ำท่วมด้วยคำถามเหล่านี้ (ซึ่งน่าจะเหมาะกับคณิตศาสตร์ดีกว่า) แต่มันเป็นคำถามที่ถูกต้อง
Ran G.

@RanG ฉันพยายาม จำกัด ขีด จำกัด แต่ไม่ประสบความสำเร็จ ..
อังเดร Resende

@RanG: math.SE เต็มไปด้วยคำถามเหล่านี้ส่วนใหญ่จะติดแท็ก "อัลกอริทึม"
หลุยส์

คำตอบ:


14

ทำในสิ่งที่คุณทำ แต่ให้= ( 3 0.2 ) ... ที่ควรจะทำมันใช่มั้ย?a=(30.2)

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


2
อันที่จริงแล้วสำหรับ , n log c n = O ( n 1 + ϵ )ϵ>0nเข้าสู่ระบบn=O(n1+ε)
Ran G.

@RanG ใช่นั่นเป็นผลโดยตรงของทฤษฎีบท
Patrick87

@AndreResende หากคำตอบของฉันช่วยให้คุณแก้ปัญหาได้และคุณสามารถ "ยอมรับ" โดยใช้เครื่องหมายถูกสีเขียว ช่วยให้ผู้อื่นเห็นว่าอะไรเหมาะกับคุณและอาจช่วยให้คุณได้รับความช่วยเหลือเพิ่มเติมในอนาคต แน่นอนหากคุณต้องการคำตอบอื่น ๆ
Patrick87

5

อีกวิธีที่จะคิดเกี่ยวกับมันได้ง่ายขึ้นคือการเห็นว่าสิ่งสำคัญที่คุณต้องแสดงคือคือO ( n 0.2 )หรือเท่ากับlog 3 ( n )คือO ( n 0.04 ) . บันทึกมักจะเติบโตช้ากว่าพลังคงที่ของ n ไม่ว่าจะเล็กเพียงใดก็ตาม(log3(n))5O(n0.2)log3(n)O(n0.04)

หากคุณต้องการทำประโยคสุดท้ายให้เป็นทางการคุณสามารถใช้ทฤษฎีบท 3 กับขนาดเล็กพอ ๆกับ @RanG กล่าวถึงในความคิดเห็นเกี่ยวกับคำตอบของ @ Patrick87α

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