[מוזיק פּלייַינג] רעדנער 1: כל רעכט. אַלעמען באַגריסן צוריק צו אָפּטיילונג. איך האָפֿן איר אַלע זענען הצלחה ריקאַווערד פון דיין ויספרעג פון לעצט וואָך. איך וויסן עס ס אַ קליין ביסל משוגע בייַ מאל. ווי איך איז געווען געזאגט פריער, אויב איר 'רע ין דער נאָרמאַל דיווייישאַן, טאָן ניט טאַקע זאָרג וועגן עס, ספּעציעל פֿאַר אַ ווייניקער באַקוועם אָפּטיילונג. אַז ס וועגן ווו איר זאָל זיין. אויב איר האט גרויס, דעמאָלט אָסאַם. קודאָס צו איר. און אויב איר פילן ווי איר דאַרפֿן אַ ביסל ביסל מער העלפן, ביטע פילן פֿרייַ צו דערגרייכן אויס צו קיין פון די טפס. מיר זענען אַלע דאָ צו העלפן. אַז ס וואָס מיר לערנען. אַז ס וואָס איך בין דאָ יעדער מאנטיק פֿאַר איר גויס און בייַ אָפיס שעה אויף טהורסדייַס. אַזוי ביטע פילן פֿרייַ צו לאָזן מיר וויסן אויב איר ניטאָ באַזאָרגט וועגן עפּעס אָדער אויב עס ס עפּעס אויף די ויספרעג וואָס איר'ד טאַקע ווי צו אַדרעס. אזוי די אַגענדאַ פֿאַר הייַנט איז אַלע וועגן דאַטן סטראַקטשערז. עטלעכע פון ​​די ביסט נאָר געגאנגען צו זיין פּונקט צו באַקומען איר באקענט מיט די. איר זאלט ​​ניט אלץ מאַכשער זיי אין דעם קלאַס. עטלעכע פון ​​זיי איר וועט, ווי פֿאַר דיין ספּעלער פּסעט. איר וועט האָבן דיין ברירה צווישן האַש טישן און פרוווט. אַזוי מיר וועט באשטימט ווערן געגאנגען איבער די. עס ס געגאנגען צו זיין באשטימט מער פון מין פון אַ הויך מדרגה אָפּטיילונג הייַנט, כאָטש, ווייַל עס זענען אַ פּלאַץ פון זיי, און אויב מיר זענען אין די ימפּלאַמענטיישאַן דעטאַילס אויף אַלע פון ​​די, מיר וואָלט ניט אפילו באַקומען דורך לינגקט רשימות און אפֿשר אַ ביסל ביסל פון האַש לוחות. אַזוי בער מיט מיר. מיר ניטאָ ניט געגאנגען צו זייַן טאן ווי פיל קאָודינג דעם צייַט. אויב איר האָבן קיין פראגעס וועגן עס אָדער איר ווילן צו זען עס ימפּלאַמענטאַד אָדער פּרובירן עס פֿאַר זיך, איך באשטימט רעקאָמענדירן געגאנגען צו study.cs50.net, וועלכע האט ביישפילן פון אַלע פון ​​די. עס וועט האָבן מיין פּאָווערפּאָינץ מיט די הערות וואָס מיר טענד צו נוצן ווי געזונט ווי עטלעכע פּראָגראַממינג עקסערסייזיז, ספּעציעל פֿאַר זאכן ווי לינגקט רשימות און ביינערי ביימער סטאַקס און קיוז. אזוי ביסל מער הויך מדרגה, וואָס זאל זיין פייַן פֿאַר איר גייז. אַזוי מיט וואָס, מיר וועט באַקומען סטאַרטעד. און אויך, יעס-- קוויזיז. איך טראַכטן רובֿ פון איר וואס זענען אין מיין אָפּטיילונג האָבן דיין קוויזיז, אָבער ווער עס יז קומט אין אָדער עטלעכע סיבה איר טאָן ניט, זיי ניטאָ רעכט דאָ אין די פראָנט. אזוי לינגקט רשימות. איך וויסן דעם מין פון גייט צו צוריק איידער דיין ויספרעג. וואס איז געווען די וואָך איידער וואָס מיר געלערנט וועגן דעם. אבער אין דעם פאַל, מיר וועט נאָר גיין אַ ביסל ביסל מער אין טיפעניש. אזוי וואָס זאל מיר קלייַבן אַ לינגקט רשימה איבער אַ מענגע? וואָס דיסטינגגווישיז זיי? יא? וילעם: איר קענען יקספּאַנד אַ לינגקט רשימה קעגן אַ מענגע ס פאַרפעסטיקט גרייס. רעדנער 1: רעכט. אַ מענגע האט פאַרפעסטיקט גרייס כוועראַז אַ לינגקט רשימה האט אַ בייַטעוודיק גרייס. אַזוי אויב מיר טאָן ניט וויסן ווי פיל מיר ווילן צו קראָם, אַ לינגקט רשימה גיט אונדז אַ גרויס וועג צו טאָן אַז ווייַל מיר קענען נאָר לייגן אויף אן אנדערן נאָדע און לייגן אויף אנדערן נאָדע און לייגן אויף אן אנדער נאָדע. אבער וואָס זאל זייַן אַ האַנדל-אַוועק? טוט ווער עס יז געדענקען די האַנדל-אַוועק צווישן ערייז און לינגקט רשימות? ממהמם? וילעם: איר האָבן צו גיין דורך אַלע די וועג דורך די לינגקט רשימה געפֿינען אַן עלעמענט אין אַ רשימה. אין אַ מענגע, איר קענען נאָר געפינען אַ עלעמענט. רעדנער 1: רעכט. אזוי מיט אַררייַס-- וילעם: [ינאָדאַבאַל]. רעדנער 1: מיט ערייז, מיר האָבן וואָס ס גערופן טראַפ צוטריט. מיטל אַז אויב מיר ווילן וואָס איז אלץ די פינפט פונט פון אַ רשימה אָדער די פינפט פונט פון אונדזער מענגע, מיר קענען נאָר כאַפּן עס. אויב עס ס אַ לינגקט רשימה, מיר האָבן צו יטעראַטע דורך, רעכט? אזוי אַקסעסינג אַן עלעמענט אין אַ מענגע איז קעסיידערדיק צייַט, כוועראַז מיט אַ לינגקט רשימה עס וואָלט רובֿ מסתּמא זיין לינעאַר צייַט ווייַל אפֿשר אונדזער עלעמענט איז אַלע דער וועג בייַ די סוף. מיר האָבן צו זוכן דורך אַלץ. אזוי מיט אַלע די דאַטן סטראַקטשערז מיר רע געגאנגען צו זיין ספּענדינג אַ ביסל מער צייַט אויף, וואָס זענען די פּלאַסיז און נעגאַטיוועס. ווען זאל מיר ווילן צו ניצן איינער איבער די אנדערע? און אַז ס מין פון די ביגער זאַך צו נעמען אַוועק. אזוי מיר האָבן דאָ דער דעפֿיניציע פון ​​אַ נאָדע. עס ס ווי איינער עלעמענט אין אונדזער לינגקט רשימה, רעכט? אזוי מיר ניטאָ אַלע באַקאַנט מיט אונדזער טיפּעדעף סטרוקץ, וואָס מיר זענען געגאנגען איבער אין באריכטן לעצט צייַט. עס איז בייסיקלי נאָר קריייטינג אנדערן דאַטן טיפּ אַז מיר קען נוצן. און אין דעם פאַל, עס ס עטלעכע נאָדע אַז וועט האַלטן עטלעכע ינטעגער אין. און דעמאָלט וואָס ס דער צווייט טייל דאָ? ווער עס יז? וילעם: [ינאָדאַבאַל]. רעדנער 1: יאָ. עס ס אַ טייַטל צו דער ווייַטער נאָדע. אזוי דעם זאָל אַקטשאַוואַלי זיין אַרויף דאָ. דאס איז אַ טייַטל פון טיפּ נאָדע צו די ווייַטער זאַך. און אַז ס וואָס זיי ענקאַמפּאַסאַז אונדזער נאָדע. קיל. אַלע רעכט, אַזוי מיט זוכן, ווי מיר האבן נאָר געזאגט איידער האַנט, אויב איר 'רע גיי צו זוכן דורך, איר האָבן צו פאקטיש יטעראַטע דורך דיין לינגקט רשימה. אַזוי אויב מיר ניטאָ קוקן פֿאַר די נומער 9, מיר וואָלט אָנהייבן בייַ אונדזער קאָפּ און אַז ווייזט אונדז בייַ דעם אָנהייב פון אונדזער לינגקט רשימה, רעכט? און מיר זאָגן, גוט, טוט דעם נאָדע אַנטהאַלטן די נומער 9? ניין? אַלע רעכט, גיין צו די ווייַטער איינער. גיי עס. טוט עס אַנטהאַלטן די נומער 9? ניין גיי די ווייַטער איינער. אַזוי מיר האָבן צו פאקטיש יטעראַטע דורך אונדזער לינגקט רשימה. מיר קענען ניט נאָר גיין גלייַך צו ווו 9 איז. און אויב איר גייז אַקטשאַוואַלי ווילן צו זען עטלעכע פּסעוודאָ-קאָד אַרויף דאָרט. מיר האָבן עטלעכע זוכן פונקציאָנירן דאָ וואס נעמט ינ-- וואָס טוט עס נעמען אין? וואָס טאָן איר טראַכטן? אַזוי גרינג איינער. וואָס איז דאָס? וילעם: [ינאָדאַבאַל]. רעדנער 1: די נומער מיר רע איר זוכט פֿאַר. רעכט? און וואָס וואָלט דעם שטימען צו? עס ס אַ טייַטל צו? וילעם: א נאָדע. רעדנער 1: א נאָדע צו די רשימה וואָס מיר רע קוקן בייַ, רעכט? אזוי מיר האָבן עטלעכע נאָודז זענען טייַטל דאָ. דאס איז אַ פונט אַז ס גיי צו פאקטיש יטעראַטע דורך אונדזער רשימה. מיר שטעלן עס גלייַך צו רשימה ווייַל אַז ס נאָר באַשטעטיקן עס גלייַך צו דער אָנהייב פון אונדזער לינגקט רשימה. און בשעת עס ס ניט נאַל, בשעת מיר נאָך האָבן זאכן אין אונדזער רשימה, טשעק צו זען אויב אַז נאָדע האט די נומער מיר רע איר זוכט פֿאַר. צוריקקומען אמת. אַנדערש, דערהייַנטיקן עס, רעכט? אויב עס איז נאַל, מיר אַרויסגאַנג אונדזער בשעת שלייף און צוריקקומען פאַלש ווייַל אַז מיטל מיר האָבן ניט געפונען עס. טוט אַלעמען באַקומען ווי אַז מעשים? גוט. אזוי מיט ינסערשאַן, איר האָבן דרייַ פאַרשידענע וועגן. איר קענען פּרעפּענד, איר קענען צוגעבן און איר קענען טאָן אין אַסאָרטיד. אין דעם פאַל, מיר רע געגאנגען צו טאָן אַ פּרעפּענד. טוט ווער עס יז וויסן ווי יענע דרייַ קאַסעס זאל אַנדערש זייַן? אזוי פּרעפּענד מיטל אַז איר שטעלן עס בייַ די פראָנט פון דיין רשימה. אַזוי אַז וואָלט מיינען אַז קיין ענין וואָס דיין נאָדע איז, קיין ענין וואָס די ווערט איז, איר ניטאָ געגאנגען צו לייגן עס רעכט דאָ אין פראָנט, גוט? עס ס געגאנגען צו זייַן דער ערשטער עלעמענט אין דיין רשימה. אויב איר צוגעבן עס, עס ס געגאנגען צו גיין צו די צוריק פון דיין רשימה. און אַרייַנלייגן אין אַסאָרטיד מיטל איר ניטאָ געגאנגען צו שטעלן פאקטיש אין די פּלאַץ ווו עס האלט דיין לינגקט רשימה אויסגעשטעלט. ווידער, ווי איר נוצן יענע און ווען איר נוצן זיי וועט בייַטן דיפּענדינג אויף דיין פאַל. אויב עס טוט נישט דאַרפֿן צו זיין אויסגעשטעלט, פּרעפּענד טענדז צו זייַן וואָס רובֿ מענטשן נוצן ווייַל איר טאָן ניט האָבן צו גיין דורך די גאנצע רשימה צו געפינען די סוף צו לייגן עס אויף, רעכט? איר קענען נאָר אַרייַנשטעקן עס רעכט אין. אַזוי מיר וועט גיין דורך אַ ינסערשאַן 1 רעכט איצט. אזוי איינער זאַך אַז איך בין געגאנגען צו העכסט רעקאָמענדירן אויף דעם פּסעט איז צו ציען דאס אויס, ווי שטענדיק. עס ס זייער וויכטיק אַז איר דערהייַנטיקן דיין פּוינטערז אין די ריכטיק סדר ווייַל אויב איר דערהייַנטיקן זיי אַ ביסל אויס פון סדר, איר 'רע געגאנגען צו סוף אַרויף לוזינג פּאַרץ פון דיין רשימה. אַזוי פֿאַר בייַשפּיל, אין דעם פאַל, מיר רע טעלינג די קאָפּ צו נאָר פונט צו 1. אויב מיר נאָר טאָן אַז אָן שפּאָרן דעם 1, מיר האָבן קיין געדאַנק וואָס 1 זאָל פונט צו איצט ווייַל מיר ווע פאַרפאַלן וואָס די הויפּט שפּיציק צו. אזוי איינער זאַך צו געדענקען ווען איר ניטאָ טאן אַ פּרעפּענד איז צו ראַטעווען וואָס די קאָפּ ווייזט צו ערשטער, דעמאָלט ריאַסיין עס, און דעמאָלט דערהייַנטיקן וואָס דיין נייַ נאָדע זאָל פונט צו. אין דעם פאַל, דעם איז איין וועג צו טאָן עס. אזוי אויב מיר האט געטאן עס דעם וועג ווו מיר נאָר ריאַסיינד קאָפּ, מיר פאַרלירן בייסיקלי אונדזער גאנצע רשימה, רעכט? איין וועג צו טאָן עס איז צו האָבן 1 פונט צו ווייַטער, און דעמאָלט האָבן קאָפּ פונט צו 1. אָדער איר קענען טאָן מין פון ווי די צייַטווייַליק סטאָרידזש, וואָס איך גערעדט וועגן. אבער רעאַססיגנינג דיין פּוינטערז אין די ריכטיק סדר איז געגאנגען צו זיין זייער, זייער וויכטיק פֿאַר דעם פּסעט. אַנדערש, איר ניטאָ געגאנגען צו האָבן אַ האַש טיש אָדער אַ פּרובירן אַז ס נאָר געגאנגען צו זייַן בלויז טייל פון די ווערטער וואס איר ווילן און דעמאָלט יאָו'רע-- ממהמם? וילעם: וואס איז געווען די צייַטווייַליק סטאָרידזש זאַך איר זענען גערעדט וועגן? רעדנער 1: די צייַטווייַליק סטאָרידזש. אזוי בייסיקלי אנדערן וועג איר געקענט טאָן דעם איז קראָם די קאָפּ פון עפּעס, ווי קראָם עס די צייַטווייַליק בייַטעוודיק. באַשטימען עס צו 1 און דעמאָלט דערהייַנטיקן 1 צו פונט צו וועלכער קאָפּ געניצט צו פונט צו. דעם וועג איז דאָך מער עלעגאַנט ווייַל איר טאָן ניט דאַרפֿן אַ צייַטווייַליק ווערט, אָבער נאָר קרבן אנדער וועג צו טאָן עס. און מיר פאקטיש טאָן האָבן עטלעכע קאָד פֿאַר דעם. אזוי פֿאַר לינגקט רשימה, מיר פאקטיש האָבן עטלעכע קאָד. אזוי טאָן דאָ, דעם איז פּרעפּענדינג. אזוי דעם גייט אריין עס אין די הויפּט. אַזוי ערשטער זאַך, איר דאַרפֿן צו שאַפֿן דיין נייַ נאָדע, פון קורס, און טשעק פֿאַר נאַל. שטענדיק גוט. און דעמאָלט איר דאַרפֿן צו באַשטימען די וואַלועס. ווען איר מאַכן אַ נייַ נאָדע, איר טאָן ניט וויסן וואָס עס ס פּוינטינג צו ווייַטער, אַזוי איר ווילן צו ינישאַלייז עס צו נאַל. אויב עס טוט סוף אַרויף פּוינטינג צו עפּעס אַנדערש, עס געץ ריאַסיינד און עס ס פייַן. אויב עס ס דער ערשטער זאַך אין דער רשימה, עס דאַרף צו פונט צו נאַל ווייַל אַז ס די סוף פון די רשימה. אַזוי דעמאָלט צו טאָן עס, מיר זען דאָ מיר זענען אַסיינינג דער ווייַטער ווערט פון אונדזער נאָדע צו זייַן וועלכער קאָפּ איז, וואָס איז וואָס מיר האבן דא. אַז ס וואָס מיר נאָר האט. און דעמאָלט מיר רע אַסיינינג קאָפּ צו פונט צו אונדזער נייַ נאָדע, ווייַל געדענקען, נייַ איז עטלעכע טייַטל צו אַ נאָדע, און אַז ס פּונקט וואָס קאָפּ איז. אַז איז פּונקט וואָס מיר האָבן דעם פייַל אַקסעססאָר. קיל? ממהמם? וילעם: צי מיר האָבן צו ינישאַלייז נייַ ווייַטער צו נאַל ערשטער, אָדער קענען מיר נאָר ינישאַלייז עס צו קאָפּ? רעדנער 1: New ווייַטער דארף צו זיין נאַל צו אָנהייבן ווייַל איר טאָן ניט וויסן ווו עס ס געגאנגען צו זייַן. אויך, דעם איז מין פון נאָר ווי אַ פּעראַדיים. איר שטעלן עס גלייַך צו נאַל נאָר צו מאַכן זיכער אַז אַלע דיין באַסעס זענען באדעקט איידער איר טאָן קיין ריאַסיינמאַנט אַזוי אַז איר 'רע שטענדיק געראַנטיד אַז עס וועט זייַן פּוינטינג צו אַ ספּעציפיש ווערט קעגן ווי אַ מיסט ווערט. ווייַל, יאָ, מיר באַשטימען נייַ ווייַטער אויטאָמאַטיש, אָבער עס ס מער נאָר ווי אַ גוט פיר צו ינישאַלייז עס אין אַז וועג און דעמאָלט ריאַסיין. גוט, אַזוי דאַבלי לינגקט רשימות איצט. וואָס טאָן מיר טראַכטן? וואָס ס אַנדערש מיט דאַבלי לינגקט רשימות? אזוי אין אונדזער לינגקט רשימות, מיר קענען נאָר מאַך אין איין ריכטונג, רעכט? מיר בלויז האָבן ווייַטער. מיר קענען נאָר גיין פאָרויס. מיט אַ דאַבלי לינגקט רשימה, מיר קענען אויך מאַך קאַפּויער. אזוי מיר האָבן ניט בלויז די נומער אַז מיר ווילן צו קראָם, מיר האָבן ווו עס ווייזט צו ווייַטער און ווו מיר נאָר געקומען פון. אזוי דעם אַלאַוז פֿאַר עטלעכע בעסער טראַווערסאַל. אזוי דאַבלי לינגקט נאָודז, זייער ענלעך, רעכט? בלויז חילוק איז איצט מיר האָבן אַ ווייַטער און אַ פרייַערדיק. עס ס די בלויז חילוק. אַזוי אויב מיר זענען געווען צו פּרעפּענד אָדער אַפּפּענד-- מיר טאָן ניט האָבן קיין קאָד פֿאַר דעם אַרויף הערע-- אָבער אויב איר געווען צו פּרובירן און אַרייַנלייגן עס, די וויכטיק זאַך איז איר דאַרפֿן צו מאַכן זיכער איר ניטאָ אַסיינינג ביידע דיין פרייַערדיק און דיין ווייַטער טייַטל ריכטיק. אַזוי אין דעם פאַל, איר וואָלט ניט בלויז ינישאַלייז ווייַטער, איר ינישאַלייז פרייַערדיק. אויב מיר ניטאָ בייַ די קאָפּ פון די רשימה, מיר וואָלט ניט בלויז מאַכן קאָפּ גלייַך נייַ, אָבער אונדזער נייַ פרייַערדיק זאָל פונט צו די קאָפּ, רעכט? אַז ס די בלויז חילוק. און אויב איר ווילן מער פיר מיט די מיט לינגקט רשימות, מיט ינסערטינג, מיט דיליטינג, מיט אַרייַנלייגן אין אַ אַסאָרטיד רשימה, ביטע טשעק אויס study.cs50.net. עס ס אַ בינטל פון גרויס עקסערסייזיז. איך העכסט רעקאָמענדירן זיי. איך ווינטשן מיר האט צייַט צו גיין דורך זיי אָבער עס ס אַ פּלאַץ פון דאַטן סטראַקטשערז צו באַקומען דורך. גוט, אַזוי האַש טישן. דעם איז מיסטאָמע די מערסט נוציק ביסל פֿאַר דיין פּסעט דאָ ווייַל איר ניטאָ געגאנגען צו זיין ימפּלאַמענינג איינער פון די, אָדער אַ פּרובירן. איך טאַקע ווי האַש טישן. זיי ניטאָ שיין קיל. אַזוי בייסיקלי וואָס כאַפּאַנז איז אַ האַש טיש איז ווען מיר טאַקע דאַרפֿן געשווינד ינסערשאַן, דילישאַן, און לוקאַפּ. יענע זענען די זאכן אַז מיר 'רע פּרייאָראַטייזינג אין אַ האַש טיש. זיי קענען באַקומען שיין גרויס, אָבער ווי מיר וועט זען מיט פרוווט, עס זענען זאכן וואָס זענען פיל ביגער. אבער בייסיקלי, אַלע אַ האַש טיש איז אַ האַש פונקציאָנירן וואָס דערציילט איר וואָס עמער צו שטעלן יעדער פון דיין דאַטן, יעדער פון אייער יסודות אין. א פּשוט וועג צו טראַכטן פון אַ האַש טיש איז אַז עס ס נאָר באַקאַץ פון זאכן, רעכט? אזוי ווען איר זענען סאָרטינג זאכן דורך ווי דער ערשטער בריוו פון זייער נאָמען, אַז ס מין פון ווי אַ האַש טיש. אַזוי אויב איך געווען צו גרופּע איר גייז איז אין גרופּעס פון ווער ס נאָמען סטאַרץ מיט א איבער דאָ, אָדער ווער ס צו דיין געבורסטאָג איז אין יאנואר, פעברואר, מאַרץ, וועלכער, וואָס איז יפעקטיוולי קריייטינג אַ האַש טיש. עס ס נאָר קריייטינג באַקאַץ אַז איר סאָרט דיין יסודות אין אַזוי אַז איר קענען געפינען זיי גרינגער. אזוי דעם וועג ווען איך דאַרפֿן צו געפינען איינער פון איר, איך טאָן ניט האָבן צו זוכן דורך יעדער פון דיין נעמען. איך קענען זייַן ווי, טאַקע, איך וויסן אַז דאַניעל ס צו דיין געבורסטאָג איז ינ-- וילעם: --אַפּריל. רעדנער 1: אפריל. אזוי איך קוק אין מיין אפריל עמער, און מיט קיין גליק, זי וועט זיין די נאָר איינער אין עס און מייַן צייַט איז קעסיידערדיק אין אַז זינען, וועראַז אויב איך האָבן צו קוקן דורך אַ גאַנץ בינטל פון מענטשן, עס ס געגאנגען צו נעמען פיל מער. אזוי האַש טישן זענען טאַקע נאָר באַקאַץ. גרינג וועג צו טראַכטן פון זיי. אזוי אַ זייער וויכטיק זאַך וועגן אַ האַש טיש איז אַ האַש פונקציאָנירן. אזוי די זאכן איך נאָר גערעדט וועגן, ווי דיין ערשטער בריוו פון דיין ערשטער נאָמען אָדער דיין געבורסטאָג חודש, די ביסט געדאנקען אַז טאַקע קאָראַלייט צו אַ האַש פונקציאָנירן. עס ס נאָר אַ וועג פון דאַסיידינג וואָס עמער איר ניטאָ עלעמענט גייט אין, גוט? אַזוי פֿאַר דעם פּסעט, איר קענען קוקן אַרויף שיין פיל קיין האַש פונקציאָנירן איר ווילן. טוט ניט האָבן צו זייַן דיין אייגן. עס זענען עטלעכע טאַקע קיל אָנעס אויס דאָרט אַז טאָן אַלע סאָרץ פון משוגע מאַט. און אויב איר ווילן צו מאַכן דיין ספּעללטשעקקער יבער פעסט, איך וואָלט באשטימט קוקן אין איינער פון יענע. אבער עס זענען אויך די פּשוט אָנעס, ווי צונויפרעכענען די סאַכאַקל פון די ווערטער, ווי יעדער בריוו האט אַ נומער. צונויפרעכענען די סאַכאַקל. אַז דאַטערמאַנז די עמער. זיי אויך האָבן די גרינג אָנעס אַז ביסט פּונקט ווי אַלע פון ​​די א 'ס דאָ, אַלע פון ​​די ב ס דאָ. קיין איינער פון די. באַסיקאַללי, עס נאָר דערציילט איר וואָס מענגע אינדעקס דיין עלעמענט זאָל גיין אין. פונקט דאַסיידינג די בוקקעט-- עס ס אַלע אַ האַש פונקציאָנירן איז. אַזוי דאָ מיר האָבן אַ בייַשפּיל וואָס איז נאָר דער ערשטער בריוו פון דעם שטריקל אַז איך איז געווען פּונקט גערעדט וועגן. אזוי איר האָבן עטלעכע האַש אַז ס נאָר די ערשטער בריוו פון דיין שטריקל מינוס א, וואָס וועט געבן איר עטלעכע נומער צווישן 0 און 25. און וואָס איר ווילן צו טאָן איז מאַכן זיכער אַז דעם רעפּראַזענץ די גרייס פון דיין האַש טאַבלע-- ווי פילע באַקאַץ דאָרט זענען. מיט פילע פון ​​די האַש פאַנגקשאַנז, זיי ניטאָ געגאנגען צו זייַן אומגעקערט וואַלועס אַז זאל זייַן ווייַט העכער די נומער פון באַקאַץ וואָס איר אַקטשאַוואַלי האָבן אין דיין האַש טיש, אַזוי איר דאַרפֿן צו מאַכן זיכער און מאָד דורך די. אַנדערש, עס ס געגאנגען צו זאָגן, טאַקע, עס זאָל זיין אין עמער 5000 אָבער איר נאָר האָבן 30 באַקאַץ אין דיין האַש טיש. און פון קורס, מיר אַלע וויסן אַז ס געגאנגען צו רעזולטאַט אין עטלעכע משוגע ערראָרס. אַזוי מאַכן זיכער צו מאָד דורך די גרייס פון דיין האַש טיש. קיל. אזוי קאַליזשאַנז. איז אַלעמען גוט אַזוי ווייַט? ממהמם? וילעם: פארוואס וואָלט עס צוריקקומען אַזאַ אַ מאַסיוו ווערט? רעדנער 1: דעפּענדינג אויף די אַלגערידאַם אַז דיין האַש פונקציאָנירן ניצט. עטלעכע פון ​​זיי וועט טאָן משוגע קייפל. און עס ס אַלע וועגן געטינג אַ אַפֿילו פאַרשפּרייטונג, אַזוי זיי טאָן עטלעכע טאַקע משוגע זאכן מאל. אַז ס אַלע. עפּעס אַנדערש? גוט. אזוי קאַליזשאַנז. באַסיקאַללי, ווי איך האט פריער, אין דער בעסטער פאַל סצענאַר, קיין עמער איך קוק אין איז געגאנגען צו האָבן איין זאַך, אַזוי איך טאָן ניט האָבן צו קוקן בייַ אַלע, רעכט? איך אָדער וויסן עס ס דאָרט אָדער עס ס ניט, און אַז ס וואָס מיר טאַקע ווילן. אבער אויב מיר האָבן טענס פון טויזנטער פון דאַטן ווייזט און ווייניקער ווי אַז נומער פון באַקאַץ, מיר ניטאָ געגאנגען צו האָבן קאַליזשאַנז ווו יווענטשאַוואַלי עפּעס איז געגאנגען צו האָבן צו סוף אַרויף אין אַ עמער אַז שוין האט אַ עלעמענט. אזוי די קשיא איז, וואָס טאָן מיר טאָן אין אַז פאַל? וואָס טאָן מיר טאָן? מיר שוין האָבן עפּעס דאָרט? צי מיר נאָר וואַרפן עס אויס? ניין מיר האָבן צו האַלטן ביידע פון ​​זיי. אַזוי דער וועג וואָס מיר טיפּיקלי טאָן אַז איז וואָס? וואס איז די דאַטן סטרוקטור מיר נאָר גערעדט וועגן? וילעם: לינקעד רשימה. רעדנער 1: א לינגקט רשימה. אַזוי איצט, אַנשטאָט פון יעדער פון די באַקאַץ נאָר געהאט איין עלעמענט, עס ס געגאנגען צו אַנטהאַלטן אַ לינגקט רשימה פון די יסודות אַז זענען האַשעד אין עס. גוט, טוט אַלעמען מין פון באַקומען אַז געדאַנק? ווייַל מיר קען נישט האָבן אַ מענגע ווייַל מיר טאָן ניט וויסן ווי פילע זאכן זענען געגאנגען צו זייַן אין עס. א לינגקט רשימה אַלאַוז אונדז צו האָבן נאָר די פּינטלעך נומער אַז זענען האַשעד אין וואָס עמער, רעכט? אזוי לינעאַר פּראָובינג איז בייסיקלי דעם ידעאַ-- עס ס איין וועג צו האַנדלען מיט אַ צונויפשטויס. וואָס איר קענען טאָן איז אויב, אין דעם פאַל, יאַגדע איז כאַשט אין 1 און מיר שוין האָבן עפּעס דאָרט, איר נאָר האַלטן געגאנגען אַראָפּ ביז איר געפינען אַ ליידיק שפּעלטל. אַז ס איין וועג צו שעפּן עס. די אנדערע וועג צו שעפּן עס איז מיט וואָס מיר נאָר קאַללעד-- די לינגקט רשימה איז גערופן טשיינינג. אַזוי דעם געדאַנק אַרבעט אויב דיין האַש טיש איר טראַכטן איז פיל גרעסער ווי דיין דאַטן שטעלן אָדער אויב איר ווילן צו פּרובירן און מינאַמייז טשיינינג ביז עס ס לעגאַמרע נייטיק. אזוי איינער זאַך איז לינעאַר פּראָובינג דאָך מיטל אַז דיין האַש פונקציאָנירן איז נישט גאַנץ ווי נוציק ווייַל איר ניטאָ געגאנגען צו סוף אַרויף ניצן דיין האַש פונקציאָנירן, געטינג צו אַ פונט, איר לינעאַר זאָנד אַראָפּ צו עטלעכע שטעלן אַז איז בנימצא. אבער איצט, פון קורס, עפּעס אַנדערש אַז ענדס אַרויף דאָרט, איר 'רע געגאנגען צו האָבן צו זוכן אפילו ווייַטער אַראָפּ. און דאָרט ס אַ פּלאַץ מער זוכן קאָסט אַז גייט אין ינפּוטטינג אַן עלעמענט אין דיין האַש טיש איצט, רעכט? און איצט ווען איר גיין און פּרובירן און געפינען יאַגדע ווידער, איר 'רע געגאנגען צו האַש עס, און עס ס געגאנגען צו זאָגן, אוי, קוקן אין עמער 1, און עס ס ניט געגאנגען צו זייַן אין עמער 1, אַזוי איר ניטאָ געגאנגען צו האָבן צו דורך דורך די מנוחה פון די. אזוי עס ס מאל נוצלעך, אָבער אין רובֿ קאַסעס, מיר רע געגאנגען צו זאָגן אַז טשיינינג איז וואָס איר ווילן צו טאָן. אזוי מיר גערעדט וועגן דעם פריער. איך גאַט אַ ביסל פאָרויס פון זיך. אבער טשיינינג איז בייסיקלי אַז יעדער עמער אין דיין האַש טיש איז נאָר אַ לינגקט רשימה. אזוי אן אנדער וועג, אָדער מער טעכניש וועג, צו טראַכטן פון אַ האַש טיש איז אַז עס ס נאָר אַ מענגע פון לינגקט רשימות, וועלכע ווען איר ניטאָ שרייבן דיין ווערטערבוך און איר ניטאָ טריינג צו מאַסע עס, טראכטן פון עס ווי אַ מענגע פון ​​לינגקט רשימות וועט מאַכן עס פיל גרינגער פֿאַר איר צו ינישאַלייז. וילעם: אזוי האַש טיש האט אַ פּרידיטערמינד גרייס, ווי אַ [ינאָדאַבאַל] פון באַקאַץ? רעדנער 1: רעכט. אַזוי עס האט אַ סכום נומער פון באַקאַץ אַז איר דעטערמינע-- וואָס איר גייז זאָל פילן פֿרייַ צו שפּילן מיט. עס קענען זיין שיין קיל צו זען וואָס כאַפּאַנז ווי איר טוישן דיין נומער פון באַקאַץ. אבער יאָ, עס האט אַ שטעלן נומער פון באַקאַץ. וואס אַלאַוז איר צו פּאַסיק ווי פילע עלעמענטן ווי איר דאַרפֿן איז דעם באַזונדער טשיינינג ווו איר האָבן לינגקט רשימות אין יעדער עמער. אַז מיטל דיין האַש טיש וועט זיין פּונקט דער גרייס וואָס איר דאַרפֿן עס צו זיין, רעכט? אַז ס דער גאנצער פונט פון לינגקט רשימות. קיל. אַזוי אַלעמען גוט עס? אַלע רעכט. אַה. וואָס נאָר געטראפן? טאַקע איצט. טרעפן עמעצער ס מאָרד מיר. גוט מיר רע געגאנגען צו גיין אין פרוווט, וואָס זענען אַ ביסל משוגע. איך ווי האַש טישן. איך טראַכטן זיי ניטאָ טאַקע קיל. פרוווט זענען קיל, אויך. אַזוי טוט ווער עס יז געדענקען וואָס אַ פּרובירן איז? איר זאָל האָבן פאַרבייַ איבער עס בעקיצער אין לעקציע? צי איר געדענקען מין פון ווי עס אַרבעט? וילעם: איך בין נאָר נאַדינג אַז מיר האבן גיין איבער אים. רעדנער 1: מיר טאָן גיין איבער אים. גוט, מיר רע טאַקע געגאנגען צו גיין איבער עס איצט איז וואָס מיר 'רע געזאגט. וילעם: אַז ס פֿאַר אַ ריטריוואַל בוים. רעדנער 1: יאָ. עס ס אַ ריטריוואַל בוים. אָסאַם. אזוי איינער זאַך צו באַמערקן דאָ איז אַז מיר זענען קוקן בייַ יחיד אותיות דאָ, רעכט? אזוי איידער מיט אונדזער האַש פונקציאָנירן, מיר זענען איר זוכט אין די ווערטער ווי אַ גאַנץ, און איצט מיר רע קוקן מער בייַ די אותיות, רעכט? אזוי מיר האָבן מאַקסוועל איבער דאָ און מענדל. אזוי בייסיקלי אַ טרי-- אַ וועג צו טראַכטן וועגן דעם איז אַז יעדער מדרגה דאָ איז אַ מענגע פון ​​אותיות. אזוי דעם איז דיין שורש נאָדע דאָ, רעכט? דעם האט אַלע די אותיות פון די אלפאבעט פֿאַר די אָנהייב פון יעדער וואָרט. און וואָס איר ווילן צו טאָן איז זאָגן, גוט, מיר האָבן עטלעכע ב וואָרט. מיר רע געגאנגען צו קוקן פֿאַר מאַקסוועל, אַזוי מיר גיין צו עם, און ב ווייזט צו אַ גאַנץ אנדערע אַ מענגע ווו יעדער וואָרט, ווי לאַנג ווי עס איז אַ וואָרט אַז האט א ווי דער צווייטער בריוו, ווי לאַנג ווי עס ס אַ וואָרט אַז האט ב ווי די רגע בריוו, עס וועט האָבן אַ טייַטל געגאנגען צו עטלעכע ווייַטער מענגע. עס ס מיסטאָמע נישט אַ וואָרט אַז מפּ עפּעס, אַזוי בייַ די פּ שטעלע אין דעם מענגע, עס וואָלט נאָר זייַן נאַל. עס וואָלט זאָגן, גוט, עס איז קיין וואָרט וואָס האט ב נאכגעגאנגען דורך אַ פּ, גוט? אזוי אויב מיר טראַכטן וועגן עס, יעדער איינער פון די קלענערער זאכן איז פאקטיש איינער פון די גרויס ערייז פון א דורך זי אזוי וואָס זאל זייַן איינער פון די זאכן וואָס איז מין פון אַ שטערונג פון אַ פּרובירן? וילעם: א פּלאַץ פון זכּרון. רעדנער 1: עס ס אַ טאָן פון זיקאָרן, רעכט? יעדער איינער פון די בלאַקס דאָ רעפּראַזענץ 26 ספּייסאַז, 26 עלעמענט מענגע. אזוי פרוווט באַקומען ינקרעדאַבלי פּלאַץ שווער. אבער זיי זענען זייער שנעל. אַזוי ינקרעדאַבלי שנעל אָבער טאַקע פּלאַץ באַטלאָניש. מין פון האָבן צו רעכענען אויס וואָס איינער איר ווילן. דאס זענען טאַקע קיל פֿאַר דיין פּסעט, אָבער זיי טאָן נעמען אַרויף אַ פּלאַץ פון זכּרון, אַזוי איר האַנדל אַוועק. יאָ? וילעם: צי וואָלט עס זיין מעגלעך צו שטעלן אַרויף אַ פּרובירן און דעמאָלט אַמאָל איר האָבן אַלע די דאַטן אין עס אַז איר נעעד-- איך טאָן ניט וויסן אויב אַז וואָלט מאַכן זינען. איך איז געווען געטינג באַפרייַען פון אַלע די נאַל אותיות, אָבער דעמאָלט איר וואָלט ניט קענען צו אינדעקס טהעמ-- רעדנער 1: איר נאָך דאַרפֿן זיי. וילעם: - די זעלבע וועג יעדער צייַט. רעדנער 1: יאָ. איר דאַרפֿן די נאַל אותיות צו לאָזן איר וויסן אויב עס ס ניט אַ וואָרט דאָרט. בן האט איר האָבן עפּעס איר ווילן? גוט. אַלע רעכט, אַזוי מיר רע געגאנגען צו גיין אַ ביסל ביסל מער אין די טעכניש דעטאַל הינטער אַ פּרובירן און אַרבעט דורך אַ בייַשפּיל. גוט, אַזוי דאָס איז די זעלבע זאַך. ווהערעאַס אין אַ לינגקט רשימה, אונדזער הויפּט מין אָפ-- וואָס ס די וואָרט איך ווילן? - ווי בנין בלאָק איז אַ נאָדע. אין אַ פּרובירן, מיר אויך האָבן אַ נאָדע, אָבער עס ס דיפיינד דיפערענטלי. אזוי מיר האָבן עטלעכע באָאָל אַז רעפּראַזענץ צי אַ וואָרט פאקטיש יגזיסס בייַ דעם אָרט, און דעמאָלט מיר האָבן עטלעכע מענגע הערע-- אָדער אלא, דעם איז אַ טייַטל צו אַ מענגע פון ​​27 אותיות. און דעם איז פֿאַר, אין דעם פאַל, דעם 27-- איך בין זיכער אַלע פון ​​איר זענען ווי, וואַרטן, עס זענען 26 אותיות אין די אלפאבעט. פארוואס טאָן מיר האָבן 27? אזוי דיפּענדינג אויף די וועג איר ינסטרומענט דעם, דעם איז פון אַ פּסעט אַז ערלויבט פֿאַר אַפּאָסטראָפעס. אזוי אַז ס וואָס די עקסטרע איינער. איר וועט אויך האָבן אין עטלעכע פאלן די נאַל טערמינאַטאָר איז אַרייַנגערעכנט ווי איינער פון די אותיות אַז עס ס ערלויבט צו זיין, און אַז ס ווי זיי קאָנטראָלירן צו זען אויב עס ס די סוף פון די וואָרט. אויב איר ניטאָ אינטערעסירט, טשעק אויס קעווין ס ווידעא אויף סטודי.קס50, ווי געזונט ווי וויקיפּעדיע האט עטלעכע גוט רעסורסן עס. אבער מיר ניטאָ געגאנגען צו גיין דורך נאָר מין פון ווי איר זאל אַרבעט דורך אַ פּרובירן אויב איר 'רע געגעבן איין. אַזוי מיר האָבן אַ סופּער פּשוט איינער דא אז האט די ווערטער "פלעדערמויז" און "פארגרעסער" אין זיי. און ווי מיר זען אַרויף דאָ, דעם קליין פּלאַץ דאָ רעפּראַזענץ אונדזער באָאָל אַז זאגט, יא, דעם איז אַ וואָרט. און דעמאָלט דעם האט אונדזער ערייז פון אותיות, רעכט? אַזוי מיר זענען געגאנגען צו גיין דורך דערגייונג "פלעדערמויז" אין דעם פּרובירן. אַזוי אָנהייבן בייַ די שפּיץ, רעכט? און מיר וויסן אַז b קאָראַספּאַנדז צו די רגע אינדעקס, די רגע עלעמענט אין דעם מענגע, ווייַל אַ און ב. אַזוי בעערעך די צווייט איינער. און עס זאגט, גוט, קיל, נאָכגיין אַז אין דער ווייַטער מענגע, ווייַל אויב מיר געדענקען, עס ס נישט אַז יעדער פון די פאקטיש כּולל די עלעמענט. יעדער איינער פון די ערייז כּולל אַ טייַטל, רעכט? עס ס אַ וויכטיק דיסטינגקשאַן צו מאַכן. איך וויסן דעם איז געגאנגען צו בע-- פרוווט זענען טאַקע שווער צו באַקומען אויף די ערשטער מאָל, אַזוי אפילו אויב דעם איז דער רגע אָדער דריט מאָל און עס ס נאָך מין פון סימינג שווער, איך צוזאָג אויב איר גיין וואַך די קורץ ווידער מאָרגן, עס וועט מיסטאָמע מאַכן אַ פּלאַץ מער זינען. עס נעמט אַ פּלאַץ צו קיצער. איך נאָך מאל בין ווי, וואַרטן, וואָס איז אַ פּרובירן? ווי טאָן איך נוצן דעם? אזוי מיר האָבן b אין דעם פאַל, וואָס איז אונדזער רגע אינדעקס. אויב מיר האט, זאָגן, C אָדער די אָדער קיין אנדערע בריוו, מיר דאַרפֿן צו מאַפּע אַז צוריק צו דער אינדעקס פון אונדזער מענגע אַז אַז קאָראַספּאַנדז צו. אזוי מיר וואָלט נעמען ווי רטשאַר און מיר נאָר אַראָפּרעכענען אַוועק אַ צו מאַפּע עס אין 0-25. יעדער גוט ווי מיר מאַפּע אונדזער אותיות? גוט. אזוי מיר גיין צו די רגע איינער און מיר זען אַז, יאָ, עס איז נישט צו נאַל. מיר קענען מאַך אויף צו דעם ווייַטער מענגע. אזוי מיר גיין אויף צו דעם ווייַטער מענגע דאָ. און מיר זאָגן, גוט, איצט מיר דאַרפֿן צו זען אויב אַ איז דאָ. איז א נאַל אָדער טוט עס פאקטיש מאַך פאָרויס? אזוי אַ אַקטשאַוואַלי באוועגט פאָרויס אין דעם מענגע. און מיר זאָגן, גוט, ה איז אונדזער לעצט בריוו. אזוי מיר גיין צו די ה אין די אינדעקס. און דעמאָלט מיר מאַך פאָרויס ווייַל עס ס אנדערן איינער. און דעם איין זאגט בייסיקלי אַז, יאָ, עס זאגט אַז עס איז אַ וואָרט הערע-- אַז אויב איר נאָכפאָלגן דעם דרך, איר האָבן אנגעקומען בייַ אַ וואָרט, וואָס מיר וויסן איז "פלעדערמויז." יא? וילעם: איז עס נאָרמאַל צו האָבן אַז ווי אינדעקס 0 און דעמאָלט האָבן אַ סאָרט בייַ 1 אָדער צו האָבן בייַ דער סוף? רעדנער 1: ניין אַזוי אויב מיר קוקן צוריק אין אונדזער דעקלאַראַציע דאָ, עס ס אַ באָאָל, אַזוי עס ס זייַן אייגן עלעמענט אין דיין נאָדע. אזוי עס ס ניט טייל פון די מענגע. קיל. אזוי ווען מיר ענדיקן אונדזער וואָרט און מיר 'רע אין דעם מענגע, וואָס מיר ווילן צו טאָן איז טאָן אַ טשעק פֿאַר איז דאָס אַ וואָרט. און אין דעם פאַל, עס וואָלט צוריקקומען יאָ. אַזוי אויף אַז טאָן, מיר וויסן אַז "גאָרטן" - מיר וויסן ווי יומאַנז אַז "גאָרטן" איז אַ וואָרט, רעכט? אבער ביסט פּרובירן דאָ וואָלט זאָגן, ניט קיין, עס ס ניט. און עס וואָלט זאָגן אַז ווייַל מיר האָבן ניט דעזיגנייטיד עס ווי אַ וואָרט דאָ. אפילו כאָטש מיר קענען דורך דורך צו דעם מענגע, דעם פּרובירן וואָלט זאָגן אַז, ניט, זאָאָלאָגישער גאָרטן איז ניט אין דיין ווערטערבוך ווייַל מיר האָבן נישט דעזיגנייטיד עס ווי אַזאַ. אַזוי איין וועג צו טאָן טהאַט-- טאַקע, נעבעכדיק, דעם איין. אַזוי אין דעם פאַל, "גאָרטן" איז ניט אַ וואָרט, אָבער עס איז אין אונדזער פּרובירן. אבער אין דעם איין, זאָגן מיר ווילן עס פאָרשטעלן די וואָרט "וואַנע," וואָס כאַפּאַנז איז מיר נאָכגיין טהראָוגה-- ב, אַ, ה. מיר 'רע אין דעם מענגע, און מיר גיין צו זוכן פֿאַר ה. אין דעם פאַל, ווען מיר קוקן בייַ די טייַטל אין ה, עס ס פּוינטינג צו נאַל, גוט? אַזוי סייַדן עס ס בפירוש פּוינטינג צו אנדערן מענגע, איר יבערנעמען אַז אַלע די פּוינטערז אין דעם מענגע זענען פּוינטינג צו נאַל. אַזוי אין דעם פאַל, ה איז פּוינטינג צו נאַל אַזוי מיר קענען נישט טאָן עפּעס, אַזוי עס וואָלט אויך צוריקקומען פאַלש, "וואַנע" איז נישט אין דאָ. אַזוי איצט מיר רע פאקטיש געגאנגען צו גיין דורך ווי וואָלט מיר פאקטיש זאָגן אַז "גאָרטן" איז אין אונדזער פּרובירן. ווי טאָן מיר אַרייַנלייגן "גאָרטן" אין אונדזער פּרובירן? אַזוי אין דער זעלביקער וועג אַז מיר סטאַרטעד מיט אונדזער לינגקט רשימה, מיר אָנהייבן בייַ די וואָרצל. ווען אין צווייפל, אָנהייבן בייַ דער שורש פון די זאכן. און מיר וועט זאָגן, גוט, ז. ז יגזיסס אין דעם, און עס טוט. אזוי איר ניטאָ מאָווינג אויף צו דיין ווייַטער מענגע, גוט? און דעמאָלט אויף דער ווייַטער איינער, מיר זאָגן, גוט, טוט אָ עקסיסטירן? עס טוט. דעם ווידער. און אַזוי אויף אונדזער ווייַטער איינער, מיר ווע האט, גוט, "גאָרטן" שוין יגזיסס דאָ. אַלע מיר דאַרפֿן צו טאָן איז באַשטימט דעם גלייַך צו אמת, אַז עס איז אַ וואָרט דאָרט. אויב איר האט נאכגעגאנגען אַלץ אַרויף צו איידער אַז פונט, עס ס אַ וואָרט, אַזוי פּונקט שטעלן עס גלייַך צו אַזאַ. יא? וילעם: אזוי דעמאָלט טוט אַז מיינען אַז "באַ" איז אַ וואָרט אויך? רעדנער 1: ניין אַזוי אין דעם פאַל, "באַ" מיר וואָלט באַקומען דאָ, מיר וואָלט זאָגן איז עס אַ וואָרט, און עס וואָלט נאָך זיין קיין. גוט? ממהמם? וילעם: אזוי אַמאָל איר איז עס אַ וואָרט און איר זאָגן יאָ, דעמאָלט עס וועט אַנטהאַלטן צו גיין צו עם? רעדנער 1: אזוי דאָס איז צו טאָן וויטה-- איר ניטאָ לאָודינג דעם אין. איר זאָגן "גאָרטן" איז אַ וואָרט. ווען איר גיין צו טשעקק-- ווי, זאָגן איר ווילן צו זאָגן, טוט "גאָרטן" עקסיסטירן אין דעם ווערטערבוך? איר 'רע נאָר געגאנגען צו זוכן פֿאַר "גאָרטן," און דעמאָלט טשעק צו זען אויב עס ס אַ וואָרט. איר ניטאָ קיינמאָל געגאנגען צו מאַך דורך צו עם ווייל אַז ס ניט וואָס איר 'רע איר זוכט פֿאַר. אַזוי אויב מיר פאקטיש געוואלט צו לייג "וואַנע" אין דעם פּרובירן, מיר וואָלט טאָן די זעלבע זאַך ווי מיר האבן מיט "גאָרטן," אַחוץ מיר וואָלט זען אַז ווען מיר פּרובירן און באַקומען צו ה, עס טוט נישט עקסיסטירן. אזוי איר קענען טראַכטן פון דעם ווי טריינג צו לייגן אַ נייַ נאָדע אין אַ לינגקט רשימה, אַזוי מיר וואָלט דאַרפֿן צו לייגן אן אנדער איינער פון די ערייז, ווי אַזוי. און דעמאָלט וואָס מיר טאָן איז מיר נאָר שטעלן די ה עלעמענט פון דעם מענגע פּוינטינג צו דעם. און דעמאָלט וואָס וואָלט מיר ווילן צו טאָן דאָ? לייג עס גלייַך צו אמת ווייַל עס ס אַ וואָרט. קיל. איך וויסן. פרוווט זענען נישט די מערסט יקסייטינג. צוטרוי מיר, איך וויסן. אזוי איינער זאַך צו פאַרשטיין מיט פרוווט, איך געזאגט, זיי ניטאָ זייער עפעקטיוו. אַזוי מיר ווע געזען זיי נעמען אַרויף אַ טאָן פון אָרט. זיי ניטאָ מין פון קאַנפיוזינג. אַזוי וואָס וואָלט מיר אלץ נוצן די? מיר נוצן די ווייַל זיי רע ינקרעדאַבלי עפעקטיוו. אַזוי אויב איר ניטאָ אלץ קוקן אַרויף אַ וואָרט, איר זענען בלויז באַונדאַד דורך די לענג פון די וואָרט. אזוי אויב איר 'רע איר זוכט פֿאַר אַ וואָרט וואָס איז פון לענג פינף, איר 'רע נאָר אלץ געגאנגען צו האָבן צו מאַכן בייַ רובֿ פינף קאַמפּעראַסאַנז, גוט? אזוי עס מאכט עס בייסיקלי אַ קעסיידערדיק. ווי ינסערשאַן און לוקאַפּ זענען בייסיקלי קעסיידערדיק צייַט. אַזוי אויב איר קענען אלץ באַקומען עפּעס אין קעסיידערדיק צייַט, אַז ס ווי גוט ווי עס געץ. איר קענען ניט באַקומען בעסער ווי קעסיידערדיק צייַט פֿאַר די זאכן. אזוי אַז איז איינער פון די ריזיק פּלאַסיז פון פרוווט. אבער עס איז אַ פּלאַץ פון אָרט. אזוי איר מין פון האָבן צו באַשליסן וואָס ס מער וויכטיק צו איר. און אויף הייַנט ס קאָמפּיוטערס, די פּלאַץ אַז אַ פּרובירן זאל נעמען אַרויף אפֿשר טוט ניט ווירקן איר אַז פיל, אָבער אפֿשר איר ניטאָ דילינג מיט עפּעס אַז האט ווייַט, ווייַט מער זאכן, און אַ פּרובירן נאָר איז נישט גלייַך. יא? וילעם: וואַרטן, אַזוי איר האָבן 26 אותיות אין יעדער איין איינער? רעדנער 1: ממהמם. יאָ, איר האָבן 26. איר האָבן עטלעכע איז וואָרט מאַרקער און דעמאָלט איר האָבן 26 פּוינטערז אין יעדער איינער. און זיי ניטאָ פּאָינט-- וילעם: און יעדער 26, טאָן זיי יעדער האָבן 26? רעדנער 1: יא. און אַז ס וואָס, ווי איר קענען זען, עס יקספּאַנדז גאַנץ ראַפּאַדלי. אַלע רעכט. אַזוי מיר רע געגאנגען צו באַקומען אין ביימער, וועלכע איך פילן ווי איז גרינגער און וועט מיסטאָמע זיין אַ פייַן ביסל ריפּריוו פון פרוווט עס. אזוי אַלעווייַ רובֿ פון איר האָבן געזען אַ בוים איידער. ניט ווי די שיין אָנעס אַרויס, וואָס איך טאָן ניט וויסן אויב ווער עס יז געגאנגען ינ דרויסן לעצטנס. איך געגאנגען עפּל פּיקינג דעם אָפּרוטעג, און טאַקע מיין גאַש, עס איז געווען שיין. איך האט ניט וויסן בלעטער קען קוקן אַז שיין. אַזוי דעם איז נאָר אַ בוים, רעכט? עס ס נאָר עטלעכע נאָדע, און עס ווייזט צו אַ בינטל פון אנדערע נאָודז. ווי איר זען דאָ, דאָס איז מין פון אַ ריקערינג טעמע. נאָדעס פּוינטינג צו נאָודז איז מין פון די עסאַנס פון פילע דאַטן סטראַקטשערז. עס פּונקט דעפּענדס אויף ווי מיר האָבן זיי פונט צו יעדער אנדערער און ווי מיר דורך דורך זיי און ווי מיר אַרייַנלייגן זאכן אַז דאַטערמאַנז זייער פאַרשידענע קעראַקטעריסטיקס. אזוי נאָר עטלעכע טערמינאָלאָגיע, וואָס איך ווע געניצט פאר. אַזוי שורש איז וועלכער איז בייַ די זייער שפּיץ. עס ס ווו מיר שטענדיק אָנהייב. איר קענען טראַכטן פון עס ווי די קאָפּ אויך. אבער פֿאַר ביימער, מיר טענד צו אָפּשיקן צו עס ווי די שורש. עפּעס בייַ די דנאָ הערע-- בייַ די זייער, זייער באָטטאָמ-- זענען געהאלטן בלעטער. אזוי עס גייט צוזאמען מיט די גאַנץ בוים זאַך, רעכט? בלעטער זענען בייַ די עדזשאַז פון אייער בוים. און דעמאָלט מיר אויך האָבן אַ פּאָר פון טערמינען צו רעדן וועגן נאָודז אין באַציונג צו יעדער אנדערער. אזוי מיר האָבן פאָטער, קינדער, און סיבלינגז. אַזוי אין דעם פאַל, 3 איז דער פאָטער פון 5, 6, און 7. אַזוי דער פאָטער איז וועלכער איז איין שריט אויבן וועלכער איר ניטאָ ריפערינג צו, אַזוי פּונקט ווי אַ משפּחה בוים. אַלעווייַ, דעם איז אַלע אַ ביסל ביסל מער ינטואַטיוו ווי די פרוווט. סיבלינגז זענען קיין אַז האָבן דער זעלביקער פאָטער, רעכט? זיי ניטאָ אויף דער זעלביקער מדרגה דאָ. און דעמאָלט, ווי איך איז געווען געזאגט, קינדער זענען בלויז וועלכער איז איין שריט ווייטער די נאָדע אין קשיא, גוט? קיל. אזוי אַ ביינערי בוים. קענען ווער עס יז ריזיקירן אַ טרעפן אויף איינער פון די קעראַקטעריסטיקס פון די ביינערי בוים? וילעם: מאַקס צוויי בלעטער. רעדנער 1: רעכט. אזוי מאַקס פון צוויי בלעטער. אַזוי אין דעם איין איידער, מיר האט דעם איין וואס האט דרייַ, אָבער אין אַ ביינערי בוים, איר האָבן אַ מאקס פון צוויי קינדער פּער פאָטער, רעכט? עס ס אנדערן טשיקאַווע קוואַליטעט. טוט ווער עס יז וויסן וואָס? ביינערי בוים. אזוי אַ ביינערי בוים וועט האָבן אַלץ אויף טהע-- דעם איינער איז ניט סאָרטעד-- אָבער אין אַ אויסגעשטעלט ביינערי בוים, אַלץ אויף די רעכט איז גרעסער ווי דער פאָטער, און אַלץ אויף די לינקס איז ווייניקער ווי דער פאָטער. און אַז האט שוין אַ ויספרעג קשיא פריער, אַזוי גוט צו וויסן. אַזוי די וועג מיר דעפֿינירן דעם, ווידער, מיר האָבן אן אנדער נאָדע. דאס קוקט זייער ענלעך צו וואָס? דאַבלי וילעם: לינקעד רשימות רעדנער 1: א טאָפּל לינגקט רשימה, רעכט? אזוי אויב מיר פאַרבייַטן דעם מיט פרייַערדיק און ווייַטער, דעם וואָלט זיין אַ דאַבלי לינגקט רשימה. אבער אין דעם פאַל, מיר פאקטיש האָבן לינקס און רעכט און אַז ס עס. אַנדערש, עס ס פּונקט דער זעלביקער. מיר נאָך האָבן די עלעמענט איר 'רע איר זוכט פֿאַר, און איר נאָר האָבן צוויי פּוינטערז געגאנגען צו וועלכער ס ווייַטער. יאָ, אַזוי ביינערי זוכן בוים. אויב מיר באַמערקן, אַלץ אויף די רעכט דאָ איז גרעסער טהאַנ-- אָדער אַלץ מיד צו די רעכט דאָ איז גרעסער ווי, אַלץ דאָ איז ווייניקער ווי. אַזוי אויב מיר זענען געווען צו זוכן דורך, עס זאָל קוקן זייער נאָענט צו ביינערי זוכן דאָ, רעכט? חוץ אַנשטאָט פון קוקן אין העלפט די מענגע, מיר זענען בלויז קוקן בייַ יעדער די לינקס זייַט אָדער די רעכט זייַט פון די בוים. אזוי עס געץ אַ ביסל סימפּלער, איך טראַכטן. אזוי אויב דיין שורש איז נאַל, דאָך עס ס נאָר פאַלש. און אויב עס ס דאָרט, דאָך עס ס אמת. אויב עס ס ווייניקער ווי, מיר זוכן די לינקס. אויב עס ס גרעסער ווי, מיר זוכן די רעכט. עס ס פּונקט ווי ביינערי זוכן, נאָר אַ אַנדערש דאַטן סטרוקטור וואָס מיר 'רע ניצן. אַנשטאָט פון אַ מענגע, עס ס נאָר אַ ביינערי בוים. גוט, סטאַקס. און אויך, עס קוקט ווי מיר זאל האָבן אַ קליין ביסל פון צייַט. אויב מיר טאָן, איך בין צופרידן צו גיין איבער קיין פון דעם ווידער. גוט, אַזוי סטאַקס. טוט ווער עס יז געדענקען וואָס סטאַקקס-- קיין טשאַראַקטעריסטיקס פון אַ אָנלייגן? גוט, אַזוי רובֿ פון אונדז, איך טראַכטן, עסן אין די דיינינג האַללס-- ווי פיל ווי מיר קען ניט ווי צו. אבער דאָך, איר קענען טראַכטן פון אַ אָנלייגן ממש נאָר ווי אַ אָנלייגן פון טרייַס אָדער אַ אָנלייגן פון זאכן. און וואָס ס וויכטיק צו פאַרשטיין איז אַז עס ס סאָמעטהינג-- די כאַראַקטעריסטיש וואָס מיר רופן עס בי-- איז ליפאָ. טוט ווער עס יז וויסן וואָס אַז שטייט פֿאַר? ממהמם? וילעם: לעצטע אין, ערשטער אויס. רעדנער 1: רעכט, לעצט אין, ערשטער אויס. אזוי אויב מיר וויסן, אויב מיר ניטאָ סטאַקינג זאכן אַרויף, די יזיאַסט זאַך צו כאַפּן אָפפ-- און אפֿשר די בלויז זאַך מיר קענען כאַפּן אַוועק אויב אונדזער אָנלייגן איז גרויס ענאָוגה-- איז אַז העכסט עלעמענט. אַזוי וועלכער איז געווען שטעלן אויף לאַסט-- ווי מיר זען דאָ, וועלכער איז פּושט אויף רובֿ רעסענטלי-- איז געגאנגען צו זייַן דער ערשטער זאַך אַז מיר קנאַל אַוועק, גוט? אזוי וואָס מיר האָבן דאָ איז אן אנדער טיפּעדעף סטרוקט. דאס איז טאַקע נאָר ווי אַ קראַך קורס אין דאַטן סטרוקטור, אַזוי עס ס אַ פּלאַץ ארלנגעווארפן בייַ איר גייז. איך וויסן. אזוי נאָך אנדערן סטרוקט. יייַ פֿאַר סטראַקטשערז. און אין דעם פאַל, עס ס עטלעכע טייַטל צו אַ מענגע אַז האט עטלעכע קאַפּאַציטעט. אַזוי דעם רעפּראַזענץ אונדזער אָנלייגן דאָ, ווי אונדזער פאַקטיש מענגע אַז ס האלטן אונדזער עלעמענטן. און דעריבער דאָ מיר האָבן עטלעכע גרייס. און טיפּיקלי, איר ווילן צו האַלטן שפּור פון ווי גרויס דיין אָנלייגן איז ווייַל וואָס עס ס געגאנגען צו לאָזן איר צו טאָן איז אויב איר וויסן די גרייס, עס אַלאַוז איר צו זאָגן, גוט, בין איך בייַ קאַפּאַציטעט? קענען איך לייגן עפּעס מער? און עס אויך דערציילט איר ווו די שפּיץ פון דיין אָנלייגן איז אַזוי איר וויסן וואָס איר קענען פאקטיש נעמען אַוועק. און אַז ס פאקטיש געגאנגען צו זייַן אַ ביסל מער קלאָר דאָ. אזוי פֿאַר שטופּן, איין זאַך, אויב איר האבן אלץ צו מאַכשער שטופּן, ווי איך איז געווען נאָר געזאגט, דיין אָנלייגן האט אַ באגרענעצט גרייס, רעכט? אונדזער מענגע האט עטלעכע קאַפּאַציטעט. עס ס אַ מענגע. עס ס אַ פאַרפעסטיקט גרייס, אַזוי מיר דאַרפֿן צו מאַכן זיכער אַז מיר 'רע ניט פּאַטינג מער אין אונדזער מענגע ווי מיר פאקטיש האָבן פּלאַץ פֿאַר. אַזוי ווען איר ניטאָ קריייטינג אַ רוק פונקציע, ערשטער זאַך איר טאָן איז זאָגן, גוט, טאָן איך האָבן אָרט אין מיין אָנלייגן? ווייַל אויב איך טאָן ניט, נעבעכדיק, איך קענען נישט קראָם דיין עלעמענט. אויב איך טאָן, דעמאָלט איר ווילן צו קראָם עס בייַ די שפּיץ פון דעם אָנלייגן, רעכט? און דעם איז וואָס מיר האָבן צו האַלטן שפּור פון אונדזער גרייס. אויב מיר טאָן ניט האַלטן שפּור פון אונדזער גרייס, מיר טאָן ניט וויסן ווו צו שטעלן עס. מיר טאָן ניט וויסן ווי פילע זאכן זענען אין אונדזער מענגע שוין. ווי דאָך עס זענען וועגן אַז אפֿשר איר געקענט טאָן עס. איר קען ינישאַלייז אַלץ צו נאַל און דעמאָלט טשעק פֿאַר די לעצט נאַל, אָבער אַ פיל גרינגער זאַך איז נאָר צו זאָגן, גוט, האַלטן שפּור פון גרייס. ווי איך וויסן איך האָבן פיר יסודות אין מיין מענגע, אַזוי די ווייַטער זאַך וואָס מיר שטעלן אויף, מיר רע געגאנגען צו קראָם בייַ אינדעקס 4. און דעריבער, פון קורס, דעם מיטל אַז איר ווע הצלחה פּושט עפּעס אַנטו דיין אָנלייגן, איר ווילן צו פאַרגרעסערן די גרייס אַזוי אַז איר וויסן ווו איר זענען אַזוי אַז איר קענען שטופּן מער זאכן אויף. אַזוי אויב מיר זענען טריינג צו קנאַל עפּעס אַוועק די אָנלייגן, וואָס זאל זייַן דער ערשטער זאַך וואָס מיר ווילן צו טשעק פֿאַר? איר 'רע טריינג צו נעמען עפּעס אַוועק דיין אָנלייגן. ביסט איר זיכער עס ס עפּעס אין דיין אָנלייגן? ניין אזוי וואָס זאל מיר ווילן צו טשעק? וילעם: [ינאָדאַבאַל]. רעדנער 1: קוק פֿאַר די גרייס? גרייס. אַזוי מיר ווילן צו טשעק צו זען אויב אונדזער גרייס איז גרעסער ווי 0, גוט? און אויב עס איז, דעריבער מיר ווילן צו פאַרמינערן אונדזער גרייס דורך 0 און קריק אַז. פארוואס? אין דער ערשטער איינער מיר זענען פּושינג, מיר פּושט עס אַנטו גרייס און דעמאָלט דערהייַנטיקט גרייס. אין דעם פאַל, מיר רע דעקרעמענטינג גרייס און דעמאָלט גענומען עס אַוועק, פּלאַקינג עס פון אונדזער מענגע. פארוואס זאל מיר טאָן וואָס? אַזוי אויב איך האָבן איין זאַך אויף מיין אָנלייגן, וואָס וואָלט זייַן מיין גרייס בייַ אַז פונט? 1. און ווו איז עלעמענט 1 סטאָרד? אין וואָס אינדעקס? וילעם: 0. רעדנער 1: 0. אַזוי אין דעם פאַל, מיר שטענדיק דאַרפֿן צו מאַכן סורע-- אַנשטאָט פון אומגעקערט גרייס מינוס 1, ווייַל מיר וויסן אַז אונדזער עלעמענט איז געגאנגען צו זייַן סטאָרד בייַ 1 ווייניקער וועלכער אונדזער גרייס איז, דעם נאָר נעמט זאָרג פון עס. עס ס אַ ביסל מער עלעגאַנט וועג. און מיר נאָר דעקרעמענט אונדזער גרייס און דעמאָלט צוריקקומען גרייס. ממהמם? וילעם: איך טרעפן נאָר אין אַלגעמיין, פארוואס וואָלט דעם דאַטן סטרוקטור זיין וווילטויק? רעדנער 1: עס דעפּענדס אויף דיין קאָנטעקסט. אזוי פֿאַר עטלעכע פון ​​די טעאָריע, אויב איר 'רע ארבעטן וויטה-- גוט, לאָזן מיר זען אויב עס איז אַ וווילטויק איינער וואָס איז וווילטויק צו מער ווי אַרויס פון קס. מיט סטאַקס, קיין צייַט איר דאַרפֿן צו האַלטן שפּור פון עפּעס אַז איז די מערסט לעצטנס צוגעלייגט איז ווען איר 'רע געגאנגען צו ווילן צו נוצן אַ אָנלייגן. און איך קענען נישט טראַכטן פון אַ גוט בייַשפּיל פון וואָס רעכט איצט. אבער ווען די מערסט פריש זאַך איז מערסט וויכטיק צו איר, אַז ס ווען אַ אָנלייגן איז געגאנגען צו זיין נוצלעך. איך בין טריינג צו טראַכטן אויב עס ס אַ גוט איינער פֿאַר דעם. אויב איך טראַכטן פון אַ גוט בייַשפּיל אין די ווייַטער 20 מינוט, איך וועט באשטימט דערציילן איר. אבער קוילעלדיק, אויב עס ס עפּעס, ווי איך האט געזאגט רובֿ, ווו רובֿ פריש איז מערסט וויכטיק, אַז ס ווו אַ אָנלייגן קומט אין שפּיל. ווהערעאַס קיוז זענען מין פון דער פאַרקערט. און אַלע די הינט. איז ניט דאָס גרויס, רעכט? איך פילן ווי איך זאָל נאָר האָבן אַ קיניגל ווידעא רעכט אין דער מיטן פון אָפּטיילונג פֿאַר איר גייז ווייַל דעם איז אַ טיף אָפּטיילונג. אזוי אַ ריי. באַסיקאַללי אַ ריי איז ווי אַ שורה. איר גייז איך בין זיכער נוצן דעם וואָכעדיק, פּונקט ווי אין אונדזער דיינינג האַללס. אַזוי מיר האָבן צו גיין אין און באַקומען אונדזער טרייַס, איך בין זיכער איר האָבן צו וואַרטן אין שורה צו לאַקכענען אָדער באַקומען אייער שפּייַז. אזוי די חילוק דאָ איז אַז דעם איז פיפאָ. אזוי אויב ליפאָ איז לעצט אין, ערשטער אויס, פיפאָ איז ערשטער אין, ערשטער אויס. אזוי דעם איז ווו וועלכער איר שטעלן אויף ערשטער איז דיין רובֿ וויכטיק. אזוי אויב איר זענען ווארטן אין אַ לינע-- קענען איר ימאַדזשאַן אויב איר זענען צו גיין באַקומען די נייַ יפאָנע און עס איז געווען אַ אָנלייגן ווו די לעצטע מענטש אין שורה גאַט עס ערשטער, מען וואָלט טייטן יעדער אנדערע. אזוי פיפאָ, מיר ניטאָ אַלע זייער באַקאַנט מיט אין דער עמעס וועלט דאָ, און עס אַלע האט צו טאָן מיט פאקטיש מין פון רעקריייטינג דעם גאנצע שורה און קיוינג ביניען. אַזוי וועראַז מיט די אָנלייגן, מיר האָבן שטופּן און קנאַל. מיט אַ ריי, מיר האָבן ענקוועוע און דעקוועוע. אזוי ענקוועוע בייסיקלי מיטל שטעלן עס אַנטו די צוריק, און דעקוועוע מיטל נעמען אַוועק פון די פראָנט. אזוי אונדזער דאַטן סטרוקטור איז אַ קליין ביסל מער קאָמפּליצירט. מיר האָבן אַ רגע זאַך צו האַלטן שפּור פון. אַזוי אָן די קאָפּ, דעם איז פּונקט אַ אָנלייגן, רעכט? דאס איז די זעלבע סטרוקטור ווי אַ אָנלייגן. דער בלויז זאַך אַנדערש איצט איז מיר האָבן דעם קאָפּ, וואָס וואָס טאָן איר טראַכטן איז געגאנגען צו האַלטן שפּור פון? וילעם: דער ערשטער איינער. רעדנער 1: רעכט, די ערשטער זאַך אַז מיר שטעלן אין. די קאָפּ פון אונדזער ריי. ווער ס ערשטער אין שורה. אַלע רעכט, אַזוי אויב מיר טאָן ענקוועוע. ווידער, מיט קיין פון די דאַטן סטראַקטשערז, זינט מיר רע דילינג מיט אַ מענגע, מיר דאַרפֿן צו טשעק אויב מיר האָבן פּלאַץ. דאס איז מין פון ווי מיר טעלינג איר גויס, אויב איר עפענען אַ טעקע, איר דאַרפֿן צו קאָנטראָלירן פֿאַר נאַל. מיט קיין פון די סטאַקס און קיוז, איר דאַרפֿן צו זען אויב עס ס פּלאַץ ווייַל מיר רע דילינג מיט אַ פאַרפעסטיקט גרייס מענגע, ווי מיר זען הערע-- 0, 1 אַלע אַרויף צו 5. אַזוי וואָס מיר טאָן אין אַז פאַל איז טשעק צו זען אויב מיר נאָך האָבן פּלאַץ. איז אונדזער גרייס ווייניקער ווי קאַפּאַציטעט? אויב אַזוי, מיר דאַרפֿן צו קראָם עס אין די עק און מיר דערהייַנטיקן אונדזער גרייס. אזוי וואָס זאל די עק זיין אין דעם פאַל? עס ס ניט בפירוש געשריבן אויס. ווי וואָלט מיר קראָם עס? וואָס וואָלט דער עק זיין? אַזוי לאָזן ס גיין דורך דעם בייַשפּיל. אַזוי דעם איז אַ מענגע פון ​​גרייס 6, רעכט? און מיר האָבן רעכט איצט, אונדזער גרייס איז 5. און ווען מיר שטעלן עס אין, עס ס געגאנגען צו גיין אין די פינפט אינדעקס, רעכט? אזוי קראָם בייַ עק. אן אנדער וועג צו שרייַבן עק וואָלט נאָר זיין אונדזער מענגע בייַ אינדעקס פון גרייס, רעכט? דאס איז גרייס 5. ווייַטער זאַך איז געגאנגען צו גיין אין 5. קיל? גוט. עס געץ אַ ביסל מער קאָמפּליצירט ווען מיר אָנהייבן מעסינג מיט די קאָפּ. יא? וילעם: טוט וואָס מיינען אַז מיר וואָלט האָבן דערקלערט אַ מענגע אַז איז געווען פינף עלעמענטן לאַנג און דעמאָלט מיר רע אַדינג אַנטו עס? רעדנער 1: ניין אַזוי אין דעם פאַל, דעם איז אַ אָנלייגן. דאס וואָלט זייַן דערקלערט ווי אַ מענגע פון ​​גרייס 6. און אין דעם פאַל, מיר נאָר האָבן איינער פּלאַץ לינקס. גוט, אַזוי איין זאַך איז אין דעם פאַל, אויב אונדזער קאָפּ איז בייַ 0, דעמאָלט מיר נאָר קענען לייגן עס בייַ גרייס. אבער עס געץ אַ ביסל טריקיער ווייַל אַקטשאַוואַלי, זיי טאָן ניט האָבן אַ גליטש פֿאַר דעם, אַזוי איך בין געגאנגען צו ציען איינער ווייַל עס ס ניט גאַנץ אַז פּשוט אַמאָל איר אָנהייב געטינג באַפרייַען פון זאכן. אזוי כוועראַז מיט אַ אָנלייגן איר נאָר אלץ האָבן צו זאָרג וועגן וואָס די גרייס איז ווען איר ניטאָ אַדינג עפּעס אויף, מיט אַ ריי איר אויך דאַרפֿן צו מאַכן זיכער אַז דיין קאָפּ איז אַקאַונאַד פֿאַר, ווייַל אַ קיל זאַך וועגן קיוז איז אַז אויב איר ניטאָ ניט בייַ קאַפּאַציטעט, איר קענען פאקטיש מאַכן עס ייַנוויקלען אַרום. גוט, אַזוי איינער טהינג-- טאַקע, דעם איז שרעקלעך קרייַד. איין זאַך צו באַטראַכטן איז דער פאַל. מיר וועט נאָר טאָן פינף. גוט, אַזוי מיר רע געגאנגען צו זאָגן די קאָפּ איז דאָ. דאס איז 0, 1, 2, 3, 4. די קאָפּ ס דאָרט, און ביטע האָבן זאכן אין זיי. און מיר ווילן צו לייגן עפּעס אין, רעכט? אזוי די זאַך אַז מיר דאַרפֿן צו וויסן איז אַז די קאָפּ איז שטענדיק געגאנגען צו מאַך דעם וועג און דעמאָלט שלייף צוריק אַרום, גוט? אזוי דעם ריי האט פּלאַץ, רעכט? עס האט פּלאַץ אין די זייער אָנהייב, מין פון די פאַרקערט פון דעם. אַזוי וואָס מיר דאַרפֿן צו טאָן איז מיר דאַרפֿן צו רעכענען די עק. אויב איר וויסן אַז דיין קאָפּ האט ניט אריבערגעפארן, עק איז נאָר דיין מענגע בייַ דער אינדעקס פון דעם גרייס. אבער אין פאַקט, אויב איר ניטאָ ניצן אַ ריי, דיין קאָפּ איז מיסטאָמע זייַענדיק דערהייַנטיקט. אַזוי וואָס איר דאַרפֿן צו טאָן איז פאקטיש רעכענען די עק. אַזוי וואָס מיר טאָן איז דעם פאָרמולע דאָ, וואָס איך בין געגאנגען צו לאָזן איר גויס טראַכטן וועגן, און דעמאָלט מיר וועט רעדן וועגן עס. אזוי דעם איז קאַפּאַציטעט. אזוי דעם וועט אַקשלי געבן איר אַ וועג צו טאָן עס. ווייַל אין דעם פאַל, וואָס? אונדזער קאָפּ איז בייַ 1, אונדזער גרייס איז 4. אויב מיר מאָד אַז דורך 5, מיר באַקומען 0, וואָס איז ווו מיר זאָל אַרייַנשרייַב עס. אַזוי דעמאָלט אין די ווייַטער פאַל, אויב מיר זענען צו טאָן דעם, מיר זאָגן, גוט, לאָזן ס דעקוועוע עפּעס. מיר דעקוועוע דעם. מיר נעמען אויס דעם עלעמענט, רעכט? און איצט אונדזער הויפּט איז פּוינטינג דאָ, און מיר ווילן צו לייגן אין אנדערן זאַך. דעם איז בייסיקלי די צוריק פון אונדזער שורה, רעכט? קיוז קענען ייַנוויקלען אַרום די מענגע. אַז ס איינער פון די הויפּט דיפעראַנסיז. סטאַקס, איר קענען ניט טאָן דעם. מיט קיוז, איר קענען ווייַל אַלע אַז זאכן איז אַז איר וויסן וואָס איז רובֿ לעצטנס צוגעלייגט. זינט אַלץ איז געגאנגען צו זיין מוסיף אין דעם לעפטוואַרד ריכטונג, אין דעם פאַל, און דעמאָלט ייַנוויקלען אַרום, איר קענען פאָרזעצן פּאַטינג אין נייַ עלעמענטן בייַ די פראָנט פון די מענגע ווייַל עס ס ניט טאַקע די פראָנט פון די מענגע ענימאָר. איר קענען טראַכטן פון די אָנהייב פון די מענגע ווי ווו דיין קאָפּ אַקשלי איז. אזוי דעם פאָרמולע איז ווי איר רעכענען דיין עק. טוט אַז מאכט זינען? גוט. גוט, דעקוועוע, און דעמאָלט איר גייז האָבן 10 מינוט צו פרעגן מיר קיין קלעראַפייינג שאלות איר ווילן, ווייַל איך וויסן עס ס משוגע. אַלע רעכט, אַזוי אין דער זעלביקער ווייַ-- איך טאָן ניט וויסן אויב איר גייז באמערקט, אָבער קס איז אַלע וועגן פּאַטערנז. זאכן זענען שיין פיל דער זעלביקער, נאָר מיט קליינטשיק טוויקס. אַזוי זעלביקער זאַך דאָ. מיר דאַרפֿן צו טשעק צו זען אויב מיר פאקטיש האָבן עפּעס אין אונדזער ריי, רעכט? זאָגן, גוט, איז אונדזער גרייס גרעסערע ווי 0? קיל. אויב מיר טאָן, דעמאָלט מיר מאַך אונדזער קאָפּ, וואָס איז וואָס איך נאָר דעמאַנסטרייטיד דאָ. מיר דערהייַנטיקן אונדזער קאָפּ צו זיין איינער מער. און דעמאָלט מיר דעקרעמענט אונדזער גרייס און צוריקקומען די עלעמענט. עס איז פיל מער קאָנקרעט קאָד אויף study.cs50.net, און איך העכסט רעקאָמענדירן געגאנגען דורך עס אויב איר האָבן צייַט, אפילו אויב עס ס נאָר אַ פּסעוודאָ-קאָד. און אויב איר גייז ווילן צו רעדן דורך וואָס מיט מיר איינער אויף איין, ביטע לאָזן מיר וויסן. איך'ד זיין צופרידן צו. דאַטאַ סטראַקטשערז, אויב איר נעמען קס 124, איר וועט וויסן אַז דאַטן סטראַקטשערז באַקומען זייער שפּאַס און דאָס איז נאָר אָנהייב. אַזוי איך וויסן עס ס שווער. עס ס גוט. מיר געראַנגל. איך נאָך טאָן. אַזוי טאָן ניט זאָרג צו פיל וועגן עס. אבער אַז איז בייסיקלי דיין קראַך קורס אין דאַטן סטראַקטשערז. איך וויסן עס ס אַ פּלאַץ. איז עס עפּעס אַז מיר וואָלט ווי צו גיין איבער ווידער? עפּעס מיר ווילן צו רעדן דורך? יא? וילעם: פֿאַר אַז בייַשפּיל, אַזוי די נייַ עק איז בייַ 0 איבער וואָס? רעדנער 1: יא. וילעם: גוט. אַזוי דעמאָלט געגאנגען דורך, איר'ד האָבן 1 פּלוס 4 אָר-- רעדנער 1: אזוי איר זענען געזאגט, ווען מיר וועלן צו גיין טאָן דעם ווידער? וילעם: יאָ. אזוי אויב איר זענען פיגיערינג אָוט-- ווו ביסט איר קאַלקיאַלייטינג די עק פון אין אַז? רעדנער 1: אזוי די עק איז ינ-- איך פארענדערט דעם. אַזוי אין דעם בייַשפּיל דאָ, דאָס איז געווען די מענגע מיר ניטאָ קוקן בייַ, גוט? אזוי מיר האָבן זאכן אין 1, 2, 3, און 4. אַזוי מיר האָבן אונדזער קאָפּ איז גלייַך צו 1 בייַ דעם פונט, און אונדזער גרייס איז גלייַך צו 4 בייַ דעם פונט, רעכט? איר אַלע שטימען אַז ס דער פאַל? אַזוי מיר טאָן די הויפּט פּלוס די גרייס, וואָס גיט אונדז 5, און דעמאָלט מיר מאָד דורך 5. מיר באַקומען 0, וואָס דערציילט אונדז אַז 0 איז ווו איז אונדזער עק, ווו מיר האָבן פּלאַץ. וילעם: וואָס ס אַ היטל? רעדנער 1: די קאַפּאַציטעט. אנטשולדיגט. אזוי וואָס איז די גרייס פון דיין מענגע. יא? וילעם: [ינאָדאַבאַל] איידער מיר צוריקקומען די עלעמענט? רעדנער 1: אזוי מיר מאַך די קאָפּ אָדער קריק דער מאָמענט? אזוי אויב מיר מאַך איין, דעקרעמענט די גרייס? כאַפּ אויף. איך באשטימט Forgot אנדערן. קיינמאָל מיינונג. עס איז ניט אנדערן פאָרמולע. יאָ, איר וואָלט ווילן צו צוריקקומען די קאָפּ און דעמאָלט אַריבערפירן עס צוריק. וילעם: גוט, ווייַל אין דעם פונט, די קאָפּ איז בייַ 0, און דעמאָלט איר ווילן צו צוריקקומען אינדעקס 0 און דעמאָלט מאַכן קאָפּ 1? רעדנער 1: רעכט. איך טראַכטן עס ס אנדערן פאָרמולע מין פון ווי דעם. איך טאָן ניט האָבן עס אויף די שפּיץ מיין קאָפּ ווי איך טאָן ניט ווילן צו געבן איר די אומרעכט איינער. אבער איך טראַכטן עס ס בישליימעס גילטיק צו זאָגן, גוט, קראָם דעם עלעמענט-- וועלכער קאָפּ ס עלעמענט יס-- דעקרעמענט דיין גרייס, מאַך דיין קאָפּ איבער, און צוריקקומען וועלכער אַז עלעמענט איז. אַז ס בישליימעס גילטיק. גוט. איך פילן ווי דעם איז ניט ווי די מאָסט-- איר ניטאָ ניט געגאנגען צו גיין אויס פון דאָ ווי, יאָ, איך וויסן פרוווט. איך גאַט עס אַלע. אַז ס גוט. איך צוזאָג. אבער דאַטן סטראַקטשערז זענען עפּעס אַז עס נעמט אַ פּלאַץ פון צייַט צו באַקומען געניצט צו. מיסטאָמע איינער פון די כאַרדאַסט זאכן, איך טראַכטן, אין דעם קורס. אזוי עס באשטימט נעמט יבערכאַזערונג און זוכט אַט-- איך האט ניט טאַקע וויסן לינגקט רשימות ביז איך האט ווייַט צו פיל מיט זיי, אין דער זעלביקער וועג אַז איך האט ניט טאַקע פֿאַרשטיין פּוינטערז ביז איך ווע האט צו לערנען עס פֿאַר צוויי יאר און טאָן מיין אייגן פּסעץ מיט עס. עס נעמט אַ פּלאַץ פון רעיטעראַטיאָן און צייַט. און יווענטשאַוואַלי, עס וועט מין פון גיט. אבער אין דער דערווייל, אויב איר האָבן מין פון אַ הויך מדרגה פארשטאנד פון וואָס די טאָן, זייער פּראָס און קאָנס-- וואָס איז וואָס מיר טאַקע טענד צו ונטערשטרייַכן, ספּעציעל אין די ינטראָו קורס. ווי, וואָס וואָלט מיר נוצן אַ פּרובירן איבער אַ מענגע? ווי, וואָס זענען די פּאַזאַטיווז און נעגאַטיוועס פון יעדער פון יענע? און פארשטאנד די האַנדל-אָפס צווישן יעדער פון די סטראַקטשערז איז וואָס ס פיל מער וויכטיק רעכט איצט. עס קען זיין איינער משוגע קשיא אָדער צוויי וואָס ס געגאנגען צו פרעגן איר צו מאַכשער שטופּן אָדער מאַכשער קנאַל אָדער ענקוועוע און דעקוועוע. אבער פֿאַר די רובֿ טייל, ווייל אז העכער מדרגה פארשטאנד און מער פון אַ ינטואַטיוו אָנכאַפּן איז מער וויכטיק ווי פאקטיש זייַענדיק קענען צו מאַכשער עס. עס איר'ד זיין טאַקע אָסאַם אויב אַלע פון ​​איר קען גיין אויס און גיין מאַכשער אַ פּרובירן, אָבער מיר פֿאַרשטיין עס ס ניט דאַווקע די מערסט גלייַך זאַך רעכט איצט. אבער איר קענען אין דיין פּסעט, אויב איר ווילן צו, און דעמאָלט איר וועט באַקומען פיר, און דעריבער אפֿשר איר וועט טאַקע פֿאַרשטיין עס. יא? וילעם: גוט, אַזוי וואָס אָנעס זענען מיר מענט צו נוצן אין די פּסעט? צי איך דאַרפֿן צו נוצן איין פון זיי? רעדנער 1: יא. אזוי איר האָבן דיין ברירה. איך טרעפן אין דעם פאַל, מיר קענען רעדן וועגן די פּסעט אַ קליין ביסל ווייַל איך געלאפן דורך די. אַזוי אין דיין פּסעט, איר האָבן דיין ברירה פון פרוווט אָדער האַש טישן. עטלעכע מענטשן וועט פּרובירן און נוצן בליען פילטערס, אָבער יענע טעקניקלי זענען נישט ריכטיק. ווייַל פון זייער פּראָבאַביליסטיק נאַטור, זיי געבן פאַלש פּאַזאַטיווז מאל. זיי ניטאָ קיל קוקן אין, כאָטש. העכסט רעקאָמענדירן קוקן בייַ זיי בייַ מינדסטער. אבער איר האָבן דיין ברירה צווישן אַ האַש טיש און אַ פּרובירן. און אַז ס געגאנגען צו זייַן ווו איר מאַסע אין דיין ווערטערבוך. און איר וועט דאַרפֿן צו קלייַבן דיין האַש פונקציאָנירן, איר וועט דאַרפֿן צו קלייַבן ווי פילע באַקאַץ איר האָבן, און עס וועט בייַטן. ווי אויב איר האָבן מער באַקאַץ, אפֿשר עס וועט לויפן פאַסטער. אבער אפֿשר איר ניטאָ ווייסטינג אַ פּלאַץ פון פּלאַץ אַז וועג, כאָטש. איר האָבן צו רעכענען עס אויס. ממהמם? וילעם: איר האט פריער אז מיר קענען נוצן אנדערע האַש פאַנגקשאַנז, וואָס מיר טאָן ניט האָבן צו שאַפֿן אַ האַש פונקציאָנירן? רעדנער 1: יא, רעכט. אזוי ממש פאר דיין האַש פונקציאָנירן, ווי גוגל "האַש פונקציאָנירן" און קוקן פֿאַר עטלעכע קיל אָנעס. איר זענען נישט דערוואַרט צו בויען דיין אייגן האַש פאַנגקשאַנז. מענטשן פאַרברענגען זייער טעזיסן אויף די זאכן. אַזוי טאָן ניט זאָרג וועגן בנין אייער אייגן. געפֿינען איינער אָנליין צו אָנהייבן מיט. עטלעכע פון ​​זיי איר האָבן צו מאַניפּולירן אַ קליין ביסל צו מאַכן זיכער צוריקקומען טייפּס גלייַכן אַרויף און וואַטנאַט, אַזוי אין די אָנהייב, איך וואָלט רעקאָמענדירן ניצן עפּעס טאַקע גרינג אַז אפֿשר נאָר כאַשאַז אויף דער ערשטער בריוו. און דעמאָלט אַמאָל איר האָבן וואָס ארבעטן, ינקאָרפּערייטינג אַ קולער האַש פונקציאָנירן. ממהמם? וילעם: צי וואָלט אַ פּרובירן זייַן אָדער עפעקטיוו אָבער נאָר האַרדער צו, ליקע-- רעדנער 1: אזוי אַ פּרובירן, איך טראַכטן, איז ינטויטיוולי שווער צו מאַכשער אָבער איז זייער פעסט. אָבער, נעמט אַרויף מער פּלאַץ. ווידער, איר קענען אַפּטאַמייז ביידע פון ​​די אין פאַרשידענע וועגן און דאָרט זענען וועגן טאָ-- וילעם: ווי זענען מיר גריידיד אויף דעם? טוט עס מאַטטער-- רעדנער 1: אזוי איר ניטאָ גריידיד נאָרמאַל וועג. איר 'רע געגאנגען צו זייַן גריידיד אויף פּלאַן. וועלכער וועג איר טאָן, איר ווילן צו מאַכן זיכער עס ס ווי עלעגאַנט ווי עס קענען זיין און ווי עפעקטיוו ווי עס קענען זיין. אבער אויב איר קלייַבן אַ פּרובירן אָדער האַש טיש, ווי לאַנג ווי עס אַרבעט, מיר רע צופרידן מיט וואס. און אויב איר נוצן עפּעס אַז כאַשאַז אויף דער ערשטער בריוו, אַז ס פייַן, ווי אפֿשר ווי פּלאַן-קלוג. מיר 'רע אויך ריטשינג די פונט אין דעם סעמעסטער-- איך טאָן ניט וויסן אויב איר גויס נאָטיסעד-- אויב איר 'רע פּסעט גראַדעס אַראָפּגיין אַ ביסל ביסל ווייַל פון פּלאַן און וואַטנאַט, אַז ס בישליימעס פייַן. עס ס געטינג צו אַ פונט ווו דיין מגילה זענען געטינג מער קאָמפּליצירט. עס זענען מער ערטער איר קענען פֿאַרבעסערן אויף. אַזוי עס ס בישליימעס נאָרמאַל. עס ס ניט אַז איר ניטאָ טאן ערגער אויף דיין פּסעט. עס ס נאָר מיר 'רע זייַענדיק האַרדער אויף איר איצט. אַזוי אַלעמען ס געפיל עס. איך נאָר גריידיד אַלע דיין פּסעץ. איך וויסן אַלעמען איז געפיל עס. אזוי טאָן ניט זיין באַזאָרגט וועגן אַז. און אויב איר האָבן קיין פראגעס וועגן פריערדיק פּסעץ אָדער וועגן איר קענען פֿאַרבעסערן, איך פּרובירן און באַמערקונג די ספּעציפיש ערטער, אָבער מאל עס ס שפּעט און איך באַקומען מיד. זענען דאָרט קיין אנדערע זאכן וועגן דאַטן סטראַקטשערז? איך בין זיכער איר גייז טאָן ניט טאַקע ווילן צו רעדן וועגן זיי ענימאָר, אָבער אויב עס זענען, איך בין צופרידן צו גיין איבער זיי, ווי געזונט ווי עפּעס פון לעקציע דעם פאַרגאַנגענהייַט וואָך אָדער לעצט וואָך. איך וויסן לעצטע וואָך איז אַלע באריכטן, אַזוי מיר זאלן האָבן סקיפּט איבער עטלעכע באריכטן פון לעקציע. קיין אנדערע שאלות איך קענען ענטפערן? גוט, אַלע רעכט. נו, איר גייז באַקומען אויס 15 מינוט פרי. איך האָפֿן דעם איז געווען האַלב-נוציק בייַ מינדסטער, און איך וועט זען איר גויס ווייַטער וואָך, אָדער דאנערשטאג אָפיס שעה. ביסט עס ריקוועס פֿאַר סנאַקס פֿאַר ווייַטער וואָך, עס ס דער זאַך? ווייַל איך Forgot זיסוואַרג הייַנט. און איך געבראכט זיסוואַרג לעצט וואָך, אָבער עס איז געווען קאָלומבוס טאָג, אַזוי עס זענען געווען ווי זעקס מענטשן וואס האט פיר באַגס פון זיסוואַרג צו זיך. איך קענען ברענגען סטאַרבורסץ ווידער אויב איר ווי. סטאַרבורסץ? גוט, סאָונדס גוט. האָבן אַ גרויס טאָג, גייז.