เมื่อเราทำตามตำรามาตรฐานหรือประเพณีส่วนใหญ่เราจะสอนนิยามของสัญกรณ์โอ๋ใหญ่ในการบรรยายสองสามครั้งแรกของคลาสอัลกอริทึม:
f=O(g) iff (∃c>0)(∃n0≥0)(∀n≥n0)(f(n)≤c⋅g(n)).
บางทีเราอาจให้รายการทั้งหมดพร้อมตัวปริมาณทั้งหมด:
- f=o(g) iff (∀c>0)(∃n0≥0)(∀n≥n0)(f(n)≤c⋅g(n))
- f=O(g) iff (∃c>0)(∃n0≥0)(∀n≥n0)(f(n)≤c⋅g(n))
- f=Θ(g) iff (∃c>0)(∃d>0)(∃n0≥0)(∀n≥n0)(d⋅g(n)≤f(n)≤c⋅g(n))
- f=Ω(g) iff (∃d>0)(∃n0≥0)(∀n≥n0)(f(n)≥d⋅g(n))
- f=ω(g) iff (∀d>0)(∃n0≥0)(∀n≥n0)(f(n)≥d⋅g(n)) )
อย่างไรก็ตามเนื่องจากคำจำกัดความเหล่านี้ไม่ใช่เรื่องง่ายที่จะทำงานด้วยเมื่อมันมาเพื่อพิสูจน์สิ่งที่เรียบง่ายเช่น5nlog4n+nlogn−−−−−√=o(n10/9)ส่วนใหญ่ของเราได้อย่างรวดเร็วย้ายที่จะแนะนำ "เคล็ดลับของขีด จำกัด"
- f=o(g)limn→∞f(n)/g(n)0
- f=O(g)ถ้ามีอยู่และไม่ใช่ ,limn→∞f(n)/g(n)+∞
- f=Θ(g)ถ้ามีอยู่และเป็นค่ามิได้ ,limn→∞f(n)/g(n)0+∞
- f=Ω(g)ถ้ามีอยู่และไม่ใช่ ,limn→∞f(n)/g(n)0
- f=ω(g)ถ้ามีอยู่และเป็น+limn→∞f(n)/g(n)+∞
คำถามของฉันคือ:
มันจะเป็นความสูญเสียที่ยิ่งใหญ่สำหรับการเรียนการสอนการเรียนระดับปริญญาตรีขั้นตอนวิธีการที่จะใช้เงื่อนไขขีด จำกัด เป็นจำกัดความของ , , ,และ ? นั่นคือสิ่งที่เราทุกคนใช้ท้ายที่สุดและดูเหมือนชัดเจนสำหรับฉันที่การข้ามคำจำกัดความของปริมาณทำให้ชีวิตของทุกคนง่ายขึ้นoOΘΩω
ฉันสนใจที่จะทราบว่าคุณได้พบกรณีธรรมชาติที่น่าเชื่อถือซึ่งจำเป็นต้องใช้มาตรฐานจริงหรือไม่และถ้าไม่คุณมีข้อโต้แย้งที่น่าเชื่อถือที่จะรักษามาตรฐานล่วงหน้าc,n0c,n0