הנדסה אזרחית & הנדסה מבנית
כיצד לחשב את המורכבות של הזמן של Java Algorithms
Table of Contents
הבנת המורכבות של אלגוריתמי ג'אווה עוזרת להעריך את היעילות והביצועים שלהם.זה מודד כיצד זמן הריצה של אלגוריתם עולה עם גודל נתוני הקלט. מאמר זה מסביר את השלבים הבסיסיים כדי לחשב את המורכבות של אלגוריתמי Java.
ניתוח אלגוריתאם
הצעד הראשון הוא לנתח את מבנה האלגוריתם.זהה את הפעולות העיקריות התורמות ביותר לשעות הריצה, כגון לולאות, שיחות חוזרות או פעולות מקוגנות. להתמקד בכמה פעמים פעולות אלה מבוצעות ביחס לגודל הקלט.
Counting
להעריך את מספר הפעולות הבסיסיות המבוצעות כתפקוד של גודל קלט, מלוטש כ- n. לדוגמה, לולאה רץ מ 1 ל- n לבצע n פעמים, לתרום למורכבות הכוללת.
ביטוי מורכבות
לתרגם את ספירת הפעולה לאבחנה גדולה, המתארת את הגבול העליון של קצב הצמיחה של האלגוריתם.מורכבות המשותפת כוללת O(1), O(log n), O(n), O(n), O(n log n), ו O(n2). להתמקד במונח הדומיננטי כ- n הופך גדול.
המונחים: Loop Analysis
קחו בחשבון את הלולאה פשוטה של Java:
(ב) .
לולאה זו רץ n פעמים, ולכן מורכבות הזמן שלה היא O(n) אם יש לולאות מקונן, להכפיל את המורכבות שלהם בהתאם.
- זיהוי הפעולות העיקריות
- לספור כמה פעמים הם מבצעים
- תגית: Big O Notation
- להתמקד במונח ההזמנה הגבוה ביותר עבור n גדול