คำถามติดแท็ก big-theta

2
ทำไม Big O จึงสอนแทน Big Theta
สัญลักษณ์ Big O จัดเตรียมขอบเขตบนของฟังก์ชันในขณะที่ Big Theta ให้ขอบเขตที่ จำกัด อย่างไรก็ตามฉันพบว่าสัญกรณ์ Big O โดยทั่วไปแล้ว (และเป็นทางการ) สอนและใช้เมื่อพวกเขาหมายถึง Big Theta จริงๆ เช่น "Quicksort คือ O (N ^ 2)" สามารถเปลี่ยนเป็นคำพูดที่แข็งแกร่งมากขึ้น "Quicksort คือΘ (N ^ 2)" ในขณะที่การใช้ Big O นั้นถูกต้องทางเทคนิคการใช้ Big Theta ที่แพร่หลายจะไม่แสดงออกและนำไปสู่ความสับสนน้อยลงหรือไม่ มีเหตุผลทางประวัติศาสตร์บ้างไหมว่าทำไม Big O นี้จึงถูกใช้มากกว่าปกติ? หมายเหตุWikipedia : อย่างไม่เป็นทางการโดยเฉพาะอย่างยิ่งในวิทยาการคอมพิวเตอร์สัญกรณ์บิ๊กโอมักได้รับอนุญาตให้ถูกทารุณกรรมบ้างเพื่ออธิบายขอบเขตที่ไม่มีซีมโทติคที่ใช้สัญกรณ์บิ๊กซีอาจจะเหมาะสมกว่าในบริบทที่กำหนด

3
โปรดอธิบายข้อความที่ฟังก์ชั่น + b เป็นของ O (n ^ 2) และΘ (n)?
สมมติว่าฉันมีฟังก์ชั่นเชิงเส้นf(n)= an+bวิธีที่ดีที่สุดที่จะพิสูจน์ว่าฟังก์ชันนี้เป็นของ O (n 2 ) และΘ(n)อะไร ฉันไม่ต้องการความแม่นยำทางคณิตศาสตร์ที่นี่ ฉันต้องการโปรแกรมเมอร์ตอบ บางวิธีตรรกะในการอธิบาย นี่คือเหตุผลที่ฉันไม่ได้โพสต์คำถามในวิชาถาม - ตอบทางคณิตศาสตร์และแทนที่ในคำถามคำตอบโปรแกรมเมอร์

5
โดยทางโปรแกรมแล้วการหาสัญกรณ์กุ๊บ (สัญกรณ์ Big O หรือ Theta) ของอัลกอริทึม?
ฉันเคยค้นหาสัญกรณ์ Landau (Big O, Theta ... ) ของอัลกอริทึมของฉันด้วยมือเพื่อให้แน่ใจว่าพวกเขาได้รับการปรับให้เหมาะสมที่สุดเท่าที่จะเป็นไปได้ แต่เมื่อฟังก์ชั่นมีขนาดใหญ่และซับซ้อนจริงๆ เวลามากเกินไปที่จะทำด้วยมือ นอกจากนี้ยังมีแนวโน้มที่จะเกิดข้อผิดพลาดของมนุษย์ ฉันใช้เวลากับ Codility (แบบฝึกหัดการเข้ารหัส / อัลโก) และสังเกตว่าพวกเขาจะให้สัญกรณ์ Landau สำหรับการแก้ปัญหาที่คุณส่ง (ทั้งในเวลาและการใช้หน่วยความจำ) ฉันสงสัยว่าพวกเขาทำได้อย่างไร ... คุณจะทำอย่างไร มีวิธีอื่นนอกเหนือจากการวิเคราะห์คำศัพท์หรือการแยกรหัส? คำถามนี้เกี่ยวกับ PHP และหรือ JavaScript เป็นหลัก แต่ฉันเปิดรับทุกภาษาและทุกทฤษฎี
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.