Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Asymptotic Notations (สัญกรณ์渐近): Big-O, Big-Omega, Big-Theta

Asymptotic Notations คืออะไร?

Asymptotic Notations (สัญกรณ์渐近) ใช้แทนความซับซ้อนของอัลกอริทึมสำหรับการวิเคราะห์渐近 (Asymptotic Analysis) เป็นเครื่องมือทางคณิตศาสตร์สำหรับแทนความซับซ้อน มี 3 สัญกรณ์หลักที่ใช้กันทั่วไป

Big-Oh Notation (O) - ขอบเขตบน

Big-Oh (O) ให้ขอบเขตบน (Upper Bound) ของฟังก์ชัน f(n) ภายในตัวคูณคงที่

Asymptotic Notations (สัญกรณ์渐近): Big-O, Big-Omega, Big-Theta

เราเขียน f(n) = O(g(n)) หากมีค่าคงที่บวก n₀ และ c ที่ทำให้ทางขวาของ n₀ ฟังก์ชัน f(n) จะอยู่บนหรือต่ำกว่า c·g(n) เสมอ

O(g(n)) = { f(n) : มีค่าคงที่บวก c และ n₀ ที่ทำให้ 0 ≤ f(n) ≤ c·g(n) สำหรับทุก n ≥ n₀ }

Big-Omega Notation (Ω) - ขอบเขตล่าง

Big-Omega (Ω) ให้ขอบเขตล่าง (Lower Bound) ของฟังก์ชัน f(n) ภายในตัวคูณคงที่

Asymptotic Notations (สัญกรณ์渐近): Big-O, Big-Omega, Big-Theta

เราเขียน f(n) = Ω(g(n)) หากมีค่าคงที่บวก n₀ และ c ที่ทำให้ทางขวาของ n₀ ฟังก์ชัน f(n) จะอยู่บนหรือสูงกว่า c·g(n) เสมอ

Ω(g(n)) = { f(n) : มีค่าคงที่บวก c และ n₀ ที่ทำให้ 0 ≤ c·g(n) ≤ f(n) สำหรับทุก n ≥ n₀ }

Big-Theta Notation (Θ) - ขอบเขตแน่น

Big-Theta (Θ) ให้ขอบเขตทั้งบนและล่าง (Tight Bound) ของฟังก์ชัน f(n) ภายในตัวคูณคงที่

Asymptotic Notations (สัญกรณ์渐近): Big-O, Big-Omega, Big-Theta

เราเขียน f(n) = Θ(g(n)) หากมีค่าคงที่บวก n₀, c₁ และ c₂ ที่ทำให้ทางขวาของ n₀ ฟังก์ชัน f(n) จะอยู่ระหว่าง c₁·g(n) และ c₂·g(n) เสมอ

Θ(g(n)) = { f(n) : มีค่าคงที่บวก c₁, c₂ และ n₀ ที่ทำให้ 0 ≤ c₁·g(n) ≤ f(n) ≤ c₂·g(n) สำหรับทุก n ≥ n₀ }