1 00:00:00,000 --> 00:00:07,700 2 00:00:07,700 --> 00:00:10,890 >> เควิน SCHMID: บางครั้งเมื่อมีการสร้าง โปรแกรมคุณอาจต้องการที่จะใช้ 3 00:00:10,890 --> 00:00:13,190 โครงสร้างข้อมูลที่รู้จักกันในพจนานุกรม 4 00:00:13,190 --> 00:00:17,960 คีย์แผน​​ที่พจนานุกรมซึ่งเป็น มักจะสายไปยังค่า ints, 5 00:00:17,960 --> 00:00:21,900 ตัวอักษรตัวชี้ไปยังวัตถุบางอย่าง สิ่งที่เราต้องการ 6 00:00:21,900 --> 00:00:26,510 ก็เช่นเดียวกับพจนานุกรมสามัญ ว่าคำพูดของแผนที่ผ่านคำจำกัดความ 7 00:00:26,510 --> 00:00:29,440 >> พจนานุกรมให้เราด้วย ความสามารถในการเก็บข้อมูล 8 00:00:29,440 --> 00:00:32,750 ที่เกี่ยวข้องกับสิ่งที่ และมองมันได้ในภายหลัง 9 00:00:32,750 --> 00:00:36,620 ดังนั้นทำอย่างไรเราจริงใช้ ในพจนานุกรมพูดรหัส C ที่เราสามารถทำได้ 10 00:00:36,620 --> 00:00:38,460 ใช้ในการอย่างใดอย่างหนึ่งของโปรแกรมของเราหรือไม่ 11 00:00:38,460 --> 00:00:41,790 ดีมีหลายวิธีที่ เราสามารถใช้พจนานุกรม 12 00:00:41,790 --> 00:00:45,930 >> สำหรับหนึ่งเราสามารถใช้อาร์เรย์ที่เรา แบบไดนามิกอีกครั้งขนาดหรือเราสามารถใช้ 13 00:00:45,930 --> 00:00:49,150 รายการที่เชื่อมโยง, ตารางแฮช หรือต้นไม้ไบนารี 14 00:00:49,150 --> 00:00:52,250 แต่สิ่งที่เราเลือกที่เราควรจะ มีสติในการที่มีประสิทธิภาพและ 15 00:00:52,250 --> 00:00:54,300 ผลการดำเนินงานของการดำเนินการ 16 00:00:54,300 --> 00:00:57,930 เราควรจะคิดเกี่ยวกับขั้นตอนวิธีการที่ใช้ การแทรกและมองหารายการลง 17 00:00:57,930 --> 00:00:59,120 โครงสร้างข้อมูลของเรา 18 00:00:59,120 --> 00:01:03,060 >> สำหรับตอนนี้สมมติว่าเรา ต้องการที่จะใช้สตริงเป็นคีย์ 19 00:01:03,060 --> 00:01:07,290 ขอพูดคุยเกี่ยวกับความเป็นไปได้ โครงสร้างข้อมูลที่เรียกว่า Trie ที่ 20 00:01:07,290 --> 00:01:11,210 ดังนั้นนี่คือการแสดงออก ของ Trie 21 00:01:11,210 --> 00:01:14,590 >> เป็นภาพที่แสดงให้เห็น, Trie ที่ เป็นโครงสร้างข้อมูลต้นไม้ที่มี 22 00:01:14,590 --> 00:01:16,050 โหนดที่เชื่อมโยงกัน 23 00:01:16,050 --> 00:01:19,420 เราจะเห็นว่ามีรากอย่างชัดเจน โหนดมีการเชื่อมโยงบางส่วนยื่นออกไป 24 00:01:19,420 --> 00:01:20,500 โหนดอื่น ๆ 25 00:01:20,500 --> 00:01:23,040 แต่สิ่งที่ไม่แต่ละโหนดประกอบด้วย? 26 00:01:23,040 --> 00:01:26,700 ถ้าเราคิดว่าเรากำลังจัดเก็บคีย์ ด้วยตัวอักษรตามตัวอักษรเท่านั้นและ 27 00:01:26,700 --> 00:01:30,150 เราไม่สนใจเกี่ยวกับตัวอักษร นี่คือนิยามของโหนดที่ 28 00:01:30,150 --> 00:01:31,100 จะพอเพียง 29 00:01:31,100 --> 00:01:34,130 >> วัตถุที่มีชนิดเป็นโครงสร้าง โหนดมีสองส่วน 30 00:01:34,130 --> 00:01:35,740 เรียกว่าข้อมูลและเด็ก 31 00:01:35,740 --> 00:01:39,200 เราได้ทิ้งส่วนข้อมูลเป็นความคิดเห็น จะถูกแทนที่ด้วยองค์ประกอบ 32 00:01:39,200 --> 00:01:43,190 ประกาศเมื่อโหนด struct เป็น ที่จัดตั้งขึ้นในโปรแกรม C 33 00:01:43,190 --> 00:01:47,040 ส่วนข้อมูลของโหนดอาจจะ ค่าบูลีนที่จะระบุหรือ 34 00:01:47,040 --> 00:01:51,160 ไม่ได้แสดงให้เห็นถึงโหนดเสร็จสิ้น คีย์พจนานุกรมหรือมันอาจจะเป็น 35 00:01:51,160 --> 00:01:54,240 สตริงที่แสดงความหมายของ ของคำในพจนานุกรม 36 00:01:54,240 --> 00:01:58,870 >> เราจะใช้ใบหน้าที่ยิ้มเพื่อแสดง เมื่อข้อมูลที่มีอยู่ในโหนด 37 00:01:58,870 --> 00:02:02,310 มี 2​​6 องค์ประกอบในที่ของเรา เด็กแถวหนึ่งดัชนี 38 00:02:02,310 --> 00:02:03,690 ต่อตัวอักษร 39 00:02:03,690 --> 00:02:06,570 เราจะเห็นความสำคัญ ของในไม่ช้านี้ 40 00:02:06,570 --> 00:02:10,759 >> ให้ได้รับการมองที่ใกล้ชิดของโหนดราก ในแผนภาพของเราซึ่งมีข้อมูลไม่ 41 00:02:10,759 --> 00:02:14,740 ที่เกี่ยวข้องกับมันตามที่ระบุโดย ตัวตนของใบหน้าที่ยิ้มใน 42 00:02:14,740 --> 00:02:16,110 ส่วนข้อมูล 43 00:02:16,110 --> 00:02:19,910 ลูกศรยื่นออกมาจากส่วนของ อาร์เรย์เด็กแทนไม่โหนด 44 00:02:19,910 --> 00:02:21,640 ตัวชี้ไปยังโหนดอื่น ๆ 45 00:02:21,640 --> 00:02:25,500 ตัวอย่างเช่นลูกศรที่ยื่นออกมาจาก องค์ประกอบที่สองของเด็ก 46 00:02:25,500 --> 00:02:28,400 หมายถึงตัวอักษร B ในคีย์พจนานุกรม 47 00:02:28,400 --> 00:02:31,920 และในแผนภาพขนาดใหญ่ เราป้ายกับบี 48 00:02:31,920 --> 00:02:35,810 >> โปรดทราบว่าในแผนภาพขนาดใหญ่เมื่อเรา วาดตัวชี้ไปยังโหนดอื่นก็ 49 00:02:35,810 --> 00:02:39,100 ไม่สำคัญที่หัวลูกศร มีคุณสมบัติตรงตามที่โหนดอื่น ๆ 50 00:02:39,100 --> 00:02:43,850 Trie ตัวอย่างพจนานุกรมของเรามี คำสองคำที่และซูม 51 00:02:43,850 --> 00:02:47,040 ลองเดินผ่านตัวอย่างของ เงยหน้าขึ้นมองข้อมูลที่สำคัญ 52 00:02:47,040 --> 00:02:50,800 >> สมมติว่าเราต้องการที่จะเงยหน้าขึ้นมอง ค่าที่สอดคล้องกันสำหรับการอาบน้ำที่สำคัญ 53 00:02:50,800 --> 00:02:53,610 เราจะเริ่มมองของเราขึ้น ที่โหนดราก 54 00:02:53,610 --> 00:02:57,870 จากนั้นเราจะพาตัวอักษรตัวแรกของเรา ที่สำคัญ, B, และหาที่เกี่ยวข้อง 55 00:02:57,870 --> 00:03:00,020 จุดในเด็กแถวของเรา 56 00:03:00,020 --> 00:03:04,490 ขอให้สังเกตว่ามีตรงจุดที่ 26 ในอาร์เรย์หนึ่งสำหรับตัวอักษรของแต่ละ 57 00:03:04,490 --> 00:03:05,330 ตัวอักษร 58 00:03:05,330 --> 00:03:08,800 และเราจะมีจุดที่เป็นตัวแทนของ ตัวอักษรของตัวอักษรในการสั่งซื้อ 59 00:03:08,800 --> 00:03:13,960 >> เราจะดูที่ดัชนีที่สองแล้ว ดัชนีหนึ่งสำหรับบีโดยทั่วไปถ้าเรา 60 00:03:13,960 --> 00:03:17,990 มีบางตัวอักษร C ที่เราตามตัวอักษร สามารถกำหนดจุดที่ตรงกัน 61 00:03:17,990 --> 00:03:21,520 ในอาร์เรย์เด็กใช้ การคำนวณเช่นนี้ 62 00:03:21,520 --> 00:03:25,140 เราจะได้ใช้เด็กขนาดใหญ่ อาร์เรย์ถ้าเราต้องการที่จะให้มองขึ้นของ 63 00:03:25,140 --> 00:03:28,380 คีย์ที่มีช่วงกว้างของตัวอักษร เช่นทั้ง 64 00:03:28,380 --> 00:03:29,880 ชุดอักขระ ASCII 65 00:03:29,880 --> 00:03:32,630 >> ในกรณีนี้ชี้ ในอาร์เรย์เด็กของเราได้ที่ 66 00:03:32,630 --> 00:03:34,320 ดัชนีหนึ่งที่ไม่เป็นโมฆะ 67 00:03:34,320 --> 00:03:36,600 ดังนั้นเราจะยังคงมองหา ขึ้นอาบน้ำที่สำคัญ 68 00:03:36,600 --> 00:03:40,130 ถ้าเราเคยพบตัวชี้โมฆะ ที่จุดที่เหมาะสมในเด็ก 69 00:03:40,130 --> 00:03:43,230 อาเรย์ในขณะที่เราสำรวจโหนด, แล้วเราจะต้องบอกว่าเราว่า 70 00:03:43,230 --> 00:03:45,630 ไม่สามารถหาอะไรที่สำคัญที่ 71 00:03:45,630 --> 00:03:49,370 >> ตอนนี้เราจะพาจดหมายฉบับที่สองของ ที่สำคัญของเราและยังคงดังต่อไปนี้ 72 00:03:49,370 --> 00:03:52,400 ชี้วิธีนี้จนกว่าเราจะ ถึงจุดสิ้นสุดของที่สำคัญของเรา 73 00:03:52,400 --> 00:03:56,530 ถ้าเราถึงจุดสิ้นสุดของสำคัญโดยไม่ต้อง ตีปลายตายใด ๆ ตัวชี้โมฆะ 74 00:03:56,530 --> 00:03:59,730 เช่นเดียวกับกรณีที่นี่แล้วเราเท่านั้น มีการตรวจสอบอีกหนึ่งสิ่ง 75 00:03:59,730 --> 00:04:02,110 เป็นกุญแจสำคัญนี้จริง ในพจนานุกรมหรือไม่ 76 00:04:02,110 --> 00:04:07,660 >> ถ้าเป็นเช่นนั้นเราควรจะหาค่าดี ไอคอนหน้ายิ้มในแผนภาพของเราที่ 77 00:04:07,660 --> 00:04:08,750 คำลงท้าย 78 00:04:08,750 --> 00:04:12,270 หากมีสิ่งอื่นที่เก็บไว้กับ ข้อมูลแล้วเราสามารถส่งคืนได้ 79 00:04:12,270 --> 00:04:16,500 ตัวอย่างเช่นสวนสัตว์ที่สำคัญคือไม่ได้อยู่ใน พจนานุกรมแม้ว่าเราอาจจะมี 80 00:04:16,500 --> 00:04:19,810 ถึงจุดสิ้นสุดของคีย์นี้โดยไม่เคย กดปุ่มตัวชี้โมฆะในขณะที่เรา 81 00:04:19,810 --> 00:04:21,089 ย้ำผ่าน Trie ที่ 82 00:04:21,089 --> 00:04:25,436 >> ถ้าเราพยายามที่จะมองขึ้นไปอาบน้ำที่สำคัญ สองดัชนีอาร์เรย์โหนดสุดท้ายของ 83 00:04:25,436 --> 00:04:28,750 สอดคล้องกับตัวอักษร H จะ ได้จัดขึ้นชี้โมฆะ 84 00:04:28,750 --> 00:04:31,120 ดังนั้นการอาบน้ำไม่ได้อยู่ในพจนานุกรม 85 00:04:31,120 --> 00:04:34,800 และเพื่อ Trie ที่เป็นเอกลักษณ์ในการที่คีย์ จะไม่ถูกเก็บไว้อย่างชัดเจนใน 86 00:04:34,800 --> 00:04:36,650 โครงสร้างข้อมูล 87 00:04:36,650 --> 00:04:38,810 ดังนั้นทำอย่างไรเราใส่บางสิ่งบางอย่าง ใน Trie? 88 00:04:38,810 --> 00:04:41,780 >> ลองใส่กุญแจ สวนสัตว์ใน Trie ของเรา 89 00:04:41,780 --> 00:04:46,120 โปรดจำไว้ว่าใบหน้าที่ยิ้มที่โหนด สามารถสอดคล้องในรหัสง่าย 90 00:04:46,120 --> 00:04:50,170 ค่าบูลีนเพื่อแสดงให้เห็นว่าสวนสัตว์ อยู่ในพจนานุกรมหรือมันอาจจะ 91 00:04:50,170 --> 00:04:53,710 สอดคล้องกับข้อมูลเพิ่มเติมที่เรา ต้องการที่จะเชื่อมโยงกับสวนสัตว์ที่สำคัญ 92 00:04:53,710 --> 00:04:56,860 เช่นคำนิยามของ คำหรือสิ่งอื่น 93 00:04:56,860 --> 00:05:00,350 ในบางวิธีการที่จะแทรก สิ่งที่เข้ามาใน Trie ที่มีความคล้ายคลึงกับ 94 00:05:00,350 --> 00:05:02,060 กำลังมองหาบางสิ่งบางอย่างใน Trie ที่ 95 00:05:02,060 --> 00:05:05,720 >> เราจะเริ่มต้นด้วยโหนดรากอีกครั้ง คำแนะนำดังต่อไปนี้สอดคล้องกับ 96 00:05:05,720 --> 00:05:07,990 จดหมายที่สำคัญของเรา 97 00:05:07,990 --> 00:05:11,310 โชคดีที่เราสามารถที่จะปฏิบัติตามคำแนะนำ ตลอดทางจนกว่าเราจะมาถึง 98 00:05:11,310 --> 00:05:12,770 ในตอนท้ายของคีย์ 99 00:05:12,770 --> 00:05:16,480 ตั้งแต่สวนสัตว์เป็นคำนำหน้าของคำว่า ซูมซึ่งเป็นสมาชิกของ 100 00:05:16,480 --> 00:05:19,440 พจนานุกรมเราไม่จำเป็นต้อง จัดสรรโหนดใหม่ ๆ 101 00:05:19,440 --> 00:05:23,140 >> เราสามารถปรับเปลี่ยนโหนดเพื่อบ่งชี้ว่า เส้นทางของตัวอักษรที่นำไปสู่ 102 00:05:23,140 --> 00:05:25,360 มันเป็นกุญแจสำคัญในพจนานุกรมของเรา 103 00:05:25,360 --> 00:05:28,630 ตอนนี้ขอลองใส่ บาทสำคัญใน Trie ที่ 104 00:05:28,630 --> 00:05:32,260 เราจะเริ่มต้นที่โหนดราก และปฏิบัติตามคำแนะนำอีกครั้ง 105 00:05:32,260 --> 00:05:35,620 แต่ในสถานการณ์นี้เราตีตาย จบก่อนที่เราจะสามารถที่จะได้รับการ 106 00:05:35,620 --> 00:05:36,940 ในตอนท้ายของคีย์ 107 00:05:36,940 --> 00:05:40,980 ตอนนี้เราจะต้องจัดสรรบางส่วนใหม่ โหนดจะต้องจัดสรรใหม่ 108 00:05:40,980 --> 00:05:43,660 สำหรับแต่ละโหนดที่เหลืออยู่ จดหมายที่สำคัญของเรา 109 00:05:43,660 --> 00:05:46,740 >> ในกรณีนี้เราก็ต้อง ในการจัดสรรหนึ่งโหนดใหม่ 110 00:05:46,740 --> 00:05:50,590 แล้วเราจะต้องทำดัชนี H อ้างอิงโหนดใหม่นี้ 111 00:05:50,590 --> 00:05:54,070 อีกครั้งหนึ่งที่เราสามารถปรับเปลี่ยนโหนดที่ แสดงให้เห็นว่าเส้นทางของตัวละคร 112 00:05:54,070 --> 00:05:57,120 นำไปสู่​​การที่จะแสดงให้เห็นถึง ที่สำคัญในพจนานุกรมของเรา 113 00:05:57,120 --> 00:06:00,730 ให้เหตุผลเกี่ยวกับซีมโทติ ความซับซ้อนของขั้นตอนของเราเหล่านี้ 114 00:06:00,730 --> 00:06:02,110 สองงาน 115 00:06:02,110 --> 00:06:06,420 >> เราสังเกตเห็นว่าในทั้งสองกรณีจำนวน ของขั้นตอนขั้นตอนวิธีการของเราคือการเอา 116 00:06:06,420 --> 00:06:09,470 สัดส่วนกับจำนวนของ ตัวอักษรในคำหลัก 117 00:06:09,470 --> 00:06:10,220 ที่เหมาะสม 118 00:06:10,220 --> 00:06:13,470 เมื่อคุณต้องการที่จะมองหาคำใน Trie ที่คุณเพียงแค่ต้องย้ำผ่าน 119 00:06:13,470 --> 00:06:17,100 ตัวอักษรหนึ่งโดยหนึ่งจนกว่าคุณจะได้ทั้ง ถึงจุดสิ้นสุดของคำหรือ 120 00:06:17,100 --> 00:06:19,060 ตีปลายตายใน Trie ที่ 121 00:06:19,060 --> 00:06:22,470 >> และเมื่อคุณต้องการที่จะแทรกที่สำคัญ ค่าคู่เป็น Trie ที่ใช้ 122 00:06:22,470 --> 00:06:26,250 ขั้นตอนที่เราได้พูดถึงกรณีที่เลวร้ายที่สุด จะช่วยให้คุณจัดสรรโหนดใหม่ 123 00:06:26,250 --> 00:06:27,550 สำหรับแต่ละตัวอักษร 124 00:06:27,550 --> 00:06:31,290 และเราจะถือว่าการจัดสรรที่ เป็นเวลาการดำเนินงานอย่างต่อเนื่อง 125 00:06:31,290 --> 00:06:35,850 ดังนั้นถ้าเราคิดว่าระยะเวลาที่สำคัญคือ จำกัด โดยค่าคงที่คงที่ทั้ง 126 00:06:35,850 --> 00:06:39,400 แทรกและมองขึ้นอย่างต่อเนื่อง เวลาสำหรับการดำเนินงาน Trie ที่ 127 00:06:39,400 --> 00:06:42,930 >> ถ้าเราไม่ได้ทำสมมติฐานนี้ว่า ระยะเวลาที่สำคัญเป็นที่สิ้นสุดโดยถาวร 128 00:06:42,930 --> 00:06:46,650 คงที่แล้วแทรกและการมองขึ้น ในกรณีที่เลวร้ายที่สุดที่มีในเชิงเส้น 129 00:06:46,650 --> 00:06:48,240 ความยาวของคีย์ 130 00:06:48,240 --> 00:06:51,800 ขอให้สังเกตว่าจำนวนรายการที่เก็บไว้ ใน Trie ที่ไม่ได้ส่งผลกระทบต่อรูปลักษณ์ขึ้น 131 00:06:51,800 --> 00:06:52,820 หรือเวลาที่แทรก 132 00:06:52,820 --> 00:06:55,360 มันเป็นผลกระทบโดยเฉพาะ ความยาวของคีย์ 133 00:06:55,360 --> 00:06:59,300 >> ในทางตรงกันข้ามการเพิ่มรายการที่จะพูด ตารางแฮชมีแนวโน้มที่จะทำให้ 134 00:06:59,300 --> 00:07:01,250 อนาคตมองขึ้นช้าลง 135 00:07:01,250 --> 00:07:04,520 ขณะนี้อาจจะน่าสนใจในตอนแรก เราควรจะเก็บไว้ในใจว่า 136 00:07:04,520 --> 00:07:08,740 ความซับซ้อนซีมโทติที่ดีไม่ได้ หมายความว่าในทางปฏิบัติข้อมูล 137 00:07:08,740 --> 00:07:11,410 โครงสร้างจำเป็นต้อง เกินประณาม 138 00:07:11,410 --> 00:07:15,860 นอกจากนี้เรายังต้องพิจารณาว่าในการจัดเก็บ คำใน Trie ที่เราต้องการในที่เลวร้ายที่สุด 139 00:07:15,860 --> 00:07:19,700 กรณีจำนวนโหนดสัดส่วน ความยาวของคำที่ตัวเอง 140 00:07:19,700 --> 00:07:21,880 >> พยายามที่มักจะใช้พื้นที่มาก 141 00:07:21,880 --> 00:07:25,620 นั่นคือในทางตรงกันข้ามกับตารางแฮช, ที่เราต้องการเพียงหนึ่งโหนดใหม่ 142 00:07:25,620 --> 00:07:27,940 คู่เก็บค่าบางอย่างที่สำคัญ 143 00:07:27,940 --> 00:07:31,370 ตอนนี้อีกครั้งในทฤษฎีพื้นที่ขนาดใหญ่ การบริโภคไม่ได้ดูเหมือนใหญ่ 144 00:07:31,370 --> 00:07:34,620 จัดการโดยเฉพาะอย่างยิ่งที่ทันสมัย คอมพิวเตอร์มีกิกะไบต์และ 145 00:07:34,620 --> 00:07:36,180 กิกะไบต์หน่วยความจำ 146 00:07:36,180 --> 00:07:39,200 แต่มันกลับกลายเป็นว่าเรายังคงมี กังวลเกี่ยวกับการใช้งานหน่วยความจำและ 147 00:07:39,200 --> 00:07:42,540 องค์กรเพื่อประโยชน์ของ ผลการดำเนินงานตั้งแต่เครื่องคอมพิวเตอร์ที่ทันสมัย 148 00:07:42,540 --> 00:07:46,960 มีกลไกในสถานที่ภายใต้ เครื่องดูดควันเพื่อเพิ่มความเร็วในการเข้าถึงหน่วยความจำ 149 00:07:46,960 --> 00:07:51,180 >> แต่กลไกเหล่านี้ทำงานได้ดีที่สุดเมื่อ การเข้าถึงหน่วยความจำจะทำในขนาดกะทัดรัด 150 00:07:51,180 --> 00:07:52,810 ภูมิภาคหรือพื้นที่ 151 00:07:52,810 --> 00:07:55,910 และโหนดของ Trie สามารถอาศัยอยู่ ที่ใดก็ได้ในกองที่ 152 00:07:55,910 --> 00:07:58,390 แต่เหล่านี้จะไม่ชอบการค้า ที่เราจะต้องพิจารณา 153 00:07:58,390 --> 00:08:01,440 >> โปรดจำไว้ว่าเมื่อเลือกข้อมูล โครงสร้างสำหรับงานบางอย่างเรา 154 00:08:01,440 --> 00:08:04,420 ควรคิดเกี่ยวกับสิ่งที่ชนิดของ การดำเนินงานโครงสร้างข้อมูลความต้องการที่จะ 155 00:08:04,420 --> 00:08:07,140 การสนับสนุนและวิธีการที่มีประสิทธิภาพมาก ของแต่ละคน 156 00:08:07,140 --> 00:08:09,080 เรื่องการดำเนินงานของเรา 157 00:08:09,080 --> 00:08:11,300 ดำเนินการเหล่านี้อาจจะได้ ขยายเกินเพียงแค่ 158 00:08:11,300 --> 00:08:13,430 ขึ้นมองพื้นฐานและการแทรก 159 00:08:13,430 --> 00:08:17,010 สมมติว่าเราต้องการที่จะใช้ชนิด ของการทำงานอัตโนมัติสมบูรณ์มาก 160 00:08:17,010 --> 00:08:18,890 เช่นเครื่องมือค้นหา Google ไม่ 161 00:08:18,890 --> 00:08:22,210 นั่นคือกลับคีย์ทั้งหมดและ ค่าที่อาจเกิดขึ้นซึ่ง 162 00:08:22,210 --> 00:08:24,130 มีคำนำหน้าให้ 163 00:08:24,130 --> 00:08:27,050 >> Trie ที่เป็นประโยชน์ที่ไม่ซ้ำกัน สำหรับการดำเนินงานนี้ 164 00:08:27,050 --> 00:08:29,890 มันตรงไปตรงมาย้ำผ่าน Trie ที่ตัวละครของแต่ละคน 165 00:08:29,890 --> 00:08:30,950 คำนำหน้า 166 00:08:30,950 --> 00:08:33,559 เช่นเดียวกับการดำเนินงานที่มีลักษณะขึ้น เราจะปฏิบัติตามคำแนะนำ 167 00:08:33,559 --> 00:08:35,400 ตัวอักษรด้วยตัวอักษร 168 00:08:35,400 --> 00:08:38,659 จากนั้นเมื่อเรามาถึงจุดสิ้นสุดของ คำนำหน้าเราสามารถย้ำผ่าน 169 00:08:38,659 --> 00:08:42,049 ส่วนที่เหลือของโครงสร้างข้อมูล ตั้งแต่ปุ่มใด ๆ เกิน 170 00:08:42,049 --> 00:08:43,980 จุดนี้มีคำนำหน้า 171 00:08:43,980 --> 00:08:47,670 >> นอกจากนี้ยังเป็นเรื่องง่ายที่จะได้รับรายชื่อนี้ ตามลำดับตัวอักษรตั้งแต่ 172 00:08:47,670 --> 00:08:50,970 องค์ประกอบของอาร์เรย์เด็ก มีคำสั่งตามลำดับตัวอักษร 173 00:08:50,970 --> 00:08:54,420 เพื่อหวังว่าคุณจะพิจารณา ให้พยายามลอง 174 00:08:54,420 --> 00:08:56,085 ฉันเควินชมิดและนี่คือ CS50 175 00:08:56,085 --> 00:08:58,745 176 00:08:58,745 --> 00:09:00,790 >> Ah, นี้เป็นจุดเริ่มต้น การลดลงของ 177 00:09:00,790 --> 00:09:01,350 ฉันขอโทษ 178 00:09:01,350 --> 00:09:01,870 ขอโทษ 179 00:09:01,870 --> 00:09:02,480 ขอโทษ 180 00:09:02,480 --> 00:09:03,130 ขอโทษ 181 00:09:03,130 --> 00:09:03,950 >> ตีสี่ 182 00:09:03,950 --> 00:09:04,360 ฉันออก 183 00:09:04,360 --> 00:09:05,280 ขอโทษ 184 00:09:05,280 --> 00:09:06,500 ขอโทษ 185 00:09:06,500 --> 00:09:07,490 ขอโทษ 186 00:09:07,490 --> 00:09:12,352 ขอโทษนะที่ทำให้คนที่ มีการแก้ไขนี้ไปบ้า 187 00:09:12,352 --> 00:09:13,280 >> ขอโทษ 188 00:09:13,280 --> 00:09:13,880 ขอโทษ 189 00:09:13,880 --> 00:09:15,080 ขอโทษ 190 00:09:15,080 --> 00:09:15,680 ขอโทษ 191 00:09:15,680 --> 00:09:16,280 >> ลำโพง 1: ทำดี 192 00:09:16,280 --> 00:09:17,530 ที่ทำดีจริงๆ 193 00:09:17,530 --> 00:09:18,430