0Pricing
Coding Interview Prep · บทเรียน

นับการดำเนินการด้วย Big-O

ตั้งแต่ค่าคงที่ถึงกำลังสองในภาษาที่เข้าใจง่าย

นับการดำเนินการด้วย Big-O เป็นบทเรียน Coding Interview Prep ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Coding Interview Prep และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Coding Interview Prep มีบทเรียนทั้งหมด 4 บทเรียน

เหตุผลที่ต้องนับการดำเนินการ

ในการแข่งขัน ความเร็วเป็นสิ่งสำคัญ แทนที่จะจับเวลาโค้ด คุณจะประเมินว่าต้องใช้กี่ขั้นตอน ค่าประเมินนั้นเรียกว่า ความซับซ้อนเชิงเวลา 🚀

ทำความรู้จัก Big-O

Big-O อธิบายว่าจำนวนการดำเนินการเติบโตขึ้นอย่างไรเมื่อขนาดข้อมูลขาเข้า n เพิ่มขึ้น โดยไม่นับรายละเอียดเล็กน้อยและมุ่งเน้นที่แนวโน้มหลัก

เวลาเชิงคงที่ O(1)

เมื่อการทำงานไม่ขึ้นกับ n การทำงานนั้นมีค่าเป็น O(1) การอ่านสมาชิกหนึ่งรายการหรือการบวกหนึ่งครั้งใช้เวลาเท่ากันเสมอ

x = arr[0]
y = a + b

เวลาเชิงเส้น O(n)

ลูปง่าย ๆ ที่วนผ่านรายการ n รายการมีความซับซ้อนเป็น O(n) เมื่อข้อมูลขาเข้าเพิ่มเป็นสองเท่า งานก็จะเพิ่มขึ้นประมาณสองเท่า นี่คือรูปแบบงานหลักที่ใช้ในชีวิตประจำวัน

for x in arr:
    total += x

เวลาเชิงกำลังสอง O(n^2)

ลูปหนึ่งที่อยู่ภายในอีกลูปหนึ่งและวนผ่านรายการ n รายการมีความซับซ้อนเป็น O(n^2) เมื่อ n = 1000 จะมีหนึ่งล้านขั้นตอน และหลังจากนั้นจะเติบโตอย่างรวดเร็ว

for i in range(n):
    for j in range(n):
        check(i, j)

เวลาเชิงลอการิทึม O(log n)

เมื่อแต่ละขั้นตอนลดปัญหาเหลือครึ่งหนึ่ง คุณจะได้ O(log n) การค้นหาแบบทวิภาคสามารถจัดการรายการหนึ่งพันล้านรายการได้ในประมาณ 30 ขั้นตอนเท่านั้น ✨

ลำดับการเติบโต

จากเร็วที่สุดไปช้าที่สุด ลำดับความซับซ้อนที่พบบ่อยคือ O(1), O(log n), O(n), O(n log n), O(n^2) ยิ่งอยู่ด้านบนก็ยิ่งรองรับขนาดที่เพิ่มขึ้นได้ดี

ตัดค่าคงที่ออก

Big-O ไม่สนใจตัวคูณคงที่ ดังนั้น O(2n) จึงเป็น O(n) การวนผ่านข้อมูลสองรอบยังคงเติบโตแบบเชิงเส้น ตัวคูณจึงไม่เปลี่ยนประเภทของความซับซ้อน

เก็บเฉพาะพจน์ที่ใหญ่ที่สุด

เมื่อพจน์ต่าง ๆ ถูกนำมาบวกกัน จะนับเฉพาะพจน์ที่เติบโตเร็วที่สุด O(n^2 + n) จึงย่อเป็น O(n^2) เพราะเมื่อ n เพิ่มขึ้น n^2 จะมีขนาดใหญ่กว่า n มาก

ลูปต่อเนื่องเทียบกับลูปซ้อน

ลูปสองลูปที่ทำงานต่อกันจะรวมกันเป็น O(n + n) = O(n) ส่วนลูปสองลูปที่ซ้อนกันจะคูณกันเป็น O(n^2) รูปแบบของลูปจะบอกคุณได้ว่าเป็นกรณีใด

พิจารณากรณีเลวร้ายที่สุดก่อน

การแข่งขันตัดสินจากชุดทดสอบที่ยากที่สุด ดังนั้นคุณจึงต้องวิเคราะห์ กรณีเลวร้ายที่สุด ให้สมมติว่าลูปทำงานครบ ไม่ใช่หยุดก่อนเวลา

ตรวจสอบอย่างรวดเร็ว

ได้เวลาทดสอบความเข้าใจเรื่อง Big-O ของคุณแล้ว

ทบทวน

ตอนนี้คุณอ่านโค้ดในแง่การเติบโตได้แล้ว: O(1), O(n), O(n^2) และ O(log n) ตัดค่าคงที่ออก เก็บพจน์ที่ใหญ่ที่สุด และคิดถึงกรณีเลวร้ายที่สุด 🎯

คำถามที่พบบ่อย

บทเรียน “นับการดำเนินการด้วย Big-O” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “นับการดำเนินการด้วย Big-O” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Coding Interview Prep ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Coding Interview Prep มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “นับการดำเนินการด้วย Big-O”

ตั้งแต่ค่าคงที่ถึงกำลังสองในภาษาที่เข้าใจง่าย คุณปฏิบัติ Coding Interview Prep ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Coding Interview Prep หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Coding Interview Prep บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “นับการดำเนินการด้วย Big-O” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Coding Interview Prep นี้ได้ไหม

ได้ บทเรียน Coding Interview Prep ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. นับการดำเนินการด้วย Big-O
  2. หลักคร่าว ๆ 10^8
  3. อ่านข้อจำกัดและเลือกความซับซ้อน
  4. เหตุใดจึงเกิด TLE และจะสังเกตได้อย่างไร
← กลับไปที่ Coding Interview Prep