שאלה כללית לגבי סיבוכיות

patch81

New member
שאלה כללית לגבי סיבוכיות

נניח שיש לי אלגוריתם עם שני שלבים כל שלב לוקח lg(n) האם החסם באסימפטוטי של האלגוריתם הוא O(lgn) או log(n) + lg(n) = lg(n^2) הרי אם זה היה n הייתי מקבל n+n= 2n= O(n) אבל מה קורה במקרה של הלוגריתם ? תודה
 

patch81

New member
כן. אבל מה שזה אומר

זה שלמעשה log(n) זהה אסימפטוטית ל log(n^2) כלומר שהסיבוכיות של עץ בינארי עם n איברים זהה לסיבוכיות עם n^2 איברים. לכן זה לא מסתדר לי
 

vinney

Well-known member
זה לא זהה אסימפטוטית

זה זהה, נקודה. log n^2 = 2log n לגבי סיבוכיות, זה כבר משהו אחר. סיבוכיות אכן נמדדת במושגים אסימפטוטיים, והסיבוכיות של עץ בגודל n ובגודל n^2 אכן לא זהה, אבל מאותו סדר גודל. מה זה אומר? שהחסמים הם אותם החסמים (log n בהתעלם מהמקדמים). אני מקווה שזה לא חדש לך
 

vicz

New member
אתה מתבלבל

בין לוג' בריבוע של n שזה: lgn*lgn לבין לוג' של n בריבוע שזה: lg(n^2) ובין השאר גם lgn+lgn=lg(n^2). לפי חוקי לוגוריתמים:
lg(n^m)=mlgn​
 
למעלה