1 00:00:00,000 --> 00:00:02,832 >> [מוזיק פּלייינג] 2 00:00:02,832 --> 00:00:05,670 3 00:00:05,670 --> 00:00:08,560 >> דאַג לויד: גוט, אַזוי ביי דעם פונט אין דעם קורס, 4 00:00:08,560 --> 00:00:15,300 מיר ווע באדעקט אַ פּלאַץ פון די באַסיקס פון סי מיר וויסן אַ פּלאַץ וועגן וועריאַבאַלז, ערייז, 5 00:00:15,300 --> 00:00:17,610 פּוינטערז, אַלע אַז גוט שטאָפּן. 6 00:00:17,610 --> 00:00:21,610 יענע זענען אַלע סאָרט פון געבויט אין צו זען ווי די פונדאַמענטאַלס, 7 00:00:21,610 --> 00:00:23,880 אָבער מיר קענען טאָן מער, רעכט? 8 00:00:23,880 --> 00:00:27,930 מיר קענען פאַרבינדן זאכן צוזאַמען אין טשיקאַווע וועגן. 9 00:00:27,930 --> 00:00:31,010 >> און אַזוי לאָזן ס טאָן אַז, לאָזן ס אָנהייבן צו צווייַג אויס פון וואָס C גיט אונדז, 10 00:00:31,010 --> 00:00:35,270 און אָנהייבן צו מאַכן אונדזער אייגן דאַטן סטראַקטשערז ניצן די בנין 11 00:00:35,270 --> 00:00:40,590 בלאַקס צוזאַמען צו טאָן עפּעס טאַקע ווערטפול, נוציק. 12 00:00:40,590 --> 00:00:43,420 איין וועג מיר קענען טאָן דעם איז צו רעדן וועגן זאמלונגען. 13 00:00:43,420 --> 00:00:48,360 אַזוי אַזוי ווייַט מיר ווע האט איין מין פון דאַטן ביניען פֿאַר רעפּריזענטינג זאמלונגען 14 00:00:48,360 --> 00:00:51,030 פון ווי וואַלועס, ענלעך וואַלועס. 15 00:00:51,030 --> 00:00:52,350 וואס זאל זיין אַ מענגע. 16 00:00:52,350 --> 00:00:57,020 מיר האָבן זאמלונגען פון ינטאַדזשערז, אָדער זאמלונגען פון אותיות און אַזוי אויף. 17 00:00:57,020 --> 00:01:00,890 >> סטרוקטורעס זענען אויך סאָרט פון אַ דאַטע סטרוקטור פֿאַר קאַלעקטינג אינפֿאָרמאַציע, 18 00:01:00,890 --> 00:01:03,220 אָבער עס ס ניט פֿאַר קאַלעקטינג ווי וואַלועס. 19 00:01:03,220 --> 00:01:08,090 עס יוזשאַוואַלי מיקסעס פאַרשידענע דאַטע טייפּס צוזאַמען ין פון אַ איין קעסטל. 20 00:01:08,090 --> 00:01:10,750 אבער עס ס ניט זיך געניצט צו קייט צוזאַמען 21 00:01:10,750 --> 00:01:16,920 אָדער פאַרבינדן צוזאַמען ענלעך זאכן, ווי אַ מענגע. 22 00:01:16,920 --> 00:01:20,960 ערייז זענען גרויס פֿאַר עלעמענט קוקן אַרויף, אָבער צוריקרופן 23 00:01:20,960 --> 00:01:24,262 אַז עס ס זייער שווער צו טאָן אין אַ מענגע, 24 00:01:24,262 --> 00:01:26,470 סייַדן מיר ניטאָ ינסערטינג ביי די זייער סוף פון אַז מענגע. 25 00:01:26,470 --> 00:01:29,730 >> און די בעסטער משל איך האב פֿאַר וואָס איז ינסערשאַן סאָרט. 26 00:01:29,730 --> 00:01:31,650 אויב איר צוריקרופן אונדזער ווידעא אויף ינסערשאַן סאָרט, 27 00:01:31,650 --> 00:01:34,110 עס איז אַ פּלאַץ פון קאָסט ינוואַלווד אין בעת 28 00:01:34,110 --> 00:01:37,970 צו קלייַבן אַרויף יסודות, און יבעררוק זיי אויס פון די וועג צו פּאַסיק עפּעס 29 00:01:37,970 --> 00:01:41,290 אין די מיטן פון דיין מענגע. 30 00:01:41,290 --> 00:01:44,690 ערייז אויך לייַדן פון אנדערן פּראָבלעם, וואָס איז ינפלעקסיביליטי. 31 00:01:44,690 --> 00:01:47,150 ווען מיר דערקלערן אַ מענגע, מיר באַקומען איין שאָס אין עס. 32 00:01:47,150 --> 00:01:49,790 מיר באַקומען צו זאָגן, איך ווילן דעם פילע עלעמענטן. 33 00:01:49,790 --> 00:01:51,940 זאל זיין 100, עס זאל זייַן 1,000, עס זאל 34 00:01:51,940 --> 00:01:55,930 זייַן רענטגענ ווו x איז אַ נומער וואָס דער באַניצער האט אונדז אין אַ פּינטלעך אָדער בייַ די באַפֿעל 35 00:01:55,930 --> 00:01:56,630 ליניע. 36 00:01:56,630 --> 00:01:59,905 >> אבער מיר נאָר באַקומען איין שאָס אין עס, מיר טאָן ניט באַקומען צו דעמאָלט זאָגן טאַקע, טאַקע איך 37 00:01:59,905 --> 00:02:04,360 דארף 101, אָדער איך דארף רענטגענ פּלוס 20. 38 00:02:04,360 --> 00:02:07,910 אויך שפּעט, מיר ווע שוין דערקלערט די מענגע, און אויב מיר ווילן צו באַקומען 101 אָדער רענטגענ 39 00:02:07,910 --> 00:02:12,050 פּלוס 20, מיר האָבן צו דערקלערן אַ גאנצן אַנדערש מענגע, 40 00:02:12,050 --> 00:02:15,540 קאָפּיע אַלע די יסודות פון די מענגע איבער, און דעמאָלט מיר האָבן גענוג. 41 00:02:15,540 --> 00:02:19,880 און וואָס אויב מיר זענען פאַלש ווידער, וואָס אויב מיר אַקטשאַוואַלי דאַרפֿן 102, אָדער רענטגענ פּלוס 40, 42 00:02:19,880 --> 00:02:21,970 מיר האָבן צו טאָן דעם ווידער. 43 00:02:21,970 --> 00:02:26,250 אַזוי זיי ניטאָ זייער ינפלעקסיבלע פֿאַר רעסיזינג אונדזער דאַטע, 44 00:02:26,250 --> 00:02:29,360 אָבער אויב מיר פאַרבינדן צוזאַמען עטלעכע פון די באַסיקס אַז מיר ווע שוין 45 00:02:29,360 --> 00:02:33,230 געלערנט וועגן פּוינטערז און סטראַקטשערז, אין באַזונדער ניצן דינאַמיש זכּרון 46 00:02:33,230 --> 00:02:36,180 אַלאַקיישאַן מיט מאַללאָק, מיר קענען שטעלן די ברעקלעך צוזאַמען 47 00:02:36,180 --> 00:02:40,960 צו שאַפֿן אַ נייַ דאַטן סטרוקטורע-- אַ יינציקווייַז לינגקט רשימה מיר זאלן סייַ-- 48 00:02:40,960 --> 00:02:45,400 אַז אַלאַוז אונדז צו וואַקסן און ייַנשרומפּן אַ זאַמלונג פון וואַלועס 49 00:02:45,400 --> 00:02:48,800 און מיר וועלן ניט האָבן קיין ווייסטאַד פּלאַץ. 50 00:02:48,800 --> 00:02:53,320 >> אַזוי ווידער, מיר רופן דעם געדאַנק, דעם געדאנק, אַ לינגקט רשימה. 51 00:02:53,320 --> 00:02:56,320 אין באַזונדער, אין דעם ווידעא מיר ניטאָ גערעדט וועגן יינציקווייַז לינגקט רשימה, 52 00:02:56,320 --> 00:02:59,185 און דעמאָלט אן אנדער ווידעא מיר וועט רעדן וועגן דאַבלי לינגקט רשימות, וואָס 53 00:02:59,185 --> 00:03:01,560 איז נאָר אַ ווערייישאַן אויף אַ טעמע דאָ. 54 00:03:01,560 --> 00:03:05,200 אבער אַ יינציקווייַז לינגקט רשימה איז קאַמפּרייזד פון נאָודז, 55 00:03:05,200 --> 00:03:08,559 נאָודז נאָר ווייל אַ אַבסטראַקט טערמ-- עס ס נאָר עפּעס איך בין פאַך 56 00:03:08,559 --> 00:03:10,350 אַז ס אַ מין פון סטרוקטור, בייסיקלי, איך בין? 57 00:03:10,350 --> 00:03:16,190 נאָר געגאנגען צו רופן עס אַ נאָדע-- און דעם נאָדע האט צוויי מיטגלידער, אָדער צוויי fields. 58 00:03:16,190 --> 00:03:20,300 עס האט דאַטן, יוזשאַוואַלי אַ ינטאַדזשער, אַ כאַראַקטער לאָזנ שווימען, 59 00:03:20,300 --> 00:03:23,790 אָדער קען זיין עטלעכע אנדערע דאַטן טיפּ אַז איר ווע Defined מיט אַ טיפּ דעף. 60 00:03:23,790 --> 00:03:29,290 און עס כּולל אַ טייַטל צו אן אנדער נאָדע פון ​​דער זעלביקער טיפּ. 61 00:03:29,290 --> 00:03:34,710 >> אַזוי מיר האָבן צוויי זאכן ין פון דעם נאָדע, דאַטע און אַ טייַטל 62 00:03:34,710 --> 00:03:36,380 צו אן אנדער נאָדע. 63 00:03:36,380 --> 00:03:39,370 און אויב איר אָנהייבן צו וויזשוואַלייז דעם, איר קענען טראַכטן וועגן אים 64 00:03:39,370 --> 00:03:42,280 ווי אַ קייט פון נאָודז אַז זענען קאָננעקטעד צוזאַמען. 65 00:03:42,280 --> 00:03:45,070 מיר האָבן די ערשטער נאָדע, עס כּולל דאַטע, און אַ טייַטל 66 00:03:45,070 --> 00:03:49,110 צו די רגע נאָדע, וואָס כּולל דאַטע, און אַ טייַטל צו די דריט נאָדע. 67 00:03:49,110 --> 00:03:52,940 און אַזוי אַז ס וואָס מיר רופן עס אַ לינגקט רשימה, זיי ניטאָ לינגקט צוזאַמען. 68 00:03:52,940 --> 00:03:56,070 >> וואָס טוט דעם ספּעציעל נאָדע סטרוקטור קוקן ווי? 69 00:03:56,070 --> 00:04:01,120 נו, אויב איר צוריקרופן פון אונדזער ווידעא אויף דעפינינג מנהג טייפּס, מיט טיפּ דעף, 70 00:04:01,120 --> 00:04:05,400 מיר קענען דעפינירן אַ סטרוקטורע-- און טיפּ דעפינירן אַ סטרוקטור ווי דעם. 71 00:04:05,400 --> 00:04:11,240 טיעפּדעף סטרוקט סלליסט, און דעמאָלט איך בין ניצן די וואָרט ווערט דאָ אַרביטרעראַלי 72 00:04:11,240 --> 00:04:13,891 צו אָנווייַזן קיין דאַטן טיפּ טאַקע. 73 00:04:13,891 --> 00:04:16,890 איר קען פאָרן אויף אַ ינטאַדזשער אָדער לאָזנ שווימען, איר געקענט האָבן וועלכער איר ווילן. 74 00:04:16,890 --> 00:04:19,389 עס ס ניט ריסטריקטאַד צו פּונקט ינטאַדזשערז, אָדער עפּעס ווי אַז. 75 00:04:19,389 --> 00:04:22,790 אזוי ווערט איז נאָר אַ אַרביטראַריש דאַטן טיפּ, און דעמאָלט אַ טייַטל 76 00:04:22,790 --> 00:04:26,310 צו אן אנדער נאָדע פון ​​דער זעלביקער טיפּ. 77 00:04:26,310 --> 00:04:29,690 >> איצט, עס ס אַ ביסל כאַפּן דאָ מיט דעפינינג אַ סטרוקטור 78 00:04:29,690 --> 00:04:33,030 ווען עס ס אַ זעלבסט רעפערענטיאַל ביניען. 79 00:04:33,030 --> 00:04:35,340 איך האָבן צו האָבן אַ צייַטווייַליק נאָמען פֿאַר מיין סטרוקטור. 80 00:04:35,340 --> 00:04:37,640 אין די סוף פון די טאָג איך קלאר ווילן צו רופן עס 81 00:04:37,640 --> 00:04:43,030 SLL נאָדע, אַז ס לעסאָף די נייַ נאָמען טייל פון מיין טיפּ דעפֿיניציע, 82 00:04:43,030 --> 00:04:47,450 אָבער איך קען ניט נוצן SLL נאָדע אין די מיטן פון דעם. 83 00:04:47,450 --> 00:04:51,430 די סיבה ווייל, איך האב נישט Created אַ טיפּ גערופֿן SLL נאָדע 84 00:04:51,430 --> 00:04:55,200 ביז איך שלאָגן דעם לעצט פונט דאָ. 85 00:04:55,200 --> 00:04:59,720 אַרויף ביז אַז פונט, איך האָבן צו האָבן אן אנדער וועג צו אָפּשיקן צו דעם דאַטן טיפּ. 86 00:04:59,720 --> 00:05:02,440 >> און דעם איז אַ אַליינ רעפערענטיאַל דאַטן טיפּ. 87 00:05:02,440 --> 00:05:06,314 עס; ס אַ דאַטן טיפּ פון אַ ביניען אַז כּולל אַ דאַטע, 88 00:05:06,314 --> 00:05:08,480 און אַ טייַטל צו אן אנדער סטרוקטור פון דער זעלביקער טיפּ. 89 00:05:08,480 --> 00:05:11,750 אַזוי איך דאַרפֿן צו קענען צו אָפּשיקן צו דעם דאַטן טיפּ לפּחות טעמפּערעראַלי, 90 00:05:11,750 --> 00:05:14,910 אַזוי געבן עס אַ צייַטווייַליק נאָמען פון סטרוקט סלליסט 91 00:05:14,910 --> 00:05:18,540 אַלאַוז מיר צו דעמאָלט זאָגן איך ווילן אַ טייַטל צו אן אנדער סטרוקט סלליסט, 92 00:05:18,540 --> 00:05:24,690 אַ סטרוקט סלליסט שטערן, און דעמאָלט נאָך איך ווע געענדיקט די דעפֿיניציע, 93 00:05:24,690 --> 00:05:27,220 איך קענען איצט רופן דעם טיפּ אַ SLL נאָדע. 94 00:05:27,220 --> 00:05:30,520 >> אַזוי אַז ס וואָס איר זען עס ס אַ צייַטווייַליק נאָמען דאָ, 95 00:05:30,520 --> 00:05:31,879 אָבער אַ שטענדיק נאָמען דאָ. 96 00:05:31,879 --> 00:05:33,920 מאל איר זאל זען זוך פון סטרוקטור, 97 00:05:33,920 --> 00:05:36,570 למשל, וואָס זענען נישט זיך רעפערענטיאַל, אַז 98 00:05:36,570 --> 00:05:39,390 טאָן ניט האָבן אַ ספּעסיפיער נאָמען דאָ. 99 00:05:39,390 --> 00:05:43,040 עס וואָלט נאָר זאָגן טיפּעדעף סטרוקט, עפענען געגרייַזלט בראַסע און דעמאָלט דעפינירן עס. 100 00:05:43,040 --> 00:05:45,620 אבער אויב איר ניטאָ סטרוקט איז זיך רעפערענטיאַל, ווי דעם איינער איז, 101 00:05:45,620 --> 00:05:49,010 איר דאַרפֿן צו ספּעציפיצירן אַ צייַטווייַליק טיפּ נאָמען. 102 00:05:49,010 --> 00:05:51,310 אבער לעסאָף, איצט אַז מיר ווע געטאן דעם, 103 00:05:51,310 --> 00:05:53,620 מיר קענען נאָר אָפּשיקן צו די נאָודז, די וניץ, 104 00:05:53,620 --> 00:05:57,900 ווי SLL נאָודז פֿאַר צוועקן פון די מנוחה פון דעם ווידעא. 105 00:05:57,900 --> 00:06:00,900 >> אַלע רעכט, אַזוי מיר וויסן ווי צו שאַפֿן אַ לינגקט רשימה נאָדע. 106 00:06:00,900 --> 00:06:03,240 מיר וויסן ווי צו דעפינירן אַ לינגקט רשימה נאָדע. 107 00:06:03,240 --> 00:06:06,670 איצט, אויב מיר רע געגאנגען צו אָנהייבן ניצן זיי צו זאַמלען אינפֿאָרמאַציע, 108 00:06:06,670 --> 00:06:10,360 עס ס אַ פּאָר פון אַפּעריישאַנז מיר דאַרפֿן צו פֿאַרשטיין און אַרבעטן מיט. 109 00:06:10,360 --> 00:06:12,860 מיר דאַרפֿן צו וויסן ווי צו מאַכן אַ לינגקט רשימה פון דין לופט. 110 00:06:12,860 --> 00:06:14,901 אויב עס ס ניט רשימה שוין, מיר ווילן צו אָנהייבן איינער. 111 00:06:14,901 --> 00:06:16,960 אַזוי מיר דאַרפֿן צו קענען צו שאַפֿן אַ לינגקט רשימה, 112 00:06:16,960 --> 00:06:19,130 מיר דאַרפֿן צו מיסטאָמע זוכן דורך די לינק רשימה 113 00:06:19,130 --> 00:06:21,830 צו געפֿינען אַן עלעמענט מיר רע קוקן פֿאַר. 114 00:06:21,830 --> 00:06:24,430 מיר דאַרפֿן צו קענען צו טאָן נייַ זאכן אין דער רשימה, 115 00:06:24,430 --> 00:06:25,930 מיר ווילן אונדזער רשימה צו קענען צו וואַקסן. 116 00:06:25,930 --> 00:06:28,638 און סימאַלערלי, מיר ווילן צו קענען צו ויסמעקן זאכן פון אונדזער רשימה, 117 00:06:28,638 --> 00:06:30,250 מיר ווילן אונדזער רשימה צו קענען צו ייַנשרומפּן. 118 00:06:30,250 --> 00:06:32,160 און אין די סוף פון אונדזער מגילה, ספּעציעל 119 00:06:32,160 --> 00:06:34,550 אויב איר צוריקרופן אַז מיר ניטאָ דינאַמיקאַללי אַלאַקייטינג זכּרון 120 00:06:34,550 --> 00:06:38,337 צו בויען די רשימות טיפּיקאַללי, מיר ווילן צו פּאָטער אַלע פון ​​וואָס זכּרון 121 00:06:38,337 --> 00:06:39,670 ווען מיר ניטאָ געטאן ארבעטן מיט אים. 122 00:06:39,670 --> 00:06:44,627 און אַזוי מיר דאַרפֿן צו קענען צו ויסמעקן אַ גאנצע לינגקט רשימה אין איין פאַרלאָזן סווופּ. 123 00:06:44,627 --> 00:06:46,460 אַזוי לאָזן ס גיין דורך עטלעכע פון ​​די אַפּעריישאַנז 124 00:06:46,460 --> 00:06:51,192 און ווי מיר זאל וויזשוואַלייז זיי, גערעדט אין פּסעודאָקאָדע קאָד ספּעסיפיקאַללי. 125 00:06:51,192 --> 00:06:53,150 אַזוי מיר ווילן צו שאַפֿן אַ לינגקט רשימה, אַזוי אפֿשר מיר 126 00:06:53,150 --> 00:06:56,480 ווילן צו דעפינירן אַ פֿונקציע מיט דעם פּראָוטאַטייפּ. 127 00:06:56,480 --> 00:07:01,690 SLL נאָדע שטערן, מאַכן, און איך בין פּאַסינג אין איין אַרגומענט, עטלעכע אַרביטראַריש דאַטע 128 00:07:01,690 --> 00:07:05,530 טיפּ ווידער, פון עטלעכע אַרביטראַריש דאַטן טיפּ. 129 00:07:05,530 --> 00:07:10,482 אבער איך בין רעטורנינג-- דעם פֿונקציע זאָל צוריקקומען צו מיר אַ טייַטל, צו אַ יינציקווייַז 130 00:07:10,482 --> 00:07:11,190 לינגקט רשימה נאָדע. 131 00:07:11,190 --> 00:07:14,050 ווידער, מיר ניטאָ טריינג צו מאַכן אַ לינגקט רשימה פון דין לופט, 132 00:07:14,050 --> 00:07:17,900 אַזוי איך דאַרפֿן אַ טייַטל צו אַז רשימה ווען איך בין געטאן. 133 00:07:17,900 --> 00:07:19,420 >> אזוי וואָס זענען די טריט ינוואַלווד דאָ? 134 00:07:19,420 --> 00:07:20,960 נו, ערשטער זאַך איך בין געגאנגען צו טאָן איז דינאַמיקאַללי 135 00:07:20,960 --> 00:07:22,550 אַלאַקייט פּלאַץ פֿאַר אַ נייַ נאָדע. 136 00:07:22,550 --> 00:07:26,689 ווידער, מיר ניטאָ קריייטינג עס אויס פון דין לופט, אַזוי מיר דאַרפֿן צו מאַללאָק פּלאַץ פֿאַר עס. 137 00:07:26,689 --> 00:07:28,480 און פון קורס, מיד נאָך מיר מאַללאָק, 138 00:07:28,480 --> 00:07:31,692 מיר שטענדיק טשעק צו מאַכן זיכער אַז אונדזער פּאָינטער-- מיר האבן ניט באַקומען צוריק נאַל. 139 00:07:31,692 --> 00:07:33,650 ווייַל אויב מיר פּרובירן און אַכטונג אַ נאַל טייַטל, 140 00:07:33,650 --> 00:07:36,190 מיר רע געגאנגען צו לייַדן אַ סעגפאַולט און מיר טאָן ניט ווילן אַז. 141 00:07:36,190 --> 00:07:39,510 >> דעמאָלט מיר ווילן צו פּלאָמבירן אין פֿעלד, מיר ווילן צו ינישאַלייז די ווערט פעלד 142 00:07:39,510 --> 00:07:41,690 און ינישאַלייז די ווייַטער פעלד. 143 00:07:41,690 --> 00:07:45,450 און דעמאָלט מיר ווילן טאָ-- יווענטשאַוואַלי ווי די פֿונקציע פּראָוטאַטייפּ ינדיקאַטעס-- מיר ווילן 144 00:07:45,450 --> 00:07:49,940 צו קריק אַ טייַטל צו אַ SLL נאָדע. 145 00:07:49,940 --> 00:07:51,710 אַזוי וואָס מאַכן דעם קוקן ווי וויזשוואַלי? 146 00:07:51,710 --> 00:07:55,230 נו, ערשטער מיר רע געגאנגען צו דינאַמיקאַללי אַלאַקייט פּלאַץ פֿאַר אַ נייַ SLL נאָדע, 147 00:07:55,230 --> 00:07:58,320 אַזוי מיר מאַללאָק-- אַז ס אַ וויזשאַוואַל פאַרטרעטונג 148 00:07:58,320 --> 00:08:00,020 פון די נאָדע מיר נאָר Created. 149 00:08:00,020 --> 00:08:02,757 און מיר טשעק צו מאַכן זיכער עס ס ניט נולל-- אין דעם פאַל, 150 00:08:02,757 --> 00:08:04,840 די בילד וואָלט ניט האָבן געוויזן אַרויף אויב עס איז נאַל, 151 00:08:04,840 --> 00:08:07,298 מיר וואָלט האָבן לויפן אויס פון זכּרון, אַזוי מיר ניטאָ גוט צו גיין דאָרט. 152 00:08:07,298 --> 00:08:10,200 אזוי איצט מיר ניטאָ אויף צו טרעטן C, ינישאַלייז די נאָודז ווערט פעלד. 153 00:08:10,200 --> 00:08:12,280 נו, באזירט אויף דעם פֿונקציע רוף איך בין ניצן דאָ, 154 00:08:12,280 --> 00:08:16,700 קוקט ווי איך ווילן צו פאָרן אין 6, אַזוי איך וועט 6 אין די ווערט פעלד. 155 00:08:16,700 --> 00:08:18,865 איצט, ינישאַלייז די ווייַטער פעלד. 156 00:08:18,865 --> 00:08:21,640 נו, וואָס בין איך געגאנגען צו טאָן עס, עס איז גאָרנישט ווייַטער, רעכט, 157 00:08:21,640 --> 00:08:23,600 דעם איז דער בלויז זאַך אין דער רשימה. 158 00:08:23,600 --> 00:08:27,206 אזוי וואָס ס די ווייַטער זאַך אין די רשימה? 159 00:08:27,206 --> 00:08:29,660 >> עס זאָל ניט פונט צו עפּעס, רעכט. 160 00:08:29,660 --> 00:08:33,600 עס ס גאָרנישט אַנדערש עס, אַזוי וואָס איז דער באַגריף מיר וויסן פון וואָס ס נאָטהינג-- 161 00:08:33,600 --> 00:08:35,638 פּוינטערז צו גאָרנישט? 162 00:08:35,638 --> 00:08:37,929 עס זאָל זיין אפֿשר מיר ווילן צו שטעלן אַ נאַל טייַטל דאָרט, 163 00:08:37,929 --> 00:08:40,178 און איך וועט פאָרשטעלן די נאַל טייַטל ווי נאָר אַ רויט קעסטל, 164 00:08:40,178 --> 00:08:41,559 מיר קענען ניט גיין קיין ווייַטער. 165 00:08:41,559 --> 00:08:44,430 ווי מיר וועט זען אַ ביסל שפּעטער אויף, מיר וועלן האָבן יווענטשאַוואַלי קייטן 166 00:08:44,430 --> 00:08:46,330 פון אַראָוז קאַנעקטינג די נאָודז צוזאַמען, 167 00:08:46,330 --> 00:08:48,480 אָבער ווען איר שלאָגן די רויט קעסטל, אַז ס נאַל, 168 00:08:48,480 --> 00:08:51,150 מיר קענען ניט גיין קיין ווייַטער, אַז ס די סוף פון די רשימה. 169 00:08:51,150 --> 00:08:53,960 >> און לאַסטלי, מיר נאָר ווילן צו צוריקקומען אַ טייַטל צו דעם נאָדע. 170 00:08:53,960 --> 00:08:56,160 אזוי מיר וועט רופן עס נייַ, און וועט צוריקקומען נייַ 171 00:08:56,160 --> 00:08:59,370 אַזוי עס קענען זיין געניצט אין וועלכער פֿונקציע Created עס. 172 00:08:59,370 --> 00:09:03,100 אַזוי עס מיר גיין, מיר ווע Created אַ יינציקווייַז לינגקט רשימה נאָדע פון ​​דין לופט, 173 00:09:03,100 --> 00:09:05,920 און איצט מיר האָבן אַ רשימה מיר קענען אַרבעטן מיט. 174 00:09:05,920 --> 00:09:08,260 >> איצט, לאָזן ס זאָגן מיר שוין האָבן אַ גרויס קייט, 175 00:09:08,260 --> 00:09:09,800 און מיר ווילן צו געפֿינען עפּעס אין עס. 176 00:09:09,800 --> 00:09:12,716 און מיר ווילן אַ פֿונקציע אַז ס 'געגאנגען צו צוריקקומען אמת אָדער פאַלש, דיפּענדינג 177 00:09:12,716 --> 00:09:15,840 אויף צי אַ ווערט יגזיסץ אין אַז רשימה. 178 00:09:15,840 --> 00:09:18,160 אַ פֿונקציע פּראָוטאַטייפּ, אָדער דעקלאַראַציע פֿאַר אַז פֿונקציע, 179 00:09:18,160 --> 00:09:23,320 זאל קוקן ווי טהיס-- באָאָל געפֿינען, און דעמאָלט מיר ווילן צו פאָרן אין צוויי טענות. 180 00:09:23,320 --> 00:09:26,996 >> דער ערשטער, איז אַ טייַטל צו די ערשטער עלעמענט פון די לינגקט רשימה. 181 00:09:26,996 --> 00:09:29,620 דעם איז אַקטשאַוואַלי עפּעס איר וועט שטענדיק ווילן צו האַלטן שפּור פון, 182 00:09:29,620 --> 00:09:33,110 און אַקשלי זאל זיין עפּעס אַז איר אַפֿילו שטעלן אין אַ גלאבאלע בייַטעוודיק. 183 00:09:33,110 --> 00:09:35,360 אַמאָל איר מאַכן אַ רשימה, איר שטענדיק, שטענדיק 184 00:09:35,360 --> 00:09:38,990 ווילן צו האַלטן שפּור פון די זייער ערשטער עלעמענט פון דער רשימה. 185 00:09:38,990 --> 00:09:43,690 אַז וועג איר קענען אָפּשיקן צו אַלע די אנדערע עלעמענטן דורך פּונקט ווייַטערדיק דער קייט, 186 00:09:43,690 --> 00:09:47,300 אָן ווייל צו האַלטן פּוינטערז בעשאָלעם צו יעדער איין עלעמענט. 187 00:09:47,300 --> 00:09:50,920 איר נאָר דאַרפֿן צו האַלטן שפּור פון דער ערשטער איינער אויב זיי ניטאָ אַלע טשיינד צוזאַמען. 188 00:09:50,920 --> 00:09:52,460 >> און דעריבער די רגע זאַך מיר ניטאָ פּאַסינג אין ווידער 189 00:09:52,460 --> 00:09:54,376 איז אַרביטרעראַלי סאָמע-- וועלכער דאַטן טיפּ מיר ניטאָ 190 00:09:54,376 --> 00:09:59,640 קוקן פֿאַר עס איז ין פון אַלעווייַ איינער פון די נאָודז אין דער רשימה. 191 00:09:59,640 --> 00:10:00,980 אזוי וואָס זענען די טריט? 192 00:10:00,980 --> 00:10:04,250 נו, דער ערשטער זאַך מיר טאָן איז מיר שאַפֿן אַ transversal טייַטל 193 00:10:04,250 --> 00:10:06,015 פּוינטינג צו די רשימות קאָפּ. 194 00:10:06,015 --> 00:10:08,890 נו, וואָס טאָן מיר טאָן אַז, מיר שוין האָבן אַ טייַטל אין די רשימות קאָפּ, 195 00:10:08,890 --> 00:10:10,974 וואָס טאָן ניט מיר נאָר מאַך אַז איינער אַרום? 196 00:10:10,974 --> 00:10:13,140 נו, ווי איך נאָר געזאגט, עס ס טאַקע וויכטיק פֿאַר אונדז 197 00:10:13,140 --> 00:10:17,580 צו שטענדיק האַלטן שפּור פון די זייער ערשטער עלעמענט אין דער רשימה. 198 00:10:17,580 --> 00:10:21,270 און אַזוי עס ס אַקטשאַוואַלי בעסער צו שאַפֿן אַ דופּליקאַט פון אַז, 199 00:10:21,270 --> 00:10:25,350 און נוצן אַז צו באַוועגן אַרום אַזוי מיר קיינמאָל אַקסאַדענאַלי מאַך אַוועק, אָדער מיר שטענדיק 200 00:10:25,350 --> 00:10:30,430 האָבן אַ טייַטל אין עטלעכע פונט אַז איז רעכט אויף דער ערשטער עלעמענט פון דער רשימה. 201 00:10:30,430 --> 00:10:33,290 אַזוי עס ס בעסער צו שאַפֿן אַ רגע איינער וואָס מיר נוצן צו באַוועגן. 202 00:10:33,290 --> 00:10:35,877 >> דעמאָלט מיר נאָר פאַרגלייַכן צי די ווערט פעלד אין אַז נאָדע 203 00:10:35,877 --> 00:10:38,960 איז וואָס מיר ניטאָ קוקן פֿאַר, און אויב עס ס ניט, מיר נאָר מאַך צו די ווייַטער נאָדע. 204 00:10:38,960 --> 00:10:41,040 און מיר האַלטן טאן אַז איבער, און איבער, און איבער, 205 00:10:41,040 --> 00:10:44,811 ביז מיר אָדער געפינען די עלעמענט, אָדער מיר שלאָגן 206 00:10:44,811 --> 00:10:47,310 נולל-- מיר ווע ריטשט די סוף פון דער רשימה און עס איז נישט דאָרט. 207 00:10:47,310 --> 00:10:50,540 דאס זאָל אַלעווייַ רינג אַ גלאָק צו איר ווי נאָר לינעאַר זוכן, 208 00:10:50,540 --> 00:10:54,430 מיר ניטאָ פּונקט רעפּליקייטינג עס אין אַ יינציקווייַז לינגקט רשימה סטרוקטור 209 00:10:54,430 --> 00:10:56,280 אַנשטאָט פון ניצן אַ מענגע צו טאָן עס. 210 00:10:56,280 --> 00:10:58,210 >> אַזוי דאָ ס אַ בייַשפּיל פון אַ יינציקווייַז לינגקט רשימה. 211 00:10:58,210 --> 00:11:00,043 דאס איינער באשטייט פון פינף נאָודז, און מיר האָבן 212 00:11:00,043 --> 00:11:04,330 אַ טייַטל צו די קאָפּ פון די רשימה, וואָס איז גערופֿן רשימה. 213 00:11:04,330 --> 00:11:07,385 דער ערשטער זאַך מיר ווילן צו טאָן איז ווידער, מאַכן אַז טראַווערסאַל טייַטל. 214 00:11:07,385 --> 00:11:09,760 אַזוי מיר האָבן איצט צוויי פּוינטערז אַז פונט צו די זעלבע זאַך. 215 00:11:09,760 --> 00:11:15,025 >> איצט, באַמערקן דאָ אויך, איך האט ניט האָבן צו מאַללאָק קיין פּלאַץ פֿאַר Trav. 216 00:11:15,025 --> 00:11:18,970 איך האט ניט זאָגן Trav יקוואַלז מאַללאָק עפּעס, וואָס נאָדע שוין יגזיסץ, 217 00:11:18,970 --> 00:11:21,160 וואָס אָרט אין זכּרון עקזיסטירט שוין. 218 00:11:21,160 --> 00:11:24,290 אזוי אַלע איך בין טאַקע טאן איז קריייטינג אנדערן טייַטל צו עס. 219 00:11:24,290 --> 00:11:28,210 איך בין נישט מאַללאָסינג אַן נאָך פּלאַץ, נאָר האָבן איצט צוויי פּוינטערז 220 00:11:28,210 --> 00:11:31,370 פּוינטינג צו די זעלבע זאַך. 221 00:11:31,370 --> 00:11:33,710 >> אַזוי איז 2 וואָס איך בין קוקן פֿאַר? 222 00:11:33,710 --> 00:11:37,220 נו, קיין, אַזוי אַנשטאָט איך בין געגאנגען צו מאַך צו די ווייַטער איינער. 223 00:11:37,220 --> 00:11:41,740 אַזוי בייסיקלי איך וואָלט זאָגן, Trav יקוואַלז Trav ווייַטער. 224 00:11:41,740 --> 00:11:43,630 איז 3 וואָס איך בין קוקן פֿאַר, ניט. 225 00:11:43,630 --> 00:11:45,780 אַזוי איך פאָרזעצן צו גיין דורך, ביז יווענטשאַוואַלי 226 00:11:45,780 --> 00:11:48,690 באַקומען צו 6 וואָס איז וואָס איך בין קוקן פֿאַר באזירט אויף די פֿונקציע רופן 227 00:11:48,690 --> 00:11:51,600 איך האב אין די שפּיץ דאָרט, און אַזוי איך בין געטאן. 228 00:11:51,600 --> 00:11:54,150 >> איצט, וואָס אויב דער עלעמענט איך בין קוקן פֿאַר איז ניט אין דער רשימה, 229 00:11:54,150 --> 00:11:55,510 איז עס נאָך געגאנגען צו אַרבעטן? 230 00:11:55,510 --> 00:11:57,120 נו, באַמערקן אַז דער רשימה דאָ איז סאַטאַלי אַנדערש, 231 00:11:57,120 --> 00:11:59,410 און דעם איז אן אנדער זאַך אַז ס וויכטיק מיט לינגקט רשימות, 232 00:11:59,410 --> 00:12:01,780 איר טאָן ניט האָבן צו ופהיטן זיי אין קיין באַזונדער סדר. 233 00:12:01,780 --> 00:12:05,390 איר קענען אויב איר ווילן, אָבער איר זאלט ​​האָבן שוין באמערקט 234 00:12:05,390 --> 00:12:09,310 וואָס מיר ניטאָ ניט בעכעסקעם שפּור פון וואָס נומער עלעמענט מיר זענען אין. 235 00:12:09,310 --> 00:12:13,150 >> און אַז ס סאָרט פון איין האַנדל אַז מיר האָבן מיט לינגקט רשימה ווערסעס ערייז, 236 00:12:13,150 --> 00:12:15,300 איז עס מיר טאָן ניט האָבן ראַנדאָם צוטריט ענימאָר. 237 00:12:15,300 --> 00:12:18,150 מיר קענען ניט נאָר זאָגן, איך ווילן צו גיין צו די 0 עלעמענט, 238 00:12:18,150 --> 00:12:21,410 אָדער די 6 עלעמענט פון מיין מענגע, וואָס איך קענען טאָן אין אַ מענגע. 239 00:12:21,410 --> 00:12:25,080 איך קענען נישט זאָגן איך ווילן צו גיין צו די 0 עלעמענט, אָדער די 6 עלעמענט, 240 00:12:25,080 --> 00:12:30,360 אָדער די 25 עלעמענט פון מיין לינגקט רשימה, עס ס ניט אינדעקס פֿאַרבונדן מיט זיי. 241 00:12:30,360 --> 00:12:33,660 און אַזוי עס טוט ניט טאַקע ענין אויב מיר ופהיטן אונדזער רשימה אין סדר. 242 00:12:33,660 --> 00:12:36,080 אויב איר ווילן צו איר אַוואַדע קענען, אָבער דאָרט ס 243 00:12:36,080 --> 00:12:38,567 קיין סיבה וואָס זיי דאַרפֿן צו זייַן פּרעסערוועד אין קיין סדר. 244 00:12:38,567 --> 00:12:40,400 אַזוי ווידער, לאָזן ס פּרובירן און געפינען 6 אין דעם רשימה. 245 00:12:40,400 --> 00:12:43,200 נו, מיר אָנהייבן בייַ די אָנהייב, מיר טאָן ניט געפֿינען 6, 246 00:12:43,200 --> 00:12:47,690 און דעמאָלט מיר פאָרזעצן נישט דערגייונג 6, ביז מיר יווענטשאַוואַלי באַקומען צו דאָ. 247 00:12:47,690 --> 00:12:52,790 אַזוי רעכט איצט Trav ווייזט צו די נאָדע מיט 8, און זעקס איז נישט אין דאָרט. 248 00:12:52,790 --> 00:12:55,250 >> אזוי די ווייַטער שריט וואָלט זיין צו גיין צו די ווייַטער טייַטל, 249 00:12:55,250 --> 00:12:57,440 אַזוי זאָגן Trav יקוואַלז Trav ווייַטער. 250 00:12:57,440 --> 00:13:00,750 נו, Trav ווייַטער, אנגעוויזן דורך די רויט קעסטל דאָרט, איז נאַל. 251 00:13:00,750 --> 00:13:03,020 אַזוי עס ס ינ ערגעצ ניט אַנדערש צו גיין, און אַזוי אין דעם פונט 252 00:13:03,020 --> 00:13:06,120 מיר קענען פאַרענדיקן אַז מיר ווע ריטשט דער סוף פון די לינגקט רשימה, 253 00:13:06,120 --> 00:13:07,190 און 6 איז נישט אין דאָרט. 254 00:13:07,190 --> 00:13:10,980 און עס וואָלט זיין אומגעקערט פאַלש אין דעם פאַל. 255 00:13:10,980 --> 00:13:14,540 >> גוט, ווי טאָן מיר אַרייַנלייגן אַ נייַ נאָדע אין די לינגקט רשימה? 256 00:13:14,540 --> 00:13:17,310 אַזוי מיר ווע שוין קענען צו שאַפֿן אַ לינגקט רשימה פון ינ ערגעצ ניט, 257 00:13:17,310 --> 00:13:19,370 אָבער מיר מיסטאָמע ווילן צו בויען אַ קייט און ניט 258 00:13:19,370 --> 00:13:22,620 מאַכן אַ בינטל פון בוילעט רשימות. 259 00:13:22,620 --> 00:13:25,700 מיר ווילן צו האָבן איין רשימה אַז האט אַ בינטל פון נאָודז אין עס, 260 00:13:25,700 --> 00:13:28,040 ניט אַ בינטל פון רשימות מיט אַ איין נאָדע. 261 00:13:28,040 --> 00:13:31,260 אזוי מיר קענען ניט נאָר האַלטן ניצן די שאַפֿן פונקציאָנירן מיר Defined פריער, איצט מיר 262 00:13:31,260 --> 00:13:33,860 ווילן צו טאָן אין אַ רשימה אַז עקזיסטירט שוין. 263 00:13:33,860 --> 00:13:36,499 >> אַזוי דעם פאַל, מיר רע געגאנגען צו פאָרן אין צוויי טענות, 264 00:13:36,499 --> 00:13:39,290 די טייַטל צו די קאָפּ פון אַז לינגקט רשימה אַז מיר ווילן צו לייגן צו. 265 00:13:39,290 --> 00:13:40,910 ווידער, אַז ס וואָס עס ס אַזוי וויכטיק אַז מיר שטענדיק 266 00:13:40,910 --> 00:13:43,400 האַלטן שפּור פון אים, ווייַל עס ס דער בלויז וועג מיר טאַקע 267 00:13:43,400 --> 00:13:46,690 האָבן צו אָפּשיקן צו די גאנצע רשימה איז נאָר דורך אַ טייַטל צו דער ערשטער עלעמענט. 268 00:13:46,690 --> 00:13:49,360 אַזוי מיר ווילן צו פאָרן אין אַ טייַטל צו אַז ערשטער עלעמענט, 269 00:13:49,360 --> 00:13:52,226 און וועלכער ווערט מיר ווילן צו לייגן צו די רשימה. 270 00:13:52,226 --> 00:13:54,600 און יווענטשאַוואַלי דעם פֿונקציע איז געגאנגען צו צוריקקומען אַ טייַטל 271 00:13:54,600 --> 00:13:57,980 צו די נייע קאָפּ פון אַ לינגקט רשימה. 272 00:13:57,980 --> 00:13:59,700 >> וואָס זענען די טריט ינוואַלווד דאָ? 273 00:13:59,700 --> 00:14:02,249 נו, פּונקט ווי מיט מאַכן, מיר דאַרפֿן צו דינאַמיקאַללי אַלאַקייט 274 00:14:02,249 --> 00:14:05,540 פּלאַץ פֿאַר אַ נייַ נאָדע, און טשעק צו מאַכן זיכער מיר טאָן ניט לויפן אויס פון זכּרון, ווידער, 275 00:14:05,540 --> 00:14:07,150 ווייַל מיר ניטאָ ניצן מאַללאָק. 276 00:14:07,150 --> 00:14:09,080 דעמאָלט מיר ווילן צו באַפעלקערן און אַרייַנלייגן די נאָדע, 277 00:14:09,080 --> 00:14:12,730 אַזוי שטעלן די נומער, וועלכער וואַל איז, אין די נאָדע. 278 00:14:12,730 --> 00:14:17,310 מיר ווילן צו אַרייַנלייגן די נאָדע אין דער אָנהייב פון די לינגקט רשימה. 279 00:14:17,310 --> 00:14:19,619 >> עס ס אַ סיבה אַז איך ווילן צו טאָן דאָס, און עס 280 00:14:19,619 --> 00:14:21,910 זאל זיין ווערט גענומען אַ רגע צו פּויזע די ווידעא דאָ, 281 00:14:21,910 --> 00:14:25,860 און טראַכטן וועגן וואָס איך וואָלט ווילן צו אַרייַנלייגן אין די אָנהייב פון אַ לינגקט 282 00:14:25,860 --> 00:14:26,589 רשימה. 283 00:14:26,589 --> 00:14:28,630 ווידער, איך דערמאנט פריער אַז עס טוט נישט טאַקע 284 00:14:28,630 --> 00:14:33,020 ענין אויב מיר ופהיטן עס אין קיין סדר, אַזוי אפֿשר אַז ס אַ קלו. 285 00:14:33,020 --> 00:14:36,040 און איר האָט געזען וואָס וואָלט פּאַסירן אויב מיר געוואלט טאָ-- אָדער פון נאָר אַ רגע 286 00:14:36,040 --> 00:14:37,360 צוריק ווען מיר זענען געגאנגען דורך זוכן איר 287 00:14:37,360 --> 00:14:39,235 קען זען וואָס זאל פּאַסירן אויב מיר זענען טריינג 288 00:14:39,235 --> 00:14:41,330 צו טאָן אין די סוף פון די רשימה. 289 00:14:41,330 --> 00:14:44,750 ווייַל מיר טאָן ניט האָבן אַ טייַטל צו די סוף פון די רשימה. 290 00:14:44,750 --> 00:14:47,490 >> אַזוי די סיבה וואָס איך וואָלט ווילן צו טאָן אין די אָנהייב, 291 00:14:47,490 --> 00:14:49,380 איז ווייַל איך קענען טאָן עס מיד. 292 00:14:49,380 --> 00:14:52,730 איך האָבן אַ טייַטל אין די אָנהייב, און מיר וועט זען דעם אין אַ וויזשאַוואַל אין אַ רגע. 293 00:14:52,730 --> 00:14:55,605 אבער אויב איך ווילן צו אַרייַנלייגן אין די סוף, איך האָבן צו אָנהייבן בייַ די אָנהייב, 294 00:14:55,605 --> 00:14:58,760 דורך אַלע די וועג צו די סוף, און דעמאָלט שטיפט עס אויף. 295 00:14:58,760 --> 00:15:01,420 אַזוי אַז וואָלט מיינען אַז ינסערטינג אין די סוף פון די רשימה 296 00:15:01,420 --> 00:15:04,140 וואָלט ווערן אַ אָ פון N אָפּעראַציע, גיי צוריק 297 00:15:04,140 --> 00:15:06,720 צו אונדזער דיסקוסיע פון קאַמפּיוטיישאַנאַל קאַמפּלעקסיטי. 298 00:15:06,720 --> 00:15:10,140 עס 'ד ווערן אַ אָ פון N אָפּעראַציע, ווו ווי דער רשימה גאַט ביגער, און ביגער, 299 00:15:10,140 --> 00:15:13,310 און ביגער, עס וועט ווערן מער און מער שווער צו שטיפט עפּעס 300 00:15:13,310 --> 00:15:14,661 אויף אין די סוף. 301 00:15:14,661 --> 00:15:17,410 אבער עס ס שטענדיק טאַקע גרינג צו שטיפט עפּעס אויף אין די אָנהייב, 302 00:15:17,410 --> 00:15:19,060 איר ניטאָ שטענדיק אין די אָנהייב. 303 00:15:19,060 --> 00:15:21,620 >> און מיר וועט זען אַ וויזשאַוואַל פון דעם ווידער. 304 00:15:21,620 --> 00:15:24,100 און דעמאָלט אַמאָל מיר ניטאָ געטאן, אַמאָל מיר ווע ינסערטאַד די נייַ נאָדע, 305 00:15:24,100 --> 00:15:26,880 מיר ווילן צו צוריקקומען אונדזער טייַטל צו די נייַ קאָפּ פון אַ לינגקט רשימה, וואָס 306 00:15:26,880 --> 00:15:29,213 זינט מיר רע ינסערטינג אין די אָנהייב, וועט אַקטשאַוואַלי זיין 307 00:15:29,213 --> 00:15:31,060 אַ טייַטל צו די נאָדע מיר נאָר Created. 308 00:15:31,060 --> 00:15:33,280 זאל ס וויזשוואַלייז דעם, ווייַל איך טראַכטן עס וועט העלפן. 309 00:15:33,280 --> 00:15:36,661 >> אַזוי דאָ ס אונדזער רשימה, עס באשטייט פון פיר יסודות, אַ נאָדע מיט 15, 310 00:15:36,661 --> 00:15:38,410 וואָס ווייזט צו אַ נאָדע מיט 9, וואָס 311 00:15:38,410 --> 00:15:41,370 ווייזט צו אַ נאָדע מיט 13, וואָס ווייזט צו אַ נאָדע מיט 312 00:15:41,370 --> 00:15:44,840 10, וואָס האט די נאַל טייַטל ווי זייַן ווייַטער טייַטל 313 00:15:44,840 --> 00:15:47,010 אַזוי אַז ס די סוף פון די רשימה. 314 00:15:47,010 --> 00:15:50,200 אַזוי מיר ווילן צו טאָן אַ נייַ נאָדע מיט די ווערט 12 315 00:15:50,200 --> 00:15:52,720 אין די אָנהייב פון דעם רשימה, וואָס טוט מיר טאָן? 316 00:15:52,720 --> 00:15:58,770 נו, ערשטער מיר מאַללאָק פּלאַץ פֿאַר די נאָדע, און דעמאָלט מיר שטעלן 12 אין עס. 317 00:15:58,770 --> 00:16:02,211 >> אַזוי איצט מיר ווע ריטשט אַ באַשלוס פונט, רעכט? 318 00:16:02,211 --> 00:16:03,960 מיר האָבן אַ פּאָר פון פּוינטערז אַז מיר קען 319 00:16:03,960 --> 00:16:06,770 באַוועגן, וואָס איינער זאָל מיר באַוועגן ערשטער? 320 00:16:06,770 --> 00:16:09,250 זאָל מיר מאַכן 12 פונט צו די נייַ קאָפּ פון די ליסט-- 321 00:16:09,250 --> 00:16:13,020 אָדער אַנטשולדיקן מיר, זאָל מיר מאַכן 12 פונט צו די אַלט קאָפּ פון דער רשימה? 322 00:16:13,020 --> 00:16:15,319 אָדער זאָל מיר זאָגן אַז די רשימה איצט הייבט בייַ 12. 323 00:16:15,319 --> 00:16:17,110 עס ס אַ דיסטינגקשאַן עס, און מיר וועט קוקן 324 00:16:17,110 --> 00:16:19,870 אין וואָס כאַפּאַנז מיט ביידע אין אַ רגע. 325 00:16:19,870 --> 00:16:23,350 >> אבער דעם לידז צו אַ גרויס טעמע פֿאַר סיידבאַר, 326 00:16:23,350 --> 00:16:26,280 וואָס איז אַז איינער פון די טריקקיעסט זאכן מיט לינגקט רשימות 327 00:16:26,280 --> 00:16:30,980 איז צו צולייגן די פּוינטערז אין די ריכטיק סדר. 328 00:16:30,980 --> 00:16:34,520 אויב איר מאַך זאכן אויס פון סדר, איר קענען סוף אַרויף אַקסאַדענאַלי 329 00:16:34,520 --> 00:16:36,050 אָרפאַנינג די מנוחה פון די רשימה. 330 00:16:36,050 --> 00:16:37,300 און דאָ ס אַ בייַשפּיל פון וואָס. 331 00:16:37,300 --> 00:16:40,540 אַזוי לאָזן ס גיין מיט די געדאַנק אָפ-- נו, מיר ווע נאָר Created 12. 332 00:16:40,540 --> 00:16:43,180 מיר וויסן 12 איז געגאנגען צו זיין די נייַ קאָפּ פון דער רשימה, 333 00:16:43,180 --> 00:16:47,660 און אַזוי וואָס טאָן ניט מיר נאָר מאַך די רשימה טייַטל צו פונט עס. 334 00:16:47,660 --> 00:16:49,070 >> גוט, אַזוי אַז ס גוט. 335 00:16:49,070 --> 00:16:51,560 אַזוי איצט ווו טוט 12 ווייַטער פונט? 336 00:16:51,560 --> 00:16:54,580 איך מיינען, וויזשוואַלי מיר קענען זען אַז עס וועט פונט צו 15, 337 00:16:54,580 --> 00:16:57,250 ווי יומאַנז עס ס טאַקע קלאָר ווי דער טאָג צו אונדז. 338 00:16:57,250 --> 00:17:00,300 ווי טוט די קאָמפּיוטער וויסן? 339 00:17:00,300 --> 00:17:02,720 מיר טאָן ניט האָבן עפּעס פּוינטינג צו 15 ענימאָר, רעכט? 340 00:17:02,720 --> 00:17:05,869 >> מיר ווע פאַרפאַלן קיין פיייקייַט צו אָפּשיקן צו 15. 341 00:17:05,869 --> 00:17:11,460 מיר קענען נישט זאָגן נייַ פייַל ווייַטער יקוואַלז עפּעס, עס ס גאָרנישט דאָרט. 342 00:17:11,460 --> 00:17:13,510 אין פאַקט, מיר ווע אָרפאַנעד די מנוחה פון דער רשימה 343 00:17:13,510 --> 00:17:16,465 דורך טאן אַזוי, מיר ווע אַקסאַדענאַלי צעבראכן די קייט. 344 00:17:16,465 --> 00:17:18,089 און מיר אַוואַדע טאָן ניט וועלן צו טאָן אַז. 345 00:17:18,089 --> 00:17:20,000 >> אַזוי לאָזן ס גיין צוריק און פּרובירן דעם ווידער. 346 00:17:20,000 --> 00:17:24,060 אפֿשר די רעכט זאַך צו טאָן איז צו שטעלן 12 ס ווייַטער טייַטל 347 00:17:24,060 --> 00:17:28,290 צו דער אַלט קאָפּ פון די רשימה ערשטער, דעמאָלט מיר קענען באַוועגן די רשימה איבער. 348 00:17:28,290 --> 00:17:30,420 און אין פאַקט, אַז איז די ריכטיק סדר אַז מיר 349 00:17:30,420 --> 00:17:32,836 דאַרפֿן צו נאָכפאָלגן ווען מיר ניטאָ ארבעטן מיט יינציקווייַז לינגקט רשימה. 350 00:17:32,836 --> 00:17:36,460 מיר שטענדיק ווילן צו פאַרבינדן די נייַ עלעמענט אין דער רשימה, 351 00:17:36,460 --> 00:17:41,010 איידער מיר נעמען אַז מין פון וויכטיק שריט פון טשאַנגינג 352 00:17:41,010 --> 00:17:43,360 ווו דער קאָפּ פון די לינגקט רשימה איז. 353 00:17:43,360 --> 00:17:46,740 ווידער, אַז ס אַזאַ אַ פונדאַמענטאַל זאַך, מיר טאָן ניט ווילן צו פאַרלירן שפּור פון אים. 354 00:17:46,740 --> 00:17:49,310 >> אַזוי מיר ווילן צו מאַכן זיכער אַז אַלץ איז טשיינד צוזאַמען, 355 00:17:49,310 --> 00:17:52,040 איידער מיר מאַך אַז טייַטל. 356 00:17:52,040 --> 00:17:55,300 און אַזוי דעם וואָלט זיין די ריכטיק סדר, וואָס איז צו פאַרבינדן 12 צו די רשימה, 357 00:17:55,300 --> 00:17:57,630 דעריבער זאָגן אַז דער רשימה סטאַרץ אַ 12. 358 00:17:57,630 --> 00:18:00,860 אויב מיר האט דער רשימה סטאַרץ בייַ 12 און דעמאָלט פּרובירן צו פאַרבינדן 12 צו די רשימה, 359 00:18:00,860 --> 00:18:02,193 מיר ווע שוין געזען וואָס כאַפּאַנז. 360 00:18:02,193 --> 00:18:04,920 מיר פאַרלירן די רשימה דורך גרייַז. 361 00:18:04,920 --> 00:18:06,740 >> גוט, אַזוי איינער מער זאַך צו רעדן וועגן. 362 00:18:06,740 --> 00:18:09,750 וואָס אויב מיר ווילן צו באַקומען באַפרייַען פון אַ גאנצע לינגקט רשימה אין אַמאָל? 363 00:18:09,750 --> 00:18:11,750 ווידער, מיר ניטאָ מאַללאָסינג אַלע דעם אָרט, און אַזוי מיר 364 00:18:11,750 --> 00:18:13,351 דאַרפֿן צו פּאָטער עס ווען מיר ניטאָ געטאן. 365 00:18:13,351 --> 00:18:15,350 אַזוי איצט מיר ווילן צו ויסמעקן די גאנצע לינגקט רשימה. 366 00:18:15,350 --> 00:18:16,850 נו, וואָס טוט מיר ווילן צו טאָן? 367 00:18:16,850 --> 00:18:20,460 >> אויב מיר ווע ריטשט די נאַל טייַטל, מיר ווילן צו האַלטן, אַנדערש, נאָר ויסמעקן 368 00:18:20,460 --> 00:18:23,420 די מנוחה פון דער רשימה און דעמאָלט פּאָטער מיר. 369 00:18:23,420 --> 00:18:28,890 ויסמעקן די מנוחה פון דער רשימה, און דעמאָלט פּאָטער דעם קראַנט נאָדע. 370 00:18:28,890 --> 00:18:32,850 וואָס טוט אַז געזונט ווי, וואָס טעכניק האָבן מיר גערעדט 371 00:18:32,850 --> 00:18:35,440 וועגן ביז אַהער טוט אַז געזונט ווי? 372 00:18:35,440 --> 00:18:39,560 דיליט יעדער יינער אַנדערש, דעמאָלט קומען צוריק און ויסמעקן מיר. 373 00:18:39,560 --> 00:18:42,380 >> אַז ס רעקורסיאָן, מיר ווע געמאכט די פּראָבלעם אַ ביסל קלענערער, 374 00:18:42,380 --> 00:18:46,910 מיר ניטאָ זאגן ויסמעקן יעדער יינער אַנדערש, דעמאָלט איר קענען ויסמעקן מיר. 375 00:18:46,910 --> 00:18:50,940 און ווייַטער אַראָפּ די וועג, אַז נאָדע וועט זאָגן, ויסמעקן יעדער יינער אַנדערש. 376 00:18:50,940 --> 00:18:53,940 אָבער יווענטשאַוואַלי מיר וועט באַקומען צו דעם פונט ווו די רשימה איז נאַל, 377 00:18:53,940 --> 00:18:55,310 און אַז ס אונדזער באַזע פאַל. 378 00:18:55,310 --> 00:18:57,010 >> אַזוי לאָזן ס נעמען אַ קוק אין דעם, און ווי דעם זאל אַרבעט. 379 00:18:57,010 --> 00:18:59,759 אַזוי דאָ ס אונדזער רשימה, עס ס די זעלבע רשימה מיר האבן נאָר גערעדט וועגן, 380 00:18:59,759 --> 00:19:00,980 און עס ס די טריט. 381 00:19:00,980 --> 00:19:04,200 עס ס אַ פּלאַץ פון טעקסט דאָ, אָבער אַלעווייַ די וויזשוואַלאַזיישאַן וועט העלפן. 382 00:19:04,200 --> 00:19:08,557 >> אַזוי מיר האַווע-- און איך אויך פּולד אַרויף אונדזער אָנלייגן ראָמען געמעל 383 00:19:08,557 --> 00:19:10,890 פון אונדזער ווידעא אויף רופן סטאַקס, און אַלעווייַ אַלע פון ​​דעם 384 00:19:10,890 --> 00:19:13,260 צוזאַמען וועט ווייַזן איר וואָס ס געגאנגען אויף. 385 00:19:13,260 --> 00:19:14,510 אַזוי דאָ ס אונדזער פּסעודאָקאָדע קאָד. 386 00:19:14,510 --> 00:19:17,830 אויב מיר דערגרייכן אַ נאַל טייַטל, האַלטן, אַנדערש, 387 00:19:17,830 --> 00:19:21,320 ויסמעקן די מנוחה פון דער רשימה, דעמאָלט פּאָטער דעם קראַנט נאָדע. 388 00:19:21,320 --> 00:19:25,700 אַזוי רעכט איצט, ליסט-- די טייַטל אַז מיר ניטאָ 389 00:19:25,700 --> 00:19:28,410 פּאַסינג אין צו צעשטערן ווייזט צו 12. 390 00:19:28,410 --> 00:19:33,340 12 איז ניט אַ נאַל טייַטל, אַזוי מיר ניטאָ געגאנגען צו ויסמעקן די מנוחה פון די רשימה. 391 00:19:33,340 --> 00:19:35,450 >> וואָס איז דיליטינג די מנוחה פון אונדז ינוואַלווד? 392 00:19:35,450 --> 00:19:37,950 נו, עס מיטל געמאכט אַ רוף צו צעשטערן, אַזוי צו זאָגן 393 00:19:37,950 --> 00:19:42,060 אַז 15 איז דער אָנהייב פון די מנוחה פון די רשימה מיר ווילן צו צעשטערן. 394 00:19:42,060 --> 00:19:47,480 און אַזוי די רופן צו צעשטערן 12 איז מין פון אויף האַלטן. 395 00:19:47,480 --> 00:19:52,690 עס ס פאַרפרוירן עס, ווארטן פֿאַר די רוף צו צעשטערן 15, צו ענדיקן זייַן אַרבעט. 396 00:19:52,690 --> 00:19:56,280 >> נו, 15 איז ניט אַ נאַל טייַטל, און אַזוי עס ס געגאנגען צו זאָגן, אַלע רעכט, 397 00:19:56,280 --> 00:19:58,450 געזונט, ויסמעקן די מנוחה פון די רשימה. 398 00:19:58,450 --> 00:20:00,760 די מנוחה פון די רשימה סטאַרץ אין 9, און אַזוי מיר וועט נאָר 399 00:20:00,760 --> 00:20:04,514 וואַרטן ביז איר אויסמעקן אַלע אַז שטאָפּן, דעמאָלט קומען צוריק און ויסמעקן מיר. 400 00:20:04,514 --> 00:20:06,680 נו 9 ס 'געגאנגען צו זאָגן, נו, איך בין נישט אַ נאַל טייַטל, 401 00:20:06,680 --> 00:20:09,020 אַזוי ויסמעקן די מנוחה דער רשימה פון דאָ. 402 00:20:09,020 --> 00:20:11,805 און אַזוי פּרובירן און צעשטערן 13. 403 00:20:11,805 --> 00:20:15,550 13 זאגט, איך בין ניט נאַל טייַטל, זעלבע זאַך, עס פּאַסיז די באַק. 404 00:20:15,550 --> 00:20:17,930 10 איז ניט נאַל טייַטל, 10 כּולל אַ נאַל טייַטל, 405 00:20:17,930 --> 00:20:20,200 אָבער 10 איז ניט זיך אַ נאַל טייַטל רעכט איצט, 406 00:20:20,200 --> 00:20:22,470 און אַזוי עס פּאַסיז די באַק אויך. 407 00:20:22,470 --> 00:20:25,560 >> און איצט רשימה פּוינץ דאָרט, עס טאַקע וואָלט פונט צו סאָמע-- 408 00:20:25,560 --> 00:20:28,710 אויב איך האט מער פּלאַץ אין די בילד, עס וואָלט פונט צו עטלעכע ראַנדאָם פּלאַץ 409 00:20:28,710 --> 00:20:29,960 אַז מיר טאָן ניט וויסן וואָס עס איז. 410 00:20:29,960 --> 00:20:34,680 עס ס די נאַל טייַטל כאָטש, די רשימה איז ממש איצט שטעלן עס ס וואַלועס נאַל. 411 00:20:34,680 --> 00:20:36,820 עס ס פּוינטינג רעכט ין אַז רויט קעסטל. 412 00:20:36,820 --> 00:20:39,960 מיר ריטשט אַ נאַל טייַטל, אַזוי מיר קענען האַלטן, און מיר ניטאָ געטאן. 413 00:20:39,960 --> 00:20:46,230 >> און אַזוי אַז לילאַ ראַם איז נאָוו-- אין די שפּיץ פון סטאַקק-- אַז ס די אַקטיוו ראַם, 414 00:20:46,230 --> 00:20:47,017 אָבער עס ס געטאן. 415 00:20:47,017 --> 00:20:48,600 אויב מיר ווע ריטשט אַ נאַל טייַטל, האַלטן. 416 00:20:48,600 --> 00:20:51,290 מיר טאָן ניט טאָן עפּעס, מיר קענען ניט פּאָטער אַ נאַל טייַטל, 417 00:20:51,290 --> 00:20:55,070 מיר האבן ניט מאַללאָק קיין פּלאַץ, און אַזוי מיר ניטאָ געטאן. 418 00:20:55,070 --> 00:20:57,590 אַזוי אַז פֿונקציע ראַם איז חרובֿ, און מיר 419 00:20:57,590 --> 00:21:00,930 רעסומע-- מיר קלייַבן אַרויף ווו מיר לינקס אַוועק מיט די ווייַטער העכסטן איינער, וואָס 420 00:21:00,930 --> 00:21:02,807 איז דעם טונקל בלוי ראַם דאָ. 421 00:21:02,807 --> 00:21:04,390 אַזוי מיר קלייַבן אַרויף רעכט ווו מיר לינקס אַוועק. 422 00:21:04,390 --> 00:21:06,598 מיר אויסגעמעקט די איבעריקע רשימה שוין, אַזוי איצט מיר ניטאָ 423 00:21:06,598 --> 00:21:08,000 געגאנגען צו פּאָטער דעם קראַנט נאָודז. 424 00:21:08,000 --> 00:21:12,920 אַזוי איצט מיר קענען פּאָטער דעם נאָדע, און איצט מיר ווע ריטשט די סוף פון די פֿונקציע. 425 00:21:12,920 --> 00:21:16,810 און אַזוי אַז פֿונקציע ראַם איז חרובֿ, און מיר קלייַבן אַרויף אין די ליכט בלוי איינער. 426 00:21:16,810 --> 00:21:20,650 >> אזוי עס סייַס-- איך ווע שוין דאָנע-- דיליטינג די מנוחה פון דער רשימה, אַזוי 427 00:21:20,650 --> 00:21:23,140 פּאָטער די קראַנט נאָדע. 428 00:21:23,140 --> 00:21:26,520 און איצט די געל ראַם איז צוריק אויף שפּיץ פון דעם אָנלייגן. 429 00:21:26,520 --> 00:21:29,655 און אַזוי ווי איר זען, מיר ניטאָ איצט דיסטרויינג די רשימה פון רעכט צו לינקס. 430 00:21:29,655 --> 00:21:33,710 431 00:21:33,710 --> 00:21:37,280 >> וואָס וואָלט האָבן געשען, כאָטש, אויב מיר האבן געטאן דאס די אומרעכט וועג? 432 00:21:37,280 --> 00:21:39,410 פּונקט ווי ווען מיר פּרובירן צו לייגן אַן עלעמענט. 433 00:21:39,410 --> 00:21:41,909 אויב מיר מעסט אַרויף די קייט, אויב מיר האבן נישט פאַרבינדן די פּוינטערז 434 00:21:41,909 --> 00:21:44,690 אין די ריכטיק סדר, אויב מיר נאָר פרעעד דער ערשטער עלעמענט, 435 00:21:44,690 --> 00:21:47,420 אויב מיר נאָר פרעעד די קאָפּ פון דער רשימה, איצט מיר 436 00:21:47,420 --> 00:21:49,642 האָבן קיין וועג צו אָפּשיקן צו די מנוחה פון די רשימה. 437 00:21:49,642 --> 00:21:51,350 און אַזוי מיר וואָלט האָבן אָרפאַנעד אַלץ, 438 00:21:51,350 --> 00:21:53,880 מיר וואָלט האָבן געהאט וואָס ס גערופֿן אַ זכּרון רינען. 439 00:21:53,880 --> 00:21:56,800 אויב איר צוריקרופן פון אונדזער ווידעא אויף דינאַמיש זכּרון אַלאַקיישאַן, 440 00:21:56,800 --> 00:21:58,650 אַז ס ניט זייער גוט זאַך. 441 00:21:58,650 --> 00:22:00,810 >> אַזוי ווי איך געזאגט, עס זענען עטלעכע אַפּעריישאַנז 442 00:22:00,810 --> 00:22:04,010 וואָס מיר דאַרפֿן צו נוצן צו ווערק מיט לינגקט רשימה Effectively. 443 00:22:04,010 --> 00:22:08,430 און איר זאלט ​​האָבן באמערקט איך איבערגעהיפּערט איינער, דעלעטינג אַ איין עלעמענט פון אַ לינגקט 444 00:22:08,430 --> 00:22:09,064 רשימה. 445 00:22:09,064 --> 00:22:10,980 די סיבה איך האט אַז איז עס ס אַקטשאַוואַלי מין פון 446 00:22:10,980 --> 00:22:14,360 טריקי צו טראַכטן וועגן ווי צו אויסמעקן אַ איין עלעמענט פון אַ יינציקווייַז 447 00:22:14,360 --> 00:22:15,600 לינגקט רשימה. 448 00:22:15,600 --> 00:22:19,950 מיר דאַרפֿן צו קענען צו האָפּקען איבער עפּעס אין די רשימה, וואָס 449 00:22:19,950 --> 00:22:22,975 מיטל מיר באַקומען צו אַ פּאָינט-- מיר ווילן צו ויסמעקן דעם נאָדע-- 450 00:22:22,975 --> 00:22:25,350 אבער אין סדר צו מאַכן עס אַזוי מיר דו זאלסט נישט פאַרלירן קיין אינפֿאָרמאַציע, 451 00:22:25,350 --> 00:22:30,530 מיר דאַרפֿן צו פאַרבינדן דעם נאָדע איבער דאָ, דאָ. 452 00:22:30,530 --> 00:22:33,390 >> אַזוי איך מיסטאָמע האט אַז פאַלש פון אַ וויזשאַוואַל פּערספּעקטיוו. 453 00:22:33,390 --> 00:22:36,830 אזוי מיר ניטאָ אין די אָנהייב פון אונדזער רשימה, מיר ניטאָ פּראַסידינג דורך, 454 00:22:36,830 --> 00:22:40,510 מיר ווילן צו ויסמעקן דעם נאָדע. 455 00:22:40,510 --> 00:22:43,440 אויב מיר נאָר ויסמעקן עס, מיר ווע געווען בראָקען די קייט. 456 00:22:43,440 --> 00:22:45,950 דעם נאָדע רעכט דאָ רעפערס צו אַלץ אַנדערש, 457 00:22:45,950 --> 00:22:48,260 עס כּולל די קייט פון דאָ אויף אויס. 458 00:22:48,260 --> 00:22:51,190 >> אַזוי וואָס מיר דאַרפֿן צו טאָן אַקטשאַוואַלי נאָך מיר באַקומען צו דעם פונט, 459 00:22:51,190 --> 00:22:56,670 איז מיר דאַרפֿן צו שריט צוריק איינער, און פאַרבינדן דעם נאָדע איבער צו דעם נאָדע, 460 00:22:56,670 --> 00:22:58,590 אַזוי מיר קענען דעריבער אויסמעקן די איין אין די מיטל. 461 00:22:58,590 --> 00:23:02,120 אבער יינציקווייַז לינגקט רשימות טאָן ניט צושטעלן אונדז אַ וועג צו גיין קאַפּויער. 462 00:23:02,120 --> 00:23:05,160 אַזוי מיר דאַרפֿן צו אָדער האַלטן צוויי פּוינטערז, און מאַך זיי 463 00:23:05,160 --> 00:23:09,527 סאָרט פון אַוועק שריט, איין הינטער די אנדערע ווי מיר גיין, אָדער באַקומען צו אַ פונט 464 00:23:09,527 --> 00:23:11,110 און דעמאָלט שיקן דעם אנדערן טייַטל דורך. 465 00:23:11,110 --> 00:23:13,150 און ווי איר קענען זען, עס קענען באַקומען אַ ביסל מעסי. 466 00:23:13,150 --> 00:23:15,360 צומ גליק, מיר האָבן אן אנדער וועג צו האַלטן אַז, 467 00:23:15,360 --> 00:23:17,810 ווען מיר רעדן וועגן דאַבלי לינגקט רשימות. 468 00:23:17,810 --> 00:23:20,720 >> איך בין דאַג לויד, דאָס איז קס50. 469 00:23:20,720 --> 00:23:22,298