• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
 
MinMax:םיקדוב רשאכ תוגוזב הקידבA[i+1]>A[iכ"חאו [A[i+1]>maxכ"חאוA[i]<minאצויו3n/2לבא
O(n(
יכ(קר הז תא םיעצבמ לבא תוקידב שולש שיn/2.םימעפMax1Max2 :1)לומ הוושנ לבא רביא רביא קודבנmax2לומ קודבנ לודג רתוי םא ,םדוקmax1ןכ םא ,max2=max1 זאוmax1=A[iזא אל םא [max2=A[i]. 2ןיב קודבנ הבש תרשוקמ המישר י"ע היעבל יביטקודניא ןורתיפ םג שי) 'סקמ תויהל םיילאיצנטופה םירביאה תא שי הבש תינסחמ קיזחמ םגו ולש 'סקמה אוהש רפסמ קיזחמ טקייבוא לכ . םידומצ2םא זאו .maxלשBמ לודגmaxלשCתא סינכנmax Cלש תינסחמה ךותלBתא קחמנוCראשי רשאכ המישרהמ הז ולש 'סקמה זא דחא רביא קרmax1תאיצמל היצקנופה תא ליעפנ ולש תינסחמה לעוMAXתינסחמה לש לדוגה לבא לשlognלש תויכוביס שי ןכלוO)n+lognכ"הס ןכלו )
O(n(
.: תרצעהז יכ( תיביטקודניא הטישב תושעל ףידע
n
הז תיביסרוקרבו2n ( for)i=1 to n( {ans=ans*I} return ans;ans=1;: יצאנוביפהז תיביסרוקרב יכ( תיביטקודניא ףידע2^n+2^n( if )num=1|2(return 1;ans=0;a=b=1; for)i=2 to n- 1({ans=a+b;a=b;b=ans{ןוימMergeSort:אוה ץעה הבוג יכ ץע ףידע ןוימבlognםיעצבתמ הילע לכבוnןכל תולועפ
O(nlogn(
:)תווצקהמ תחקל רתומש( קחשמ1רתויש המו םייגוז יאה תאו םייגוזה םירביאה תא םימכוס ובש דיספהל אל םתירוגלא שי))דיספנ אל תוחפל וקית שיו הרקמב( .ךומנהמ םעפ לכ תחקל ביריה תא םיחירכמ הובגאיה תויכוביסה
O(n(
םירבוע יכ.םוכסל ידכ םירביאה לכ לע2הז ותוא רוציל קר לבא ץעה תא שי( רתויב הבוטה האצותב םימייסמ ובש םתירוגלא שיו )2^ n:אבה יאנתה פ"ע אלמנ כ"חאו ןותנה ךרעמה תא ןוסכלאב אלמנ םדוק . הצירטמ אלמנש ךכ י"ע )ימאניד תנכתנ ןכלf[i,j]=Max)A[i]-f[i+1,j],A[j]-f[I,j-1תא ריזחהל ךירצו חוורה תא שי וישכע .הנוילעה תינמיה הניפב אצמנ חוורה זאו )[םאה םילאוש :ןורתיפ ?ךיא ...םשל ךרדהf[i,j]=A[i]-f[i+1,j]||A[j]-f[I,j-1איה תויכוביסה .ותוא םיחקול ןוכנש ימ ? [
O(n^2(
שי יכn^2דועו הצירטמה תא אלמלn.ךרדה תא לבקל :תודחא לש הצירטמ1אלמנ )3הצירטמ םדוק ,תוצירטמX-ו Yהנומ י"ע( קדבנה סקדניאל דע שי תודחא המכ שי םהבש הצירטמ כ"חאו )הרוש לכלZאוה םתירוגלאה הבשMin)X[i,j]+1,Y[I,j]+1,Z[i-1,j-1]+1ה תא רוכזנ דימת .)maxתאו כ"הס .ולש םיסקדניאה
O(n^2(
הז הצירטמ לכ אלמל(n^2ןכלו3*n^2.) שולש םדקמ שיו2שי) םתירוגלאה י"ע תחא הצירטמ קר רוציל תורשפא םגf[i,j]=Min)f[i-1,j],f[I,j+1],f[i-1,j+1](+1ןיידע הז וישכע
O(n^2(
אוה םדקמה לבא1םאה םיקדוב םדוק םירקמה ינשב .f[i,j]!=0 : סוטמה תייעב1-מ רתוי שי םלש שופיחב)2^nלדוג תלעב היעבב :החכוה .ןורתיפל רתוי הליעי ךרד שפחנ ןכלו .םיכרד1 עוביר רמולכ)1X1עובירל היעבה תא לידגנ םא )הנימיו הלעמל וא הלעמלו ןימי( םיכרד ינש שי2X2דוע םצעב ףסוותי עוביר1X1דוע םג שי הזמ זוח שדחה דוקדוקל עיגהל םיכרד םיינש יפ רבכ שי ןכלו רתוי הנטק היעבב ונעגה הילא הדוקנל2הצירטמ לש הרקמב ןכלו )םדוקה דוקדוקה ךרד אל( וילא עיגהל םיכרדnXnשי2*2(^n-1(+2-מ לודג הזו2^n 2) י"ע וילא עיגהל תולעה תא את לכב בשחנ ימאניד תונכתבcost=Min)a.cost+a.x,b.cost+b.yאיה תויכוביסה )O)n*m) ךיא רתויב הלוזה תולעה תא הנוילעה תינמיה הניפב ונל שי וישכע .תולעה תא וב בשחל מ"ע םידוקדוקה לכ לע םירבוע יכ(םאה םילאוש את לכבו הנוילעה תינמיה הניפהמ םיליחתמ :ןורתיפ ?לולסמה תא לבקנcost-b.cost=b.yואcost- a.cost=a.xאיה הרזחה לש תויכוביסה .וילא םיכלוה ןוכנש ימO)n+mהלאמש םיכלוה יכ )nהטמלו םימעפmםימעפ כ"הס הנותחת תילאמש הניפל עיגהל מ"ע
O(n*m(
: ךרעמה יצמ תוחפל לודגש רביא תאיצמשי ןושארה רביאה תא ריזחנ םא50%תא ריזחנ םא הנוכנ היהת הבושתהש שי םינושארה ינש ןיבמ הובגה75%לשמל רמולכ יראניב רפסמכ םירביאה לע לכתסנ םא .הנוכנ היהת הבושתהש2 ומכ הז םירפסמ00וא01וא10וא11רשאכ0היה רפסמה םיקלח ינשל ךרעמה תא םיקלחמ ונייהו ןוימ היה םאש ןמסמ ךותמ ןכלו לודגה קלחב אצמנ2^nולוכש ןומיסה קר יראניבה רפסמה תא בותכל רשפאש תויפוא0הובגה 'יפאש רמוא ( לש יוכיס אוה קודצל יוכיסה ןכלו ךרעמה ירבא יצחמ לודג אל םירפסמה לכ ןיבמ1-1(/2^nתא חקינ םא ןכלו ))64 -ב ןוכנ היהי הז לודגה רביאה תא םכותמ אצמינו םינושארה םירביאה99.9999%איה תויכוביסה ןכלו םירקמהמ
O(1(
יכ(עצבלMAXלע64.) חינז הז םירביא : להנמה תייעבשי םלש שופיחבnל :החכוה( קודבל תויצפוא !2שי םירביא2אמגודל תויצפוא1-ו2הז1,2וא2,1םא . ול שי רביא דוע ףיסונ3שי םיפסונה םירביאה ינשל םהמ תחא ןכלו [ףוסו עצמא הלחתה] תויהל תומוקמ2ןכל תויצפוא3* 2ב ןכלו !nהז םירביאn*)n-1(!=nדוע שי תויצפואהמ דחא לכל ןכלו )!nןכלו הנתמהה לש ךרואה בושיחל תולועפ O)n*nה תא אוצמל דוע םג שי( )!min+ הז לבא תויצפואה לכ ךותמnתוארל ןתינ !!!רחא תונכת אצמנ ןכל )חינז הזו ! איה ךרואה בושיחל החסונהשn*t1+)n-1(*t2+…+tnהסננ ןכלו רתויב ךומנה םוכס ןתייש רדסה תא אוצמל הסננ ןכלורצוי הז רחא רביאל רביא לכ ןיב ףילחהל רשפא םא יכ חיכוהל ןתינ( םירביאה ןיב ףילחהלn^3ןתינ יכ טילחנ ןכלו תויצפואםא קר איה הליעי הפלחה יכ םיאורו םידומצ םירביא ןיב קר ףילחהל T[i-1]>T[iהז תאו ךרעמה תא ןיימל ףידע ללכב ןכלו [הזו ריהמ ןוימ י"ע השענ
O(nlogn(
.
 
: הקזחה תא ךופהנש י"ע תויכוביסה תא רפשל רשפאn( -מ(X^nךרוצ הז( יראניב רפסמלlognםעפ לכ] תולועפ -ב הקולח2שי רשאכ ,לאמשל ןימימ יראניבה רפסמה תורפס לע םירבוע וישכעו )[תיראשה תרימשו1תא םיליפכמ -כ תלחתואמש( הבושתה1ב )temp-כ לחתואמש(Xה תא םילפכמ םגו )tempשי רשאכ ,ומצעב0ה תא םיליפכמ קר tempאיה תויכוביסה ןכלו .ומצעב
O(logn( 
אמגוד11^2תא םיכפוה11-ל1011םיכישממ וישכעו )יראניב( :הזה םתירוגלאה םע ans=1;for i=bin.length to 0;if bin[i]=1{ans=ans*temp;temp=temp*temp}else temp=temp*temp ;return ans temp=2;LCSינשל תפתושמה הלימהstring: םי' 1שי םלש שופיחב )2^nשי תחא תואל יכ( תוזורחמ יתת2איה] תוצובק יתת ה תואב ןכלו [תמייק הצובק תת לכל התוא ףיסונ יכ] תוצובק יתת םיינש יפ רוצית ףיסונש תוא לכ ןכלו [קיר הצובקו דבלnהיהי הז2(^n-1(+2^)n-1(=2*2^)n-1(=2^nאיה תויכוביסה ןכל )
O(2^(n+m((
מ הצובק תת לכ יכstringדחא-המ הצובק תת לכל םיוושמstring.ינשה2ה לע רובענ ינדמח םתירוגלאב )stringסקדניא לכ ובש ךרעמ רוצינו רצקה -המ תוא למסמa b cב העיפומ תוא התואש םימעפה רפסמ תא שי סקדניא לכבוstringהיינשה הלימה לע רובענ וישכע . הווש אל רמולכ( אוהשמ שי תואה לש סקדניאב םאה םיקדובו0התואל םיעיגמש דע הנושארה הלימה תא םיקרוס זאו )תוחפ לבא התוא שיש וא ךשמהב התוא ןיאש עדנש ידכ( דחא הלש אתהמ םידירומ תואל הווש אלש םירבועש תוא לכו תואאיה תויכוביסה .ונמייס היינשה הלימה ףוסל םיעיגמ רשאכ .ונלש הנומה תא הלענ תואל ונעגה רשאכ )תחא םעפ
O(n+m(
ה ינש לע םירבוע יכstring.)חינז הז לבא ךרעמה תא תרצויש הקירסה תא םג שי( םי'3רציינ ימאניד תונכתב ) קודבנ את לכבו ןימיל לאמשמ הרוש הרוש ותוא קורסנו ידמימ וד ךרעמif Y[j]=X[i] arr[i,j]=arr[i-1,j-1]+1זא אל םאוarr[I,j]=Max)arr[i-1,j],arr[I,j-1ה תא לבקל ידכ .הנותחתה תילאמשה הניפב היהת הבושתה הככו )[srtingףתושמה תומוקמב(םילימבש תויתואה ןיב ןויווש שי םא קודבנו הנותחתה הניפהמ ליחתנi-ו j-ל הוושה תואה תא ףרצנ זא )ansןימימ( ןיא םא )ךולה ךרדב ונעגה םשמ יכ( םינכשהמ הובגל ךלנ זא ןויווש ןיא םא הלעמל ןוסכלאב תצבשמל רובענו )לאמשלאיה תויכוביסה .תויצפוא המכ שי הארנכ יכ םהמ דחא תא רחבנ םיווש םינכשה ינש םג לבא תויתואה ןיב ןויווש
O(n*m(
יכ.הצירטמב את לכ לע םירבוע4בוש( תוינסחמ לש ךרעמ םירציימו םילימה תחא לע םירבועש רמוא ףסונ ימאניד םתירוגלא)הלימה לע םירבוע וישכע .תואה תאצמנ םהבש םיסקדניאה תא םיסינכמ תינסחמה ךותל רשאכ )תואל ךייושמ סקדניא לכםימשרנ םיסקדניאה תוא לכל םצעב( ךרעמ ךותל םתוא םיכפוש תינסחמב םירביא הל שיש תואל םיעיגמ רשאכו הינשהםתירוגלאל סינכנ הזה ךרעמה תא כ"חא )הכופה הרוצבLISלש תויכוביסב אוהשnlogn , LISלש לודגה ךרואה תא ריזחי לשמל ןוימה תא ונל ריזחי םגו םילימ ינש ןיב תפתושמה הלימש הבושתה םצעב וזו תונייוממה1,2,5תויתואה רמולכםיסקדניאבש12-ו5איה תויכוביסה הזה רדסה פ"ע תופתושמה םה )תוינסחמה לש ךרעמל ונקרס התואש הלימבש( וישכעrlog)min)m,nרשאכ ))rהזה םתירוגלאה ןכלו םירפסמ לש ךרעמל תוינסחמה ךרעמ תא ךופהל לש העקשהה הז מ רתוי הז םירפסמה לש ךרעמה לש הריצי זא יכ( םילימב םימעפ הברה תרזוח אל תוא רשאכ רתוי ליעיn*mתוחפ הזוםתירוגלאמ ליעי3)LIS:)ךרעמ לש תוניוממ תמר(1שי םלש שופיחב)2^nב קודבנ םהמ תחא לכו תוזורחמ יתתnתת תא רוכזנו תולועפ כ"הס הלודגה תניוממה תזורחמה
O(n*2^n)
2השענ זאו ותוא ןיימנו קדבנה ךרעמה ומכ ךרעמ דוע רוצינ ימאניד תונכתבLCSאיה תויכוביסה םיכרעמה ינש ןיב
O(n^2(
יכn-וm.םיווש3םצעב אוהש ךרעמ רוצינש רמוא רחא ימאניד תונכת ) תא םיסינכמו ךרעמב את לע םירבוע םעפ לכ רמולכ קדבנה ךרעמה ירבא תא הפ קיזחהל שיש ןוכנה רדסה תא קיזחמםיצורש רביאהמ לודגש ןושארה רביאה תא שי ובש אתב ךרעמה ךותל תעצבתמ הסנכהה רזע ךרעמה ךותש רביאהרביאה תא סינכהל הפיאל שופיחה )[לדוגה יפל םיסינכמ םצעב יכ] ןמזה לכ ןייוממ אוה רזעה ךרעמש רורב( סינכהלהזו )יראניב שופיח( רבדמב הירא שופיחכ עצבתמlognםישוע הז תאוnהבושתה הז יפוסה רזעה ךרעמ לש ךרואה םימעפ איה תויכוביסה. תונייוממה תמרל
O(nlogn(
.סדרה טפשמוילע השענ םא ךרעמ לכב :LISןימיל לאמשמו לאמשל ןימימ מ הלודגש הבושת ןתיי תוקידבה ןיבמ 'קמהsqrt)nירביא שרושמ הלודגש תונייוממ תמר שי ילאמודנר ךרעמ לכב רמולכ( ).)ךרעמה: ןוינחה תייעבאיהש לכ תינוכממ ליחתנ )ךרעמ/תרשוקמה המישרב שי םירביא המכ וא( ןוינחב שי תוינוכמ המכ תעדל מ"עוז ילואש( הנושארה לש רפסמה ומכ תנמוסמש תינוכמל עיגנ םא תוינוכמ רופסל ליחתנ וישכע הלש רפסמה תא רוכזנו( רפסמ אוהזיאל תינוכמה לעש ןמיסה תא הנשנ ןושארה םירבד ינש עצבנ זא )איה קוידבflagוישכע הנומה תא רוכזנו )ה םע תינוכמל םיעיגמ הנומב שיש םידעצה רפסמ תא הרוחא םירזוחשכ םאה קודבנflagתוינוכמה 'פסמו ונמייס זא ןכ םאהב ןיא יכ הב רצענ אל הנושארה םעפב ונרצענש תינוכמל עיגנשכ וישכע( בוש םיעצבמ זא אל םא .הנומש רפסמכ אוה-ל ותוא וניניש יכ רופסל םיליחתמ ונא הנממש תינוכמל שיש ומכ רפסמflag-הש ןבומכ]flagרפסמהמ הנוש תויהל ךירצ איה תויכוביסה .)[הנושארה תינוכמה לע שיש
O(n^2(
לכב ןכלו ןמיס ותואב תונמוסמ תוינוכמה לכ עורגב הרקמב יכלכל רמולכ( הרזח רוזחנו הילא עיגנ תינוכמnלש רוזח הקידב עצבנ תוינוכמבn(הרוחא תוקידב תיכוכזה רודכ:1( אוה עצבל שיש תוקידבה רפסמ יכ תוארל ןתינ )n/k(+kרשאכn-ו תומוקה רפסמ הזkובש רפסמה הז תא אצמנ וישכע .םיקלחל קלחנk( םא יכ עודי : תילאמינימ הבושת ןתיישa-b(^2>=0זאa^2+b^2>=2abםא ןכלו םוקמב ביצנa-וbשרושaשרושוb-ש לבקנa+b>=2sqrt)abיכ רמול רשפא ונלש הרקמב ןכל )n/k+k>=2*sqrt)n) תא שפחנ ןכלוkםצעב הזו ןורתיפ ןתיישk=sqrt)nרפסמ לבקנ שרושל םיוושש םיקלחל לדגמה תא קלחנ םא רמולכ )
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...