1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
1
00:00:00,000 --> 00:00:00,500

2
00:00:00,500 --> 00:00:03,340
[موسیقی بجانے]

3
00:00:03,340 --> 00:00:11,020

4
00:00:11,020 --> 00:00:14,010
>> DAVID MALAN: یہ CS50 ہے.

5
00:00:14,010 --> 00:00:18,090
اور یہ شروع اور دونوں ہے
لفظی تقریبا آخر کی طرح end--

6
00:00:18,090 --> 00:00:18,825
ہفتے کے چھ کے.

7
00:00:18,825 --> 00:00:20,030

8
00:00:20,030 --> 00:00:22,640
>> میں نے ایک اشتراک سوچا
ایک مذاق حقیقت کی تھوڑا سا.

9
00:00:22,640 --> 00:00:25,370
میں نے ایک سے اس کو نکالا ہے
ماضی کی سمسٹر کے ڈیٹا مقرر.

10
00:00:25,370 --> 00:00:29,710
تم ہم ہر پر آپ سے پوچھنا ہے کہ یاد کر سکتے ہیں
P سیٹ کے فارم آپ کو آن لائن دیکھا ہے تو

11
00:00:29,710 --> 00:00:31,580
یا اگر آپ اس شخص کو میں شرکت کی ہے تو.

12
00:00:31,580 --> 00:00:33,020
اور یہاں کا ڈیٹا ہے.

13
00:00:33,020 --> 00:00:34,710
آج تو بہت زیادہ امکانات تھے.

14
00:00:34,710 --> 00:00:37,126
لیکن ہم تھوڑا سا خرچ کرنے کے لئے کرنا چاہتا تھا
وقت کے لئے آپ کے ساتھ باوجود.

15
00:00:37,126 --> 00:00:40,599
کسی کو کیوں یہ قیاس کرنا چاہوں گا
گراف، اوپر، نیچے، اوپر، نیچے، تا سے Jaggy ہے

16
00:00:40,599 --> 00:00:41,265
تو مسلسل کا؟

17
00:00:41,265 --> 00:00:42,980

18
00:00:42,980 --> 00:00:45,130
کیا چوٹیوں میں سے ہر ایک ایسا
اور troughs کی نمائندگی؟

19
00:00:45,130 --> 00:00:46,005
>> سامعین: [اشراوی]

20
00:00:46,005 --> 00:00:47,002

21
00:00:47,002 --> 00:00:47,835
DAVID MALAN: بے شک.

22
00:00:47,835 --> 00:00:50,900

23
00:00:50,900 --> 00:00:55,480
اور زیادہ amusingly، خدا نہ کرے،
ہم نے ایک جمعہ کو ایک لیکچر پکڑ

24
00:00:55,480 --> 00:00:58,960
سمسٹر کے آغاز میں،
کہ ہم ہو دیکھ کیا ہے.

25
00:00:58,960 --> 00:01:03,430
تو آج، ہم تھوڑا سا میں حصہ لینا
ڈیٹا ڈھانچے کے بارے میں مزید.

26
00:01:03,430 --> 00:01:06,660
اور اگر آپ کو ایک ٹھوس کے زیادہ دینا
پانچ بجے کے مسائل کے لئے ذہنی ماڈل،

27
00:01:06,660 --> 00:01:07,450
جو اب باہر ہے.

28
00:01:07,450 --> 00:01:10,817
غلط ہجے، جس میں، ہم کریں گے
اگر آپ ٹیکسٹ فائل کے ہاتھ کچھ 100،000

29
00:01:10,817 --> 00:01:12,650
علاوہ انگریزی الفاظ، اور
اگر آپ جا رہے ہیں

30
00:01:12,650 --> 00:01:17,770
چالاکی سے ان کو لوڈ کرنے کے لئے کس طرح پتہ کرنے
میموری میں، RAM میں، کچھ ڈیٹا کا استعمال کرتے ہوئے

31
00:01:17,770 --> 00:01:19,330
آپ کی پسند کا ڈھانچہ.

32
00:01:19,330 --> 00:01:22,470
>> اب ایسے ہی ایک آنکڑا ڈھانچہ کر سکتے تھے
نہیں ہونا چاہئے شاید ہو، لیکن،

33
00:01:22,470 --> 00:01:25,630
کافی سادہ لنک کی فہرست،
جو ہم نے آخری بار متعارف کرایا.

34
00:01:25,630 --> 00:01:29,220
اور ایک لنک کی فہرست میں کم از کم دیکھا گیا
ایک صف پر ایک فائدہ.

35
00:01:29,220 --> 00:01:32,096
ایک فائدہ کے کیا ہے
arguably سب ایک لنک کی فہرست؟

36
00:01:32,096 --> 00:01:32,950
>> سامعین: اضافے.

37
00:01:32,950 --> 00:01:33,908
>> DAVID MALAN: اضافے.

38
00:01:33,908 --> 00:01:34,155

39
00:01:34,155 --> 00:01:35,196
تم نے اس سے کیا مطلب ہے؟

40
00:01:35,196 --> 00:01:37,872
>> سامعین: کہیں بھی ساتھ
فہرست [اشراوی].

41
00:01:37,872 --> 00:01:38,770
>> DAVID MALAN: اچھا.

42
00:01:38,770 --> 00:01:42,090
لہذا اگر آپ کو ایک عنصر جہاں بھی داخل کر سکتے ہیں
آپ کو فہرست کے وسط میں چاہتا ہوں

43
00:01:42,090 --> 00:01:45,490
کچھ بھی فینٹنا کرنے کے لئے بغیر،
جس میں ہم ہمارے چھںٹائی میں، یہ نتیجہ اخذ کیا

44
00:01:45,490 --> 00:01:47,630
بات چیت، نہیں ہے
ایک اچھی بات ضروری،

45
00:01:47,630 --> 00:01:51,200
یہ وقت لگتا ہے، کیونکہ اصل میں منتقل کرنے کے لئے
لوگ انسانوں میں سے سب کے بائیں یا دائیں.

46
00:01:51,200 --> 00:01:55,540
اور اس طرح ایک لنک کی فہرست کے ساتھ، آپ کر سکتے ہیں
صرف malloc کے ساتھ مختص، ایک نیا نوڈ،

47
00:01:55,540 --> 00:01:58,385
اور اس کے بعد کے ایک جوڑے کو اپ ڈیٹ
اشارہ دو، تین آپریشن max--

48
00:01:58,385 --> 00:02:01,480
اور ہم کسی سلاٹ کرنے کے قابل ہیں
ایک فہرست میں کہیں بھی میں.

49
00:02:01,480 --> 00:02:03,550
>> اور کیا فائدہ مند تھا
ایک لنک کی فہرست کے بارے میں؟

50
00:02:03,550 --> 00:02:04,980

51
00:02:04,980 --> 00:02:05,659
جی ہاں؟

52
00:02:05,659 --> 00:02:06,534
>> سامعین: [اشراوی]

53
00:02:06,534 --> 00:02:07,538

54
00:02:07,538 --> 00:02:08,413
DAVID MALAN: کامل.

55
00:02:08,413 --> 00:02:10,590

56
00:02:10,590 --> 00:02:11,090
کامل.

57
00:02:11,090 --> 00:02:12,070
یہ واقعی میں متحرک ہے.

58
00:02:12,070 --> 00:02:15,100
اور تم نے ارتکاب نہیں کر رہے ہیں کہ،
ایڈوانس میں، کچھ مقررہ سائز کے

59
00:02:15,100 --> 00:02:18,750
میموری کا حصہ، جیسا کہ آپ کو ہوگا
ایک سرنی کے ساتھ، الٹا کرنے کے لئے جس کا

60
00:02:18,750 --> 00:02:22,455
آپ کو صرف پر نوڈس مختص کر سکتے ہیں یہ ہے کہ
مانگ، اس طرح صرف کے طور پر زیادہ سے زیادہ جگہ کو استعمال کرتے ہوئے

61
00:02:22,455 --> 00:02:23,330
آپ نے واقعی ضرورت کے طور پر.

62
00:02:23,330 --> 00:02:26,830
ایک صف کے ساتھ اس کے برعکس کی طرف سے، آپ کو شاید یہ
اتفاقی بہت کم مختص.

63
00:02:26,830 --> 00:02:28,871
اور پھر یہ صرف جا رہا ہے
گردن میں درد ہونے کا

64
00:02:28,871 --> 00:02:32,440
ایک نئی بڑی سرنی reallocate کرنے، کاپی
سب کچھ ختم،، پرانے سرنی آزاد

65
00:02:32,440 --> 00:02:33,990
اور پھر آپ کے کاروبار کے بارے میں منتقل.

66
00:02:33,990 --> 00:02:37,479
یا برا، آپ کو راستے مختص سکتا
آپ اصل میں ضرورت سے زیادہ میموری،

67
00:02:37,479 --> 00:02:40,520
اور تو آپ کو ایک بہت کی ضرورت کے لئے جا رہے ہیں
تو بات کرنے کی، سرنی کم آبادی.

68
00:02:40,520 --> 00:02:44,350
>> تاکہ ایک لنک کی فہرست کے ان آپ کو دیتا ہے
تحرک اور لچک کے فوائد

69
00:02:44,350 --> 00:02:46,080
اضافے اور حذف کے ساتھ.

70
00:02:46,080 --> 00:02:48,000
لیکن ضرور ادا کی ایک قیمت کا ہونا لازمی ہے.

71
00:02:48,000 --> 00:02:50,000
موضوعات کے حوالے سے اصل میں، ایک
کوئز صفر پر کھنگالنے

72
00:02:50,000 --> 00:02:52,430
تھا تجارت آف کے ایک جوڑے
ہم ابھی تک دیکھا ہے.

73
00:02:52,430 --> 00:02:56,161
تو ایک ایک ادا کی قیمت یا کیا ہے
ایک لنک کی فہرست کی کمی؟

74
00:02:56,161 --> 00:02:56,660
جی ہاں.

75
00:02:56,660 --> 00:02:57,560
>> سامعین: نہیں رینڈم رسائی.

76
00:02:57,560 --> 00:02:58,809
>> DAVID MALAN: نہیں رینڈم رسائی.

77
00:02:58,809 --> 00:02:59,540
لیکن کسے پرواہ ہے؟

78
00:02:59,540 --> 00:03:01,546
رینڈم ایکسیس مجبور نہیں لگتی.

79
00:03:01,546 --> 00:03:02,421
>> سامعین: [اشراوی]

80
00:03:02,421 --> 00:03:04,865

81
00:03:04,865 --> 00:03:05,740
DAVID MALAN: بالکل.

82
00:03:05,740 --> 00:03:07,580
اگر آپ کرنا چاہتے ہیں
ایک مخصوص الگورتھم

83
00:03:07,580 --> 00:03:10,170
اور مجھے اصل تجویز کرتے ہیں
خاص طور پر بائنری تلاش، جس

84
00:03:10,170 --> 00:03:12,600
ہم بہت تھوڑا سا استعمال کیا ہے میں سے ایک ہے
آپ کو بے ترتیب رسائی حاصل نہیں ہے تو،

85
00:03:12,600 --> 00:03:15,516
اگر آپ اس سادہ ریاضی نہیں کر سکتا
درمیانی عنصر کی طرح تلاش کرنے کے لئے

86
00:03:15,516 --> 00:03:16,530
اور اسے درست کرنے کے لئے کود.

87
00:03:16,530 --> 00:03:20,239
آپ اس کے بجائے سب سے پہلے میں شروع کرنا ہے
عنصر اور linearly کو بائیں سے تلاش

88
00:03:20,239 --> 00:03:22,780
درست کرنے کے لئے آپ کو تلاش کرنا چاہتے ہیں تو
مشرق یا کسی دوسرے عنصر.

89
00:03:22,780 --> 00:03:24,410
>> سامعین: یہ شاید زیادہ میموری لیتا ہے.

90
00:03:24,410 --> 00:03:25,040
>> DAVID MALAN: زیادہ میموری لیتا ہے.

91
00:03:25,040 --> 00:03:27,464
کہ جہاں اضافی ہے
میموری میں سے آنے والی لاگت آئے؟

92
00:03:27,464 --> 00:03:28,339
>> سامعین: [اشراوی]

93
00:03:28,339 --> 00:03:32,566

94
00:03:32,566 --> 00:03:33,440
DAVID MALAN: بالکل.

95
00:03:33,440 --> 00:03:35,679
یہاں اس صورت میں، ہم نے کیا
integers کے لئے ایک لنک کی فہرست،

96
00:03:35,679 --> 00:03:37,470
اور ابھی تک ہم دوگنا اضافہ کر رہے ہیں
میموری کی رقم

97
00:03:37,470 --> 00:03:39,680
ہم بھی یہ اشارہ ذخیرہ کرکے ضرورت.

98
00:03:39,680 --> 00:03:42,090
کے طور پر ایک بڑا سودا میں سے اب بھی کم
آپ structs کے بڑے ہو جاؤ

99
00:03:42,090 --> 00:03:45,320
اور تم نہیں ایک بڑی تعداد کو ذخیرہ کرنے کر رہے ہیں لیکن
شاید ایک طالب علم یا کسی دوسری چیز.

100
00:03:45,320 --> 00:03:46,880
لیکن بات کو یقینی طور سے بنی ہوئی ہے.

101
00:03:46,880 --> 00:03:49,421
اور اس طرح کی کارروائیوں کی ایک بڑی تعداد
منسلک کی فہرست پر کہا جاتا تھا

102
00:03:49,421 --> 00:03:50,570
(ن) لکیری کے بڑے اے تھے.

103
00:03:50,570 --> 00:03:54,730
اندراج یا تلاش کی طرح باتیں
یا کیس ایک عنصر میں منسوخی

104
00:03:54,730 --> 00:03:57,720
کے آخر میں ہونا ہوا
اس کے مطابق ہے یا نہیں ہے کہ آیا فہرست.

105
00:03:57,720 --> 00:04:01,167
>> کبھی کبھی تم خوش ہو جاؤ اور میں بھی ہو سکتا ہے
ان کارروائیوں پر اتنی نچلی گامزن

106
00:04:01,167 --> 00:04:04,250
اگر آپ نہیں ہیں تو بھی مسلسل وقت ہو سکتا ہے
ہمیشہ پہلے عنصر کی طرف دیکھ،

107
00:04:04,250 --> 00:04:05,070
مثال کے طور پر.

108
00:04:05,070 --> 00:04:09,360
لیکن آخر میں، ہم نے وعدہ کیا
مقدس grail کے حصول کے لئے

109
00:04:09,360 --> 00:04:12,630
ڈیٹا ڈھانچے میں، یا
کچھ سننکٹن اسکی،

110
00:04:12,630 --> 00:04:14,290
مسلسل وقت کی راہ کی طرف.

111
00:04:14,290 --> 00:04:17,579
ہم عناصر تلاش کر سکتے یا عناصر کو شامل کر سکتے ہیں
یا ایک فہرست کی طرف سے عناصر کو ہٹا دیں؟

112
00:04:17,579 --> 00:04:19,059
ہم بہت جلد ہی دیکھیں گے.

113
00:04:19,059 --> 00:04:21,100
اور یہ کہ کسی ایک کو باہر کر دیتا ہے
ہم میکانزم میں

114
00:04:21,100 --> 00:04:23,464
آج کا استعمال شروع کرنے کے لئے جا،
P میں سالانہ استعمال، پانچ مقرر

115
00:04:23,464 --> 00:04:24,630
اصل میں بہت واقف ہے.

116
00:04:24,630 --> 00:04:27,430
مثال کے طور پر، یہ ایک گروپ ہے، اگر
امتحان کتابوں کی، جن میں سے ہر

117
00:04:27,430 --> 00:04:29,660
ایک طالب علم کی پہلی ہے
اس پر اور آخری نام کا نام،

118
00:04:29,660 --> 00:04:31,820
اور میں ان سے اٹھا
امتحان کے اختتام پر،

119
00:04:31,820 --> 00:04:33,746
اور وہ سب خوبصورت ہو
ایک بے ترتیب ترتیب میں زیادہ سے زیادہ،

120
00:04:33,746 --> 00:04:36,370
اور ہم چھنٹائی کے بارے میں جانے کے لئے چاہتے ہیں
ان امتحانات تا کہ ایک بار درجہ بندی

121
00:04:36,370 --> 00:04:38,661
یہ صرف بہت آسان ہے اور
ان کی تیزی سے واپس باہر حوالے کرنے

122
00:04:38,661 --> 00:04:40,030
حروف تہجی کے طالب علموں کو.

123
00:04:40,030 --> 00:04:42,770
آپ instincts کیا ہو گا
اس طرح کے امتحان کے ڈھیر کے لئے؟

124
00:04:42,770 --> 00:04:45,019
>> ویسے، آپ میری طرح ہیں، تو آپ کو
یہ میٹر ہے کہ دیکھ سکتے ہیں،

125
00:04:45,019 --> 00:04:48,505
تو میں، کی طرح میں یہ ڈال کرنے جا رہا ہوں
یہ میری میز یا میری منزل کہاں ہے تو

126
00:04:48,505 --> 00:04:50,650
میں چیزوں کو عام کر رہا ہوں
باہر یا اپنے صف واقعی

127
00:04:50,650 --> 00:04:52,210
میں وہاں میں نے محترمہ کے تمام ڈال سکتا.

128
00:04:52,210 --> 00:04:52,710
اوہ.

129
00:04:52,710 --> 00:04:55,020
یہاں ایک A. تو میں نے شاید کیا ہے
یہاں کے طور پر ڈال دیا.

130
00:04:55,020 --> 00:04:55,520
اوہ.

131
00:04:55,520 --> 00:04:57,980
یہاں میں جا رہا ہوں ایک اور A. ہے
یہاں پر ہے کہ ڈال کرنے.

132
00:04:57,980 --> 00:05:02,490
یہاں ایک Z. یہاں ایک اور ایم اور ایسا ہے
میں نے اس طرح ڈھیر بنانے شروع ہو سکتا ہے.

133
00:05:02,490 --> 00:05:06,620
اور پھر شاید میں نے بعد میں جانا چاہتے ہیں
اور ترتیب دیں کا بہت nitpicky-LY عتبار

134
00:05:06,620 --> 00:05:07,710
انفرادی ڈھیر.

135
00:05:07,710 --> 00:05:11,300
لیکن بات میں نظر آئے گا ہے
میں نے ہاتھ میں ہوں کہ ان پٹ میں

136
00:05:11,300 --> 00:05:14,016
اور میں کچھ حساب کر بنا دے گا
کہ ان پٹ کی بنیاد پر فیصلہ.

137
00:05:14,016 --> 00:05:15,640
یہ ایک کے ساتھ شروع ہوتا ہے، وہاں سے زیادہ ڈال دیا.

138
00:05:15,640 --> 00:05:18,980
یہ Z کے ساتھ شروع ہوتا ہے، اس پر ڈال دیا
درمیان میں وہاں، اور سب کچھ.

139
00:05:18,980 --> 00:05:22,730
>> تو یہ ہے کہ ایک ٹیکنالوجی ہے
عام طور hashing-- H-A-S-H-- کے طور پر جانا

140
00:05:22,730 --> 00:05:26,550
جس کو عام طور پر کے طور پر لے جا رہا ہے کا مطلب
ان پٹ اور گنتی کرنے کہ ان پٹ کا استعمال کرتے ہوئے

141
00:05:26,550 --> 00:05:30,940
ایک قدر، عام طور پر ایک بڑی تعداد، اور یہ کہ
تعداد ایک سٹوریج میں انڈیکس ہے

142
00:05:30,940 --> 00:05:32,260
کنٹینر، ایک صف کی طرح.

143
00:05:32,260 --> 00:05:35,490
تو دوسرے الفاظ میں، میں نے ایک کو ہو سکتا ہے
ہیش تقریب، میں نے اپنے سر میں کرتے،

144
00:05:35,490 --> 00:05:37,940
میں نے کسی کو دیکھ کہ اگر
A کے ساتھ شروع ہوتا ہے جو نام،

145
00:05:37,940 --> 00:05:40,190
مجھے اس نقشے کے لئے جا رہا ہوں
میرے سر میں صفر.

146
00:05:40,190 --> 00:05:44,160
مجھے Z کے ساتھ کسی کو دیکھ کر تو اور، میں ہوں
میرے سر میں سے 25 اس نقشے کے لئے جا

147
00:05:44,160 --> 00:05:46,220
اور پھر میں اس کو ڈال
گزشتہ بیشتر ڈھیر.

148
00:05:46,220 --> 00:05:50,990
>> اب، اگر آپ میرے دماغ میں نہیں کے بارے میں سوچنا
لیکن ایک سی پروگرام، کیا تعداد کر سکتے تھے

149
00:05:50,990 --> 00:05:53,170
آپ اس پر ایک ہی نتائج حاصل کرنے پر انحصار کرتے ہیں؟

150
00:05:53,170 --> 00:05:55,594
دوسرے الفاظ میں، اگر آپ
، ASCII کردار ایک تھا

151
00:05:55,594 --> 00:05:57,510
کس طرح آپ کو اس بات کا تعین کرتے ہیں
کس بالٹی میں ڈال کرنے کے لئے؟

152
00:05:57,510 --> 00:05:59,801
آپ کو شاید نہیں کرنا چاہتا
بالٹی 65، میں ڈال جس

153
00:05:59,801 --> 00:06:01,840
وہاں طرح ہو جائے گا
کوئی اچھی وجہ کے لئے.

154
00:06:01,840 --> 00:06:04,320
جہاں آپ کو ایک ڈال کرنا چاہتے ہیں
اس کے ASCII قیمت کے لحاظ سے؟

155
00:06:04,320 --> 00:06:05,600

156
00:06:05,600 --> 00:06:08,920
جہاں آپ کو اس کے ASCII کے لئے کیا کرنا چاہتے ہیں
قدر ایک ہوشیار بالٹی کے ساتھ آنا

157
00:06:08,920 --> 00:06:09,480
میں ڈال کرنے کے لئے؟

158
00:06:09,480 --> 00:06:10,206
>> سامعین: مائنس A.

159
00:06:10,206 --> 00:06:10,956
>> DAVID MALAN: جی ہاں.

160
00:06:10,956 --> 00:06:13,190
لہذا مائنس A یا مائنس
خاص 65 اگر اس کے

161
00:06:13,190 --> 00:06:18,240
ایک دارالحکومت A. یا 98 اگر
یہ ایک چھوٹے ہے.

162
00:06:18,240 --> 00:06:21,300
اور اس لئے کہ بہت، ہمارے لئے کی اجازت دے گا
صرف اور بہت حسابی طریقے سے،

163
00:06:21,300 --> 00:06:23,260
اس طرح ایک بالٹی میں کچھ ڈال دیا.

164
00:06:23,260 --> 00:06:26,010
تو یہ ہم اصل میں کیا کرنا ہے کر دیتا ہے
اس کے ساتھ ساتھ اس سے بھی quizzes ہے کے ساتھ.

165
00:06:26,010 --> 00:06:29,051
>> تو اگر آپ کو اپنے دائرے میں یاد کر سکتے ہیں آپ
کور پر تعلیم ساتھی کا نام.

166
00:06:29,051 --> 00:06:32,270
اور TF کے ناموں کا اعلان کیا گیا
حروف تہجی کے ان کالموں میں،

167
00:06:32,270 --> 00:06:34,400
ساتھ ساتھ، اس پر یقین ہے یا نہیں،
جب ہم سب 80 پلس

168
00:06:34,400 --> 00:06:37,800
، گریڈ میں دوسری رات دوسرے کے ساتھ مل گیا
ہمارے گریڈنگ کے عمل میں آخری مرحلہ

169
00:06:37,800 --> 00:06:41,830
ایک بڑا میں quizzes ہے ہیش ہے
[اشراوی] پر منزل کے خلا

170
00:06:41,830 --> 00:06:45,110
اور سب کی quizzes کی باہر بچھانے
ان TF کی کے بالکل ترتیب میں

171
00:06:45,110 --> 00:06:47,700
کور پر ناموں، کیونکہ
تو یہ ہمارے لئے بہت آسان ہے

172
00:06:47,700 --> 00:06:51,290
کہ استعمال کرتے ہوئے لکیری کے ذریعے تلاش کرنے کے لئے
تلاش یا تدبیر کے کسی قسم

173
00:06:51,290 --> 00:06:54,050
ایک TF تلاش کرنے کے لئے اس کا یا
اس کے طالب علموں 'quizzes ہے.

174
00:06:54,050 --> 00:06:56,060
>> hashing کی تو یہ خیال
آپ ہی کو نظر آئے گا کہ

175
00:06:56,060 --> 00:07:00,520
بہت طاقتور ہے واقعی بہت ہے
عام اور بہت بدیہی،

176
00:07:00,520 --> 00:07:03,000
زیادہ شاید تقسیم طرح اور
فتح ہفتے صفر میں تھا.

177
00:07:03,000 --> 00:07:05,250
Hackathon کے کرنے میں تیزی سے آگے
سال کے ایک جوڑے پہلے.

178
00:07:05,250 --> 00:07:08,040
یہ کیا Zamyla اور ایک جوڑے میں سے تھا
دیگر عملے سلام طلباء

179
00:07:08,040 --> 00:07:09,030
وہ میں آیا کے طور پر.

180
00:07:09,030 --> 00:07:12,680
اور ہم تہ کی ایک پوری چڑھانے تھا
نام کے ٹیگ کے ساتھ وہاں میزیں.

181
00:07:12,680 --> 00:07:15,380
اور ہم نام کے ٹیگ کا اہتمام کیا تھا
ساتھ وہاں ہماری طرح

182
00:07:15,380 --> 00:07:16,690
اور وہاں ZS.

183
00:07:16,690 --> 00:07:20,350
اور تو TFs میں سے ایک بہت چالاکی
ہدایات کے طور پر یہ لکھا تھا

184
00:07:20,350 --> 00:07:21,030
دن کے لئے.

185
00:07:21,030 --> 00:07:24,480
اور سمسٹر اس کے ہفتے 12 میں
تمام کامل احساس اور سب کو بنایا

186
00:07:24,480 --> 00:07:25,310
کیا کرنا جانتے تھے.

187
00:07:25,310 --> 00:07:27,900
لیکن کسی بھی وقت آپ نے
اسی طرح میں قطار،

188
00:07:27,900 --> 00:07:30,272
آپ عملدرآمد کر رہے ہیں
ایک ہیش کے اسی تصور کی.

189
00:07:30,272 --> 00:07:31,730
تو یہ تھوڑا سا رسمی دیں.

190
00:07:31,730 --> 00:07:32,890
یہاں ایک صف ہے.

191
00:07:32,890 --> 00:07:36,820
یہ ایک چھوٹا سا ہو جائے کرنے کے لئے تیار ہے
وسیع صرف ضعف، بیان کرنا،

192
00:07:36,820 --> 00:07:38,920
ہم ڈور ڈال سکتا ہے
کچھ اس طرح میں.

193
00:07:38,920 --> 00:07:41,970
اور اس صف ہے
واضح طور پر سائز 26، کل.

194
00:07:41,970 --> 00:07:43,935
اور بات یہ ہے کہا جاتا ہے
میز منمانے.

195
00:07:43,935 --> 00:07:48,930
لیکن یہ صرف ایک آرٹسٹ کی گاین ہے
ایک ہیش ٹیبل ہو سکتا ہے کے.

196
00:07:48,930 --> 00:07:52,799
>> تو ایک ہیش میز اب جا رہا ہے
ایک اعلی سطح آنکڑا ڈھانچہ ہونے.

197
00:07:52,799 --> 00:07:54,840
دن کے آخر میں
ہم آپ کو یہ دیکھ کر بارے میں ہیں

198
00:07:54,840 --> 00:07:58,700
ایک ہیش میز، پر عمل درآمد کر سکتے ہیں جس
زیادہ چیک میں لکیر کی طرح ہے

199
00:07:58,700 --> 00:08:02,059
زیادہ سے زیادہ اس طرح ایک Hackathon کے اوپر
ٹیبل امتحان کتابوں چھنٹائی کے لئے استعمال کیا.

200
00:08:02,059 --> 00:08:03,850
لیکن ایک ہیش ٹیبل ہے
اس اعلی سطح کی طرح ہے

201
00:08:03,850 --> 00:08:08,250
ایک صف کا استعمال کر سکتا ہے کہ تصور
، ڈاکو اسے لاگو کرنے کے نیچے

202
00:08:08,250 --> 00:08:11,890
یا یہ ایک لمبائی فہرست کا استعمال، یا اس سے بھی کر سکتا ہے
شاید کچھ دیگر ڈیٹا کے ڈھانچے.

203
00:08:11,890 --> 00:08:15,590
اور اب کہ theme-- لے جا رہا ہے
ان بنیادی اجزاء میں سے کچھ

204
00:08:15,590 --> 00:08:18,310
ایک صف اور اس عمارت کی طرح
لمبائی فہرست میں اب بلاک

205
00:08:18,310 --> 00:08:21,740
اور ہم تعمیر کر سکتے ہیں اور کیا دیکھ
ان لوگوں کے سب سے اوپر پر، اجزاء کی طرح

206
00:08:21,740 --> 00:08:26,550
ایک ہدایت میں، زیادہ سے زیادہ بنانے
دلچسپ اور مفید حتمی نتائج.

207
00:08:26,550 --> 00:08:28,680
>> ہیش ٹیبل کے ساتھ تو
ہم اس پر عملدرآمد ہو سکتا ہے

208
00:08:28,680 --> 00:08:32,540
یاد میں pictorially کا اس طرح، لیکن
کس طرح یہ اصل میں کوڈت کیا جائے ہو سکتا ہے؟

209
00:08:32,540 --> 00:08:33,789
ٹھیک ہے، شاید کے طور پر صرف یہ ہے.

210
00:08:33,789 --> 00:08:38,270
تمام بڑے حروف میں صلاحیت، صرف ہے تو
مثال 26 کے لئے کچھ constant--،

211
00:08:38,270 --> 00:08:42,030
alphabet-- کے 26 خطوط کے لئے
میں نے اپنے متغیر میز فون کر سکتے،

212
00:08:42,030 --> 00:08:45,630
اور میں کرنے جا رہا ہوں یہ دعوی ہو سکتا ہے
وہاں، یا سٹرنگ میں چار ستاروں ڈال.

213
00:08:45,630 --> 00:08:49,880
تو یہ اتنا آسان ہے تو اس کے طور پر آپ
ایک ہیش میز پر عملدرآمد چاہتے ہیں.

214
00:08:49,880 --> 00:08:51,490
اور ابھی تک، یہ واقعی صرف ایک صف ہے.

215
00:08:51,490 --> 00:08:53,198
لیکن ایک بار پھر، ایک ہیش
ٹیبل کیا ہم کریں گے اب ہے

216
00:08:53,198 --> 00:08:57,470
صرف ہے کہ ایک خلاصہ ڈیٹا کی قسم کو فون
سب سے اوپر پر ایک تصوراتی layering کے عتبار

217
00:08:57,470 --> 00:09:00,780
زیادہ اشیاءہوسکتی چیز کا
اب ایک صف کی طرح.

218
00:09:00,780 --> 00:09:02,960
>> اب، ہم کس طرح جانا ہے
مسائل کو حل کرنے کے بارے میں؟

219
00:09:02,960 --> 00:09:06,980
ویسے، اس سے قبل میں نے عیش و عشرت گیا
یہاں کافی ٹیبل خلا اندوز

220
00:09:06,980 --> 00:09:09,460
میں ڈال سکتے ہیں، تا کہ
quizzes ہے کہیں بھی میں چاہتا تھا.

221
00:09:09,460 --> 00:09:10,620
تو کے طور پر یہاں جا سکتا.

222
00:09:10,620 --> 00:09:12,100
ZS یہاں جا سکتا.

223
00:09:12,100 --> 00:09:13,230
محترمہ یہاں جا سکتا.

224
00:09:13,230 --> 00:09:14,740
اور پھر میں نے کچھ اضافی خلا تھا.

225
00:09:14,740 --> 00:09:18,740
لیکن یہ ایک دھوکے باز حق کا تھوڑا سا ہے
اب اس ٹیبل کی وجہ سے، میں نے تو واقعی

226
00:09:18,740 --> 00:09:22,720
ایک صف کے طور پر اس کے بارے میں سوچا، صرف ہے
کچھ مقررہ سائز کے ہونے جا رہا.

227
00:09:22,720 --> 00:09:25,380
>> تو تکنیکی طور پر، میں ھیںچو
ایک اور طالب علم کا کوئز اپ

228
00:09:25,380 --> 00:09:28,490
اور اس شخص کی، اوہ، دیکھیں
نام، بھی ایک ایک کے ساتھ شروع ہوتا ہے

229
00:09:28,490 --> 00:09:30,980
میں اس قسم کی اس میں ڈال کرنا چاہتے ہیں.

230
00:09:30,980 --> 00:09:34,740
لیکن جیسے ہی میں ہے تو، اس میں ڈال کے طور پر
اس ٹیبل یقینا ایک صف کی نمائندگی کرتا ہے،

231
00:09:34,740 --> 00:09:37,840
میں زیرکر یا clobbering کی جائے کرنے کے لئے جا رہا ہوں
لھذا جس نے بھی اس طالب علم کے کوئز ہے.

232
00:09:37,840 --> 00:09:38,340
ٹھیک ہے نا؟

233
00:09:38,340 --> 00:09:41,972
یہ ایک صف ہے، تو صرف ایک ہی بات کر سکتے ہیں
ان خلیات یا عناصر میں سے ہر ایک میں جاؤ.

234
00:09:41,972 --> 00:09:43,680
اور اس طرح میں اس قسم کی ہے
لینے اور منتخب کرنے کے لئے.

235
00:09:43,680 --> 00:09:45,735
>> اب اس سے قبل میں اس قسم کی
دھوکہ دیا اور اس یا میں نے کیا

236
00:09:45,735 --> 00:09:47,526
صرف کی قسم سجا دیئے
ایک دوسرے کے اوپر ان.

237
00:09:47,526 --> 00:09:49,170
لیکن اس کے کوڈ میں پرواز کرنے کے لئے نہیں جا رہا ہے.

238
00:09:49,170 --> 00:09:52,260
لہذا میں جہاں ڈال سکتے
جس کا نام دوسرا طالب علم

239
00:09:52,260 --> 00:09:54,964
میں نے سب کو یہ ہے تو ایک ہے
دستیاب میز کی جگہ؟

240
00:09:54,964 --> 00:09:57,880
اور میں تین سلاٹ اور اس کا استعمال کیا ہے
صرف چند دوسروں کو ہے کی طرح لگتا ہے.

241
00:09:57,880 --> 00:09:58,959
آپ کیا کر سکتے تھے؟

242
00:09:58,959 --> 00:09:59,834
سامعین: [اشراوی]

243
00:09:59,834 --> 00:10:00,565

244
00:10:00,565 --> 00:10:01,315
DAVID MALAN: جی ہاں.

245
00:10:01,315 --> 00:10:02,370
شاید ہم صرف یہ آسان رکھنے دیں.

246
00:10:02,370 --> 00:10:02,660
ٹھیک ہے نا؟

247
00:10:02,660 --> 00:10:04,243
میں نے اسے ڈال کرنا چاہتے ہیں جہاں یہ ٹھیک نہیں ہے.

248
00:10:04,243 --> 00:10:07,450
تو میں نے اسے ڈال کے لئے جا رہا ہوں
تکنیکی طور پر ایک بی کہاں جائیں گے.

249
00:10:07,450 --> 00:10:09,932
اب، کورس کی، میں نے شروع کر رہا ہوں
ایک کونے میں اپنے آپ کو پینٹ کرنا.

250
00:10:09,932 --> 00:10:11,890
میں نے ایک طالب علم کو ملتی ہے تو
جس کا نام ہے اصل B ہے،

251
00:10:11,890 --> 00:10:14,840
اب ب ایک چھوٹی سی منتقل کر دیا گیا کیا جا رہا ہے
اگے، کے طور پر، جی ہاں، ہو سکتا ہے

252
00:10:14,840 --> 00:10:17,530
یہ ایک بی ہے تو، اب یہ یہاں جانا ہے.

253
00:10:17,530 --> 00:10:20,180
>> اور اس طرح یہ بہت تیزی سے
، مشکلات بن سکتا ہے

254
00:10:20,180 --> 00:10:23,850
لیکن یہ ایک تکنیک ہے کہ اصل میں ہے
لکیری کی تحقیقات کے طور پر کہا جاتا ہے،

255
00:10:23,850 --> 00:10:26,650
جس کے تحت آپ نے ابھی غور تمہارا
سرنی لائن کے ساتھ بننا.

256
00:10:26,650 --> 00:10:29,680
اور آپ کو صرف اس قسم کی تحقیقات یا
ہر ایک دستیاب عنصر کا معائنہ

257
00:10:29,680 --> 00:10:31,360
ایک دستیاب جگہ کے لئے تلاش.

258
00:10:31,360 --> 00:10:34,010
اور جیسے ہی آپ کو تلاش کے طور پر
ایک، آپ وہاں میں اسے چھوڑ.

259
00:10:34,010 --> 00:10:38,390
>> اب، قیمت اب ادا کیا جا رہا
اس حل کے لئے کیا ہے؟

260
00:10:38,390 --> 00:10:41,300
ہم ایک مقررہ سائز صف ہے،
اور میں ناموں داخل جب

261
00:10:41,300 --> 00:10:44,059
اس میں، کم از کم ابتدائی طور پر، کیا ہے
اندراج کی رننگ ٹائم

262
00:10:44,059 --> 00:10:46,350
طلبا کی ڈال کے لئے
حق بالٹیاں میں quizzes ہے؟

263
00:10:46,350 --> 00:10:48,710

264
00:10:48,710 --> 00:10:50,002
کیا میں سے بڑے اے؟

265
00:10:50,002 --> 00:10:51,147
>> سامعین: (ن).

266
00:10:51,147 --> 00:10:52,480
DAVID MALAN: میں بڑا این اے سنا.

267
00:10:52,480 --> 00:10:53,530

268
00:10:53,530 --> 00:10:54,300
سچ نہیں.

269
00:10:54,300 --> 00:10:56,490
لیکن ہم کے علاوہ چڑھاو گے
کیوں صرف ایک لمحے میں.

270
00:10:56,490 --> 00:10:57,702
اور کیا ہو سکتا ہے؟

271
00:10:57,702 --> 00:10:58,755
>> سامعین: [اشراوی]

272
00:10:58,755 --> 00:11:00,380
DAVID MALAN: اور میرے ضعف یہ کرنے دو.

273
00:11:00,380 --> 00:11:04,720
تاکہ اس خط S. فرض

274
00:11:04,720 --> 00:11:05,604
>> سامعین: یہ ایک ہے.

275
00:11:05,604 --> 00:11:06,520
DAVID MALAN: یہ ایک ہے.

276
00:11:06,520 --> 00:11:06,710
ٹھیک ہے نا؟

277
00:11:06,710 --> 00:11:08,950
یہ ایک صف، جو ہے
ہم بے ترتیب رسائی حاصل کا مطلب ہے کہ.

278
00:11:08,950 --> 00:11:11,790
اور ہم اس کے بارے میں سوچنا تو
صفر اور اس کے طور پر 25 کے طور پر،

279
00:11:11,790 --> 00:11:13,800
اور ہم اس بات کا احساس،
اوہ، یہاں میری ان پٹ S ہے،

280
00:11:13,800 --> 00:11:16,350
میں یقینی طور پر تبدیل کر سکتے ہیں
S، ایک ASCII کردار،

281
00:11:16,350 --> 00:11:18,540
ایک اسی نمبر پر
صفر اور 25 کے درمیان

282
00:11:18,540 --> 00:11:20,910
اور اس کے بعد فوری طور پر
اس سے تعلق رکھتا ہے جہاں یہ ڈال.

283
00:11:20,910 --> 00:11:26,120
>> لیکن کورس کے، جیسے ہی میں کرنے کے لئے حاصل کے طور پر
نام ہے جو دوسرا شخص A یا B یا C ہے

284
00:11:26,120 --> 00:11:29,300
بالآخر، میں نے استعمال کیا ہے تو
لکیری، میری حل کے طور پر تحقیقات

285
00:11:29,300 --> 00:11:31,360
کی رننگ ٹائم
بدترین صورت میں اندراج

286
00:11:31,360 --> 00:11:33,120
اصل میں کیا میں devolve جا رہا ہے؟

287
00:11:33,120 --> 00:11:34,270

288
00:11:34,270 --> 00:11:36,045
اور میں اسے یہاں سنا
درست طریقے سے جلد از جلد پر.

289
00:11:36,045 --> 00:11:36,920
سامعین: [اشراوی]

290
00:11:36,920 --> 00:11:41,620
DAVID MALAN: تو یہ یقینا ایک بار (ن) ہے
اگر آپ کو ایک کافی بڑی ڈیٹا سیٹ ہے.

291
00:11:41,620 --> 00:11:44,410
لہذا، ایک طرف، اگر
آپ کی صف کافی بڑا ہے

292
00:11:44,410 --> 00:11:48,287
اور آپ کا ڈیٹا آپ، کافی کم ہے
اس خوبصورت مسلسل وقت ملتا ہے.

293
00:11:48,287 --> 00:11:50,620
لیکن جیسے ہی آپ شروع کے طور پر
زیادہ سے زیادہ عناصر کو حاصل کرنے،

294
00:11:50,620 --> 00:11:53,200
اور صرف اعدادوشمار آپ کو ملتا ہے
خط کے ساتھ زیادہ سے زیادہ لوگ

295
00:11:53,200 --> 00:11:56,030
A کے طور پر ان کے نام یا خط
B، یہ ممکنہ طور پر کر سکتے تھے

296
00:11:56,030 --> 00:11:57,900
کچھ زیادہ لکیری میں devolve.

297
00:11:57,900 --> 00:11:59,640
لہذا بہت کامل نہیں.

298
00:11:59,640 --> 00:12:00,690
تو ہم بہتر کر سکتا تھا؟

299
00:12:00,690 --> 00:12:03,210
>> ٹھیک ہے، کیا تھا کہ ہمارے
حل جب ہم سے پہلے

300
00:12:03,210 --> 00:12:06,820
سے زیادہ تحرک ہے کرنا چاہتے ہیں
ایک صف کی طرح کچھ کی اجازت دی؟

301
00:12:06,820 --> 00:12:08,085

302
00:12:08,085 --> 00:12:08,960
سامعین: [اشراوی]

303
00:12:08,960 --> 00:12:10,030
DAVID MALAN: ہم کیا متعارف کرائے گئے تھے؟

304
00:12:10,030 --> 00:12:10,530
جی ہاں.

305
00:12:10,530 --> 00:12:11,430
تاکہ ایک لنک کی فہرست.

306
00:12:11,430 --> 00:12:14,430
ٹھیک ہے، ایک سے منسلک ہے دیکھتے ہیں
فہرست بجائے ہمارے لئے کیا ہو سکتا ہے.

307
00:12:14,430 --> 00:12:17,630
ویسے، مجھے وہ ہم تجویز کرتے ہیں
مندرجہ ذیل تصویر کو اپنی طرف متوجہ.

308
00:12:17,630 --> 00:12:19,620
اب یہ ایک مختلف ہے
ایک مثال سے تصویر

309
00:12:19,620 --> 00:12:24,750
ایک مختلف متن سے، اصل میں، کہ
اصل سائز 31 کے ایک صف کا استعمال کرتے ہوئے ہے.

310
00:12:24,750 --> 00:12:28,220
اور اس کے مصنف کو صرف
ڈور ہیش کرنے کا فیصلہ

311
00:12:28,220 --> 00:12:32,430
شخص کی ناموں پر مبنی نہیں،
لیکن ان birthdates پر مبنی.

312
00:12:32,430 --> 00:12:35,680
قطع نظر اس ماہ کے، وہ سوچا
اگر آپ کو ایک ماہ کے پہلے پر پیدا کر رہے ہیں

313
00:12:35,680 --> 00:12:39,580
یا ایک ماہ کے 31st، مصنف
کہ قیمت کی بنیاد پر ہیش گا،

314
00:12:39,580 --> 00:12:44,154
تھوڑا سا باہر ناموں کو پھیلانے کے لئے تو کے طور پر
صرف 26 مقامات کی اجازت دیتے ہیں کر سکتے سے بھی زیادہ.

315
00:12:44,154 --> 00:12:47,320
اور شاید یہ تھوڑا زیادہ وردی ہے
حروف تہجی خط کے ساتھ جانے کی نسبت،

316
00:12:47,320 --> 00:12:50,236
کیونکہ کورس کے شاید وہاں ہے
ناموں کے ساتھ دنیا میں زیادہ لوگ

317
00:12:50,236 --> 00:12:54,020
بات کو یقینی طور سے ایک کے ساتھ اس کے آغاز
حروف تہجی کے کچھ دیگر حروف.

318
00:12:54,020 --> 00:12:56,380
تو شاید یہ ایک چھوٹی سی ہے
زیادہ وردی، سنبھالنے

319
00:12:56,380 --> 00:12:58,640
ایک ہی تقسیم
ایک مہینے بھر میں بچوں کی.

320
00:12:58,640 --> 00:12:59,990
>> لیکن، ظاہر کی، یہ اب بھی نامکمل ہے.

321
00:12:59,990 --> 00:13:00,370
ٹھیک ہے نا؟

322
00:13:00,370 --> 00:13:01,370
ہم collisions سے منا رہے ہیں.

323
00:13:01,370 --> 00:13:04,680
اس میں ایک سے زیادہ لوگوں
آنکڑا ڈھانچہ اب بھی ہیں

324
00:13:04,680 --> 00:13:08,432
کم از کم ایک ہی تاریخ پیدائش اندوز
آپ کو مہینے کے قطع نظر ہو.

325
00:13:08,432 --> 00:13:09,640
لیکن مصنف کیا کیا ہے؟

326
00:13:09,640 --> 00:13:13,427
ہم ایک صف ہے کی طرح ویسے، ایسا لگتا ہے
عمودی طور پر تیار کی بائیں ہاتھ کی طرف پر،

327
00:13:13,427 --> 00:13:15,010
لیکن یہ صرف ایک آرٹسٹ کی گاین ہے.

328
00:13:15,010 --> 00:13:18,009
اس سے کوئی فرق نہیں پڑتا کس سمت آپ
ایک سرنی اپنی طرف متوجہ، یہ اب بھی ایک صف ہے.

329
00:13:18,009 --> 00:13:20,225
اس بظاہر کی ایک صف کیا ہے؟

330
00:13:20,225 --> 00:13:21,500
>> سامعین: لنک کی فہرست.

331
00:13:21,500 --> 00:13:21,650
>> DAVID MALAN: جی ہاں.

332
00:13:21,650 --> 00:13:23,490
یہ ایک ایسا لگتا ہے جیسے
لنک کی فہرست کے سرنی.

333
00:13:23,490 --> 00:13:26,490
تو ایک بار پھر، کی طرح اس نقطہ پر
اب ان اعداد و شمار کے ڈھانچے کو استعمال کرتے ہوئے کی

334
00:13:26,490 --> 00:13:28,550
زیادہ کرنے کے اجزاء کے طور پر
دلچسپ حل،

335
00:13:28,550 --> 00:13:30,862
تم بالکل ایک لے سکتے ہیں
بنیادی، ایک صف کی طرح،

336
00:13:30,862 --> 00:13:33,320
اور اس کے بعد میں زیادہ کچھ کرنے کے لے
ایک لنک کی فہرست کی طرح دلچسپ

337
00:13:33,320 --> 00:13:36,660
اور یہاں تک کہ اس سے بھی میں ان کو اکٹھا
زیادہ دلچسپ آنکڑا ڈھانچہ.

338
00:13:36,660 --> 00:13:39,630
اور یقینا، یہ بھی کریں گے
ایک ہیش میز بلایا جائے،

339
00:13:39,630 --> 00:13:42,610
جس کے تحت صف ہے
واقعی ہیش میز،

340
00:13:42,610 --> 00:13:45,600
لیکن ہے کہ ہیش ٹیبل ہے
زنجیروں، تاکہ، بات کرنے کے لئے

341
00:13:45,600 --> 00:13:50,220
کہ ترقی کر سکتا ہے یا کی بنیاد پر سکڑ
عناصر کی تعداد آپ داخل کرنا چاہتے ہیں.

342
00:13:50,220 --> 00:13:52,990
>> اب، اس کے مطابق، کیا ہے
اب وقت چل رہا ہے؟

343
00:13:52,990 --> 00:13:58,030
میں نے کسی کو داخل کرنے کے لیے چاہتے ہیں، تو
31 اکتوبر کو جن کی سالگرہ ہے،

344
00:13:58,030 --> 00:13:59,040
جہاں وہ یا وہ جاتا ہے؟

345
00:13:59,040 --> 00:14:00,530

346
00:14:00,530 --> 00:14:01,030
ٹھیک ہے.

347
00:14:01,030 --> 00:14:02,819
یہ 31 کا کہنا ہے کہ جہاں بہت سے نیچے دیئے گئے.

348
00:14:02,819 --> 00:14:03,610
اور یہ کہ بالکل صحیح ہے.

349
00:14:03,610 --> 00:14:05,060
جو مسلسل وقت تھا.

350
00:14:05,060 --> 00:14:08,760
لیکن ہم کسی اور کو تلاش کیا تو
جن کی سالگرہ، چلو دیکھتے ہیں کیا جاتا ہے،

351
00:14:08,760 --> 00:14:10,950
اکتوبر، نومبر، دسمبر 31؟

352
00:14:10,950 --> 00:14:12,790
جہاں وہ یا وہ جانے کے لئے جا رہی ہے؟

353
00:14:12,790 --> 00:14:13,290
ایک ہی بات.

354
00:14:13,290 --> 00:14:13,970
اگرچہ دو قدم.

355
00:14:13,970 --> 00:14:15,303
کہ یہ اگرچہ مسلسل، ہے نہ؟

356
00:14:15,303 --> 00:14:16,360

357
00:14:16,360 --> 00:14:16,860
ٹھیک ہے.

358
00:14:16,860 --> 00:14:17,840
اس وقت یہ ہے.

359
00:14:17,840 --> 00:14:20,570
لیکن عام کیس میں،
ہم شامل زیادہ سے زیادہ لوگ،

360
00:14:20,570 --> 00:14:23,790
probabilistically، ہم جا رہے ہیں
زیادہ سے زیادہ collisions سے حاصل کرنے کے لئے.

361
00:14:23,790 --> 00:14:26,820
>> اب یہ ایک چھوٹی سی ہے
بہتر تکنیکی طور پر ہے کیونکہ

362
00:14:26,820 --> 00:14:34,580
اب میری زنجیروں میں ہو سکتا ہے
بدترین صورت کب تک؟

363
00:14:34,580 --> 00:14:38,890
میں نے اس سے زیادہ میں ن لوگ داخل تو
بہتر آنکڑا ڈھانچہ، ن لوگ،

364
00:14:38,890 --> 00:14:41,080
بدترین صورت میں یہ ن ہونے جا رہا ہے.

365
00:14:41,080 --> 00:14:41,815
آخر کیوں؟

366
00:14:41,815 --> 00:14:43,332
>> سامعین: کیونکہ اگر ہر کوئی
اسی سالگرہ ہے،

367
00:14:43,332 --> 00:14:44,545
وہ ایک لائن ہو جا رہے ہیں.

368
00:14:44,545 --> 00:14:45,420
DAVID MALAN: کامل.

369
00:14:45,420 --> 00:14:47,480
یہ ایک تھوڑا contrived ہو سکتا
لیکن صحیح معنوں میں بدترین صورت میں،

370
00:14:47,480 --> 00:14:50,117
ہر کوئی ایک ہی سالگرہ ہے،
آپ ہو آدانوں دیئے،

371
00:14:50,117 --> 00:14:51,950
آپ کو ایک کی ضرورت کے لئے جا رہے ہیں
بڑے پیمانے پر طویل سلسلہ.

372
00:14:51,950 --> 00:14:54,241
اور اس طرح، آپ کو یہ ایک کہہ سکتے ہیں
میز ہیش، لیکن واقعی یہ بات ہے

373
00:14:54,241 --> 00:14:56,810
کے ساتھ صرف ایک بڑے پیمانے پر لنک کی فہرست
ضائع شدہ جگہ کی ایک پوری بہت.

374
00:14:56,810 --> 00:15:00,460
لیکن عام طور پر، ہم فرض ہے کہ اگر
کم از کم سالگرہ uniform-- ہیں

375
00:15:00,460 --> 00:15:01,750
اور یہ شاید نہیں ہے.

376
00:15:01,750 --> 00:15:02,587
میں نے اس کی قضاء میں ہوں.

377
00:15:02,587 --> 00:15:04,420
لیکن ہم مان لیتے ہیں، کے لئے
بحث کی خاطر

378
00:15:04,420 --> 00:15:07,717
پھر کیا یہ اصول میں، تو ہو
اس عمودی نمائندگی ہے

379
00:15:07,717 --> 00:15:11,050
صف کے، اچھی طرح سے تو امید ہے کہ تم ہو
ہیں، آپ جانتے ہیں کہ زنجیروں کو حاصل کرنے کے لئے جا،

380
00:15:11,050 --> 00:15:15,880
موٹے طور پر ایک ہی لمبائی ہے جہاں سے ہر ایک
ان مہینے کے ایک دن کی نمائندگی کرتا ہے.

381
00:15:15,880 --> 00:15:19,930
>> مہینے میں 31 دن ہے تو اب،
کہ واقعی میرا چلانے کے وقت کا مطلب

382
00:15:19,930 --> 00:15:25,230
31 سے زیادہ بڑا این اے، ہے جو
لکیری سے بہتر محسوس کرتی.

383
00:15:25,230 --> 00:15:27,950
لیکن میں سے ایک کیا تھا کہ ہمارے
وعدوں ہفتے کے ایک جوڑے

384
00:15:27,950 --> 00:15:31,145
پہلے یہ اظہار کرنے کے لئے آئے ہیں جب بھی
ایک الگورتھم کی رننگ ٹائم کیا ہے؟

385
00:15:31,145 --> 00:15:33,450

386
00:15:33,450 --> 00:15:35,190
بس صرف اعلی کے حکم کی اصطلاح کی طرف دیکھو.

387
00:15:35,190 --> 00:15:35,690
ٹھیک ہے نا؟

388
00:15:35,690 --> 00:15:37,400
31 ضرور مددگار ہے.

389
00:15:37,400 --> 00:15:39,610
لیکن یہ اب بھی بڑا این اے ہے.

390
00:15:39,610 --> 00:15:41,730
لیکن موضوعات میں سے ایک
کا مسئلہ پانچ سیٹ

391
00:15:41,730 --> 00:15:43,950
کرنے کی جا رہی ہے
بالکل کہ تسلیم کرتے ہیں،

392
00:15:43,950 --> 00:15:47,320
asymptotically، نظریاتی طور پر
یہ آنکڑا ڈھانچہ

393
00:15:47,320 --> 00:15:50,470
صرف سے بہتر نہیں ہے
ایک زوردار لنک کی فہرست.

394
00:15:50,470 --> 00:15:53,550
اور یقینا، بدترین صورت میں، اس
ہیش ٹیبل کہ میں devolve سکتا.

395
00:15:53,550 --> 00:15:57,620
>> لیکن حقیقی دنیا میں، ہمارے ساتھ انسانوں
اپنے ہی میکس یا پی سی یا جو کچھ بھی ہے کہ

396
00:15:57,620 --> 00:16:01,240
اور حقیقی دنیا کو چلا رہے ہیں
حقیقی دنیا کے ڈیٹا پر سافٹ ویئر،

397
00:16:01,240 --> 00:16:03,260
تم کس الگورتھم کو ترجیح دیتے ہیں کے لئے جا رہے ہیں؟

398
00:16:03,260 --> 00:16:09,180
آخر اقدامات یا لیتا ہے کہ ایک کے
این 31 اقدامات کی طرف سے تقسیم کیا لیتا ہے کہ ایک کے

399
00:16:09,180 --> 00:16:12,900
ڈیٹا کا کچھ ٹکڑا تلاش کرنے کے لئے یا
کچھ معلومات تلاش کرنے کے لئے؟

400
00:16:12,900 --> 00:16:16,580
I، بالکل 31 بناتا مطلب
حقیقی دنیا میں ایک فرق.

401
00:16:16,580 --> 00:16:18,540
یہ 31 گنا تیز ہے.

402
00:16:18,540 --> 00:16:20,880
اور ہم انسان یقینی طور پر ہیں
اس کی تعریف کرنے کے لئے جا.

403
00:16:20,880 --> 00:16:23,004
>> تو وجود میں ائی کا احساس
وہاں اصل کے درمیان

404
00:16:23,004 --> 00:16:25,920
نظریاتی طور پر ان چیزوں کے بارے میں بات
ضرور اور asymptotically جس

405
00:16:25,920 --> 00:16:28,760
ہم نے دیکھا کے طور پر اہمیت کی حامل ہے،
لیکن حقیقی دنیا میں،

406
00:16:28,760 --> 00:16:32,930
آپ کو صرف کرنے کے بارے میں پرواہ ہے، اگر
جنرل آدانوں کے لئے انسانی خوش،

407
00:16:32,930 --> 00:16:36,010
تم بہت اچھی طرح قبول کرنے کے لئے چاہتے ہو سکتا ہے
جی ہاں، یہ لکیری ہے، یہ حقیقت ہے کہ،

408
00:16:36,010 --> 00:16:38,360
لیکن یہ 31 گنا تیز ہے
مقابلے لکیری ہو سکتا ہے.

409
00:16:38,360 --> 00:16:41,610
اور بہتر ابھی تک، ہم صرف کرنے کی ضرورت نہیں
ایک پیدائش طرح صوابدیدی کچھ کرنا،

410
00:16:41,610 --> 00:16:44,030
ہم تھوڑا خرچ کر سکتے ہیں
زیادہ وقت اور چالاکی

411
00:16:44,030 --> 00:16:47,140
اور ہم کیا کر سکتے ہیں کے بارے میں سوچتے ہیں،
دیئے گئے ایک شخص کے نام اور شاید

412
00:16:47,140 --> 00:16:50,130
ان کے تاریخ پیدائش ان لوگوں کو اکٹھا کرنے
اجزاء کچھ جاننے کی

413
00:16:50,130 --> 00:16:52,720
کہ صحیح معنوں میں زیادہ ہے
وردی اور کم سے Jaggy،

414
00:16:52,720 --> 00:16:56,250
تو یہ تصویر کے مقابلے میں بات کرنے کے لئے
فی الحال یہ ہو سکتا ہے سے پتہ چلتا ہے.

415
00:16:56,250 --> 00:16:57,750
ہم کس طرح کوڈ میں اس کو نافذ کر سکتا ہے؟

416
00:16:57,750 --> 00:17:00,280
ویسے، مجھے وہ ہم تجویز کرتے ہیں
صرف ہم نے کچھ نحو قرضے لے

417
00:17:00,280 --> 00:17:01,799
اس طرح اب تک ایک جوڑے بار استعمال کیا.

418
00:17:01,799 --> 00:17:03,590
اور میں وضاحت کرنے کے لئے جا رہا ہوں
ایک نوڈ، جس میں دوبارہ

419
00:17:03,590 --> 00:17:06,812
کچھ کے لئے ایک عام اصطلاح ہے
کچھ ڈیٹا ڈھانچے کے لئے کنٹینر.

420
00:17:06,812 --> 00:17:09,020
میں نے اس تجویز کرنے جا رہا ہوں
ایک تار وہاں میں جا رہی ہے.

421
00:17:09,020 --> 00:17:11,369
لیکن ہمیں لینے شروع کرنے جا رہے ہیں
اب بند پہیوں تربیت والوں.

422
00:17:11,369 --> 00:17:13,230
>> کوئی زیادہ CS50 لائبریری
واقعی، آپ چاہتے ہیں جب تک کہ

423
00:17:13,230 --> 00:17:15,230
آپ کی آخری کے لئے اس کا استعمال کرنے کے لئے
جو کہ ٹھیک ہے منصوبے،،

424
00:17:15,230 --> 00:17:18,569
لیکن اب ہم واپس ھیںچو جا رہے ہیں
پردے اور یہ صرف ایک چار ستارہ ہے کہیں.

425
00:17:18,569 --> 00:17:22,069
لفظ تو وہاں جا رہا ہے
سوال میں اس شخص کا نام.

426
00:17:22,069 --> 00:17:25,079
اور اب میں ایک لنک ہے
یہاں اگلے نوڈ

427
00:17:25,079 --> 00:17:28,170
ان کی نمائندگی کرتے ہیں، تا کہ
نوڈس میں سے ہر ایک

428
00:17:28,170 --> 00:17:30,950
چین میں، ممکنہ طور پر،
ایک لنک کی فہرست کے.

429
00:17:30,950 --> 00:17:34,090
>> اور اب میں کس طرح کا اعلان کرتے ہیں
ہیش ٹیبل خود؟

430
00:17:34,090 --> 00:17:36,660
میں کس طرح اس پورے ڈھانچے کا اعلان کروں؟

431
00:17:36,660 --> 00:17:40,960
ویسے، واقعی، زیادہ میں نے ایک پوائنٹر استعمال کیا کی طرح
ایک فہرست میں سے صرف پہلی عنصر

432
00:17:40,960 --> 00:17:44,510
اس سے پہلے، اسی طرح میں نے صرف کہہ سکتے ہیں
میں نے صرف اشارہ کے ایک گروپ کی ضرورت ہے

433
00:17:44,510 --> 00:17:46,270
اس پورے ہیش میز کے نفاذ کے لیے.

434
00:17:46,270 --> 00:17:49,484
میں ایک صف کے لئے جا رہا ہوں
ہیش میز کے لئے بلایا ٹیبل.

435
00:17:49,484 --> 00:17:50,900
یہ سائز صلاحیت کے ہونے جا رہا ہے.

436
00:17:50,900 --> 00:17:52,525
کہ اس میں فٹ کر سکتے ہیں کس طرح بہت سے عناصر ہے.

437
00:17:52,525 --> 00:17:56,180
اور اس میں ان عناصر میں سے ہر ایک
سرنی ایک نوڈ کے سٹار بننے جا رہی ہے.

438
00:17:56,180 --> 00:17:56,810
آخر کیوں؟

439
00:17:56,810 --> 00:18:00,160
ٹھیک ہے، اس تصویر کے مطابق، کہ میں کیا کر رہا ہوں
ہیش ٹیبل کے طور پر عمل درآمد

440
00:18:00,160 --> 00:18:04,330
موثر انداز میں آغاز صرف ہے
ہم عمودی طور پر تیار کی ہے کہ اس صف،

441
00:18:04,330 --> 00:18:06,820
جن کے چوکوں میں سے ہر ایک
ایک پوائنٹر کی نمائندگی کرتا ہے.

442
00:18:06,820 --> 00:18:09,170
والوں کہ slashes کے لئے ہے کہ
ان کے ذریعے صرف شہوت انگیز null ہیں.

443
00:18:09,170 --> 00:18:11,410
اور ہیں کہ پڑے
درست کرنے کے لئے کی جا رہی تیر

444
00:18:11,410 --> 00:18:16,140
اصل اصل نوڈ تک اشارہ ہیں،
ایک لنک کی فہرست کے آغاز لہذا.

445
00:18:16,140 --> 00:18:19,050
>> تو یہاں، پھر، کہ ہم کس طرح ہو سکتی ہے
ایک ہیش میز پر عملدرآمد ہے کہ

446
00:18:19,050 --> 00:18:21,580
علیحدہ chaining لاگو کرتی ہے.

447
00:18:21,580 --> 00:18:22,840
اب ہم بہتر کر سکتا ہوں؟

448
00:18:22,840 --> 00:18:25,632
ٹھیک ہے میں نے کل وقت وعدہ کیا تھا کہ
ہم مسلسل وقت حاصل کر سکتے ہیں.

449
00:18:25,632 --> 00:18:27,381
اور میں اس قسم کی نے تمہیں دیا
یہاں مسلسل وقت،

450
00:18:27,381 --> 00:18:29,850
لیکن اس وقت واقعی نہیں کہا
مسلسل وقت یہ اب بھی ہے کیونکہ

451
00:18:29,850 --> 00:18:31,890
کل پر منحصر
عناصر کی تعداد

452
00:18:31,890 --> 00:18:34,500
آپ میں inputting کی رہے
آنکڑا ڈھانچہ.

453
00:18:34,500 --> 00:18:35,980
لیکن ہم نے یہ کیا لگتا ہے.

454
00:18:35,980 --> 00:18:39,550
مجھے یہاں کے پردے پر واپس جانے دو.

455
00:18:39,550 --> 00:18:44,520
، مجھے بھی یہ یہاں پر پیش واضح کرنے دو
سکرین، اور میں نے یہ کیا لگتا ہے.

456
00:18:44,520 --> 00:18:49,300
میں نام داخل کرنا چاہتا تھا فرض کریں
Daven میں میری آنکڑا ڈھانچہ میں.

457
00:18:49,300 --> 00:18:52,100
>> تو میں نے ایک تار داخل کرنا چاہتے ہیں
آنکڑا ڈھانچہ میں Daven.

458
00:18:52,100 --> 00:18:54,370
اگر میرا استعمال نہیں کرتے تو
میز ہیش، لیکن میں استعمال کرتے ہیں

459
00:18:54,370 --> 00:18:56,980
زیادہ ہے کہ کچھ درخت کی طرح
ایک خاندان کے درخت، جہاں کی طرح

460
00:18:56,980 --> 00:18:59,670
تم پر کچھ جڑ ہے
سب سے اوپر اور پھر نوڈس اور پتے

461
00:18:59,670 --> 00:19:01,440
کہ نیچے کی طرف اور باہر جاؤ.

462
00:19:01,440 --> 00:19:04,450
، اس کے بعد کہ مجھے لگتا ہے
Daven کا داخل کرنا چاہتے ہیں

463
00:19:04,450 --> 00:19:06,430
فی الحال ایک خالی فہرست ہے کیا میں.

464
00:19:06,430 --> 00:19:09,780
میں مندرجہ ذیل کام کرنے جا رہا ہوں: میں ہوں
اس خاندان میں ایک نوڈ بنانے کے لئے جا

465
00:19:09,780 --> 00:19:15,170
درخت کی طرح آنکڑا ڈھانچہ لگ رہا ہے کہ
ایک چھوٹا سا اس طرح، جن میں سے ہر

466
00:19:15,170 --> 00:19:19,640
مستطیل،، چلو کا کہنا ہے کی ہے
اس میں اب 26 عناصر کے لئے.

467
00:19:19,640 --> 00:19:21,650
اور خلیات میں سے ہر ایک
اس صف میں جا رہا ہے

468
00:19:21,650 --> 00:19:23,470
ایک حروف تہجی کے خط کی نمائندگی کرنے کی.

469
00:19:23,470 --> 00:19:28,190
>> خاص طور پر، میں نے علاج کے لئے جا رہا ہوں
یہ ایک، پھر بی، پھر سی، تو D ہے

470
00:19:28,190 --> 00:19:29,310
یہاں ایک کے.

471
00:19:29,310 --> 00:19:32,940
تو یہ مؤثر طریقے سے کی جا رہی ہے
خط D. کی نمائندگی

472
00:19:32,940 --> 00:19:36,040
لیکن Daven کی کی تمام شامل کرنے کے لئے
میں تھوڑا سا زیادہ کیا کرنے کی ضرورت کا نام ہے.

473
00:19:36,040 --> 00:19:37,840
تو میں نے سب سے پہلے اس سے بات کرنے، ہیش کرنے جا رہا ہوں.

474
00:19:37,840 --> 00:19:41,049
میں نے پہلے خط کو دیکھنے کے لئے جا رہا ہوں
میں Daven کی واضح طور پر ایک ڈی ہے جس میں،

475
00:19:41,049 --> 00:19:42,840
اور میں مختص کی جا رہی ہوں
لگتا ہے کہ ایک نوڈ

476
00:19:42,840 --> 00:19:45,570
جیسے بڑے ایک بڑا مستطیل this--
پورے حروف تہجی کو فٹ کرنے کے لئے کافی.

477
00:19:45,570 --> 00:19:47,140
>> اب D سے کیا جاتا ہے.

478
00:19:47,140 --> 00:19:49,720
اب اے ڈی-اے-وی-E-N مقصد ہے.

479
00:19:49,720 --> 00:19:51,220
تو اب میں کیا کرنے جا رہا ہوں یہ ہے.

480
00:19:51,220 --> 00:19:54,027
جیسے ہی میں نے D نوٹس شروع کر دیا کے طور پر
وہاں کوئی پوائنٹر نہیں ہے.

481
00:19:54,027 --> 00:19:56,860
یہ، اس وقت ردی کی ٹوکری اقدار ہے
یا میں نے شہوت انگیز null اس کی ابتدا ہو سکتی ہے.

482
00:19:56,860 --> 00:19:59,630
لیکن میرے ساتھ جا رکھنے دیں
ایک درخت کی تعمیر کے اس خیال.

483
00:19:59,630 --> 00:20:04,260
مجھے ان میں سے ایک مختص دو
اس میں 26 عناصر ہے کہ نوڈس.

484
00:20:04,260 --> 00:20:05,150
>> اور تم کیا جانتے ہو؟

485
00:20:05,150 --> 00:20:09,130
اس میموری میں صرف ایک نوڈ ہے کہ اگر
میں نے ایک struct کا استعمال کرتے ہوئے، malloc کے ساتھ پیدا

486
00:20:09,130 --> 00:20:11,240
ہم جلد ہی نظر آئے گا کے طور پر،
مجھے this-- کرنے جا رہا ہوں

487
00:20:11,240 --> 00:20:14,450
میں نے ایک تیر کے نشان کو اپنی طرف متوجہ کرنے کے لئے جا رہا ہوں
نیچے D نمائندگی اس چیز

488
00:20:14,450 --> 00:20:15,860
اس نئے نوڈ.

489
00:20:15,860 --> 00:20:19,240
اور، سب سے پہلے اگلے اب
Daven کے نام خط،

490
00:20:19,240 --> 00:20:24,150
V-- D-A-V-- میں آگے جانے کے لئے جا رہا ہوں
اور اس طرح دوسرے نوڈ کو اپنی طرف متوجہ،

491
00:20:24,150 --> 00:20:30,150
جس کے تحت، یہاں V کے عناصر، جس
ہم instance-- افوہ کے طرف متوجہ کریں گے.

492
00:20:30,150 --> 00:20:31,020
ہم وہاں نہیں اپنی طرف متوجہ کرے گا.

493
00:20:31,020 --> 00:20:31,936
یہ یہاں جانا جا رہا ہے.

494
00:20:31,936 --> 00:20:32,890

495
00:20:32,890 --> 00:20:35,712
>> پھر ہم کرنے جا رہے ہیں
یہ وی پر غور

496
00:20:35,712 --> 00:20:44,920
اور پھر یہاں نیچے ہم انڈیکس لئے جا رہے ہیں
نیچے V سے ہم E. غور کروں گا کیا میں

497
00:20:44,920 --> 00:20:50,100
اور پھر یہاں سے ہم کرنے جا رہے ہیں
یہاں ان مراکز میں سے ایک ہے جانا.

498
00:20:50,100 --> 00:20:52,930
اور اب ہم جواب دینے کے لئے ایک سوال ہے.

499
00:20:52,930 --> 00:20:57,840
میں نے کسی نہ کسی طرح اس بات کی نشاندہی کرنے کی ضرورت ہے
ہم سٹرنگ Daven کے آخر میں ہیں.

500
00:20:57,840 --> 00:20:59,490
تو میں صرف یہ نل چھوڑ سکتا.

501
00:20:59,490 --> 00:21:02,670
>> لیکن ہم Daven کی کیا ہے تو
بھی پورا نام، جس

502
00:21:02,670 --> 00:21:04,280
ہم، Davenport نے کہا ہے کے طور پر، ہے؟

503
00:21:04,280 --> 00:21:06,970
لہذا Daven کیا ہے اگر
اصل میں ایک substring،

504
00:21:06,970 --> 00:21:08,960
ایک بہت طویل سٹرنگ کا ایک سابقہ؟

505
00:21:08,960 --> 00:21:11,450
ہم صرف مستقل طور پر نہیں کر سکتے ہیں
کچھ بھی نہیں کی جا رہی ہے کا کہنا ہے کہ

506
00:21:11,450 --> 00:21:14,410
کیونکہ ہم کر سکتے تھے، وہاں جانے کے لئے
Davenport نے طرح ایک لفظ داخل کبھی نہیں

507
00:21:14,410 --> 00:21:15,840
یہ آنکڑا ڈھانچہ میں

508
00:21:15,840 --> 00:21:19,560
>> تو ہم کیا کر سکتے تھے اس کے بجائے ہے
ان عناصر میں سے ہر ایک کا علاج

509
00:21:19,560 --> 00:21:22,170
کے طور پر شاید دو اندوز
ان کے اندر عناصر.

510
00:21:22,170 --> 00:21:24,810
ایک، یقینا، ایک پوائنٹر ہے
جیسا کہ میں کر رہا ہوں.

511
00:21:24,810 --> 00:21:27,100
ان باکس میں سے ہر پس
صرف ایک سیل نہیں ہے.

512
00:21:27,100 --> 00:21:29,855
لیکن کیا اگر سب سے اوپر
one-- نیچے ایک کی

513
00:21:29,855 --> 00:21:32,230
کیونکہ، خالی ہونے جا رہا
ابھی تک کوئی Davenport نے وہاں ہے.

514
00:21:32,230 --> 00:21:34,197
کیا اگر سب سے اوپر ایک
کچھ خاص قدر ہے؟

515
00:21:34,197 --> 00:21:36,530
اور یہ تھوڑا ہونے جا رہا ہے
یہ اس کے سائز کو اپنی طرف متوجہ کرنے کے لئے مشکل.

516
00:21:36,530 --> 00:21:38,130
لیکن یہ صرف ایک نشان ہے. مجھے لگتا.

517
00:21:38,130 --> 00:21:38,920
چیک کریں.

518
00:21:38,920 --> 00:21:44,230
ڈی-اے-وی-E-N ایک تار ہے
اس آنکڑا ڈھانچہ میں.

519
00:21:44,230 --> 00:21:48,350
>> اسی اثناء میں، تو مجھے زیادہ جگہ تھی
یہاں، میں، P-O-R-T ایسا کر سکتا ہے

520
00:21:48,350 --> 00:21:52,650
اور میں نوڈ میں چیک ڈال سکتے
کہ آخر میں خط T ہے.

521
00:21:52,650 --> 00:21:55,460
تو یہ ایک بڑے پیمانے پر ہے
پیچیدہ نظر آنے آنکڑا ڈھانچہ.

522
00:21:55,460 --> 00:21:57,210
اور میری لکھاوٹ
یقینی طور پر مدد نہیں کرتا.

523
00:21:57,210 --> 00:22:00,043
لیکن میں کچھ داخل کرنا چاہتا تھا
ورنہ، ہم کیا کریں گے کے بارے میں غور.

524
00:22:00,043 --> 00:22:03,370
ہم میں ڈیوڈ کو چاہتا تھا تو،
ہم، ایک ہی منطق، D-A-V کی پیروی کروں گا

525
00:22:03,370 --> 00:22:08,802
لیکن اب میں اگلے میں اشارہ کریں گے
عنصر نہیں E سے، لیکن میں نے سے D. کرنا

526
00:22:08,802 --> 00:22:10,760
ایسا کرنے میں وہاں جا رہا ہے
اس درخت میں زیادہ نوڈس.

527
00:22:10,760 --> 00:22:12,325
ہم زیادہ کال malloc کے لئے جا رہے ہیں.

528
00:22:12,325 --> 00:22:14,700
لیکن میں ایک بنانے کے لئے نہیں کرنا چاہتے
اس تصویر کے مکمل گندگی.

529
00:22:14,700 --> 00:22:17,710
تو بجائے ایک کو دیکھو
کہ پہلے سے تیار کی گئی ہے

530
00:22:17,710 --> 00:22:21,810
ڈاٹ نہیں کے ساتھ اس طرح، ڈاٹ،
بندیاں، لیکن صرف مختصر arrays کے.

531
00:22:21,810 --> 00:22:23,950
لیکن مراکز میں سے ہر ایک
یہاں اس درخت میں

532
00:22:23,950 --> 00:22:26,700
اسی thing-- نمائندگی کرتا ہے
ایک صف کے سائز 26 کے رے.

533
00:22:26,700 --> 00:22:28,860
>> یا ہم بننا چاہتے ہیں تو
واقعی مناسب اب، کیا

534
00:22:28,860 --> 00:22:30,790
کسی کے نام کے طور پر اگر
ایک apostrophe، چلو

535
00:22:30,790 --> 00:22:35,560
ہر نوڈ اصل میں ہے کہ فرض
اس میں 27 کے اشاریہ جات، نہ صرف 26 کی طرح.

536
00:22:35,560 --> 00:22:42,020
تو یہ اب ایک ڈیٹا کی جا رہی ہے
ساخت ایک trie-- T-R-I-E بلایا.

537
00:22:42,020 --> 00:22:46,120
قیاس ہے جو ایک trie،
ایک درخت کے لئے تاریخی ایک ہوشیار نام

538
00:22:46,120 --> 00:22:49,040
اس کے لئے مرضی کے ہے
دوبارہ حاصل کرنے، جس میں کورس کے،

539
00:22:49,040 --> 00:22:50,870
یہ trie کے تو ایک میں ای کے ساتھ ہجے ہے.

540
00:22:50,870 --> 00:22:52,710
لیکن اس trie کی تاریخ ہے.

541
00:22:52,710 --> 00:22:55,860
>> تو ایک trie یہ درخت کی طرح اعداد و شمار ہے
ایک خاندان کے درخت کی طرح ساخت

542
00:22:55,860 --> 00:22:57,510
کہ آخر میں اس کی طرح برتاؤ کرتی ہے.

543
00:22:57,510 --> 00:23:00,890
اور یہاں ایک کا صرف ایک اور مثال ہے
دوسرے لوگوں کے ناموں کی مکمل جھوبڈ.

544
00:23:00,890 --> 00:23:03,540
لیکن اب سوال
ہاتھ میں کیا ہے

545
00:23:03,540 --> 00:23:08,070
ہم arguably سب ایک زیادہ متعارف کرانے کی طرف سے حاصل کی
پیچیدہ آنکڑا ڈھانچہ، اور ایک،

546
00:23:08,070 --> 00:23:09,870
سچ کہوں تو، اس میموری کا ایک بہت استعمال کرتا ہے.

547
00:23:09,870 --> 00:23:11,703
>> ، کیونکہ اگرچہ
لمحے میں، میں نے صرف ہوں

548
00:23:11,703 --> 00:23:15,050
D 'اس پوائنٹر استعمال کرتے ہوئے اور
ایک وی اور ES اور این ایس، اور

549
00:23:15,050 --> 00:23:16,700
میں میموری کا بہت کی ایک heck برباد کر رہا ہوں.

550
00:23:16,700 --> 00:23:18,030

551
00:23:18,030 --> 00:23:22,660
مگر میں ایک وسائل کہاں خرچ کرتے ہیں،
میں پیچھے ایک اور حاصل کرتے ہیں کے لئے ہوتے ہیں.

552
00:23:22,660 --> 00:23:26,020
، میں نے زیادہ جگہ خرچ کر رہا ہوں تو اگر
شاید امید کیا ہے؟

553
00:23:26,020 --> 00:23:27,407
مجھے کیا کم خرچ کر رہا ہوں کہ؟

554
00:23:27,407 --> 00:23:28,240
سامعین: کم وقت.

555
00:23:28,240 --> 00:23:28,990
DAVID MALAN: وقت.

556
00:23:28,990 --> 00:23:30,320
اب کیوں کہ ہو سکتا ہے؟

557
00:23:30,320 --> 00:23:33,880
ویسے، اندراج کیا ہے
وقت، اب بڑے اے کی شرائط میں،

558
00:23:33,880 --> 00:23:37,660
Daven طرح ایک نام کے
یا Davenport نے یا ڈیوڈ؟

559
00:23:37,660 --> 00:23:39,340
ویسے، Daven پانچ قدم تھا.

560
00:23:39,340 --> 00:23:42,350
Davenport نے نو کے مراحل ہوں گے،
تو یہ چند قدم ہو گا.

561
00:23:42,350 --> 00:23:44,250
ڈیوڈ کے ساتھ ساتھ پانچ قدم ہو گا.

562
00:23:44,250 --> 00:23:47,230
لہذا ان ٹھوس ہیں
نمبرز، لیکن یقینا وہاں ہے

563
00:23:47,230 --> 00:23:49,550
پر پابند بالائی
کسی کا نام کی لمبائی.

564
00:23:49,550 --> 00:23:52,240
اور یقینا، مسئلہ میں
پانچ تصریح کے سیٹ،

565
00:23:52,240 --> 00:23:54,050
ہم تجویز کرنے جا رہے ہیں
یہ کچھ ہے کہ

566
00:23:54,050 --> 00:23:55,470
کہ 40 کچھ عجیب حروف ہے.

567
00:23:55,470 --> 00:23:58,180
>> حقیقت پسندانہ، کوئی نہیں ہے
ایک infinitely طویل نام،

568
00:23:58,180 --> 00:24:01,542
کہنے کے لئے ہے جو کہ ایک کی لمبائی
نام یا سٹرنگ کی لمبائی ہم شاید کیا

569
00:24:01,542 --> 00:24:03,750
ریاست کے کچھ ہے
ساخت arguably سب کیا ہے؟

570
00:24:03,750 --> 00:24:05,550

571
00:24:05,550 --> 00:24:06,250
یہ مسلسل ہے.

572
00:24:06,250 --> 00:24:06,430
ٹھیک ہے نا؟

573
00:24:06,430 --> 00:24:09,310
اس طرح ایک بڑی مسلسل ہو سکتا ہے
40 کچھ ہے، لیکن یہ مسلسل جاری ہے.

574
00:24:09,310 --> 00:24:13,752
اور یہ کہ کتنے پر کوئی انحصار ہے
دیگر نام اس آنکڑا ڈھانچہ میں ہیں.

575
00:24:13,752 --> 00:24:15,460
دوسرے الفاظ میں، میں نے تو
اب داخل کرنا چاہتا تھا

576
00:24:15,460 --> 00:24:20,540
کولٹن یا جبرائیل یا روب یا کیا Zamyla یا
ایلیسن یا Belinda کی یا کسی بھی دوسرے ناموں

577
00:24:20,540 --> 00:24:23,940
اس ڈیٹا میں عملے سے
ساخت، وقت چل رہا ہے

578
00:24:23,940 --> 00:24:26,750
کے دوسرے ناموں ڈالنے
تمام متاثر میں ہونے جا رہا

579
00:24:26,750 --> 00:24:30,220
کس طرح بہت سے دوسرے عناصر کی طرف سے ہیں
پہلے سے ہی آنکڑا ڈھانچہ میں؟

580
00:24:30,220 --> 00:24:31,040
ایسا نہیں ہے.

581
00:24:31,040 --> 00:24:31,540
ٹھیک ہے نا؟

582
00:24:31,540 --> 00:24:36,150
ہم مؤثر طریقے سے استعمال کر رہے ہیں کیونکہ
اس کثیر پرت ہیش ٹیبل.

583
00:24:36,150 --> 00:24:38,280
اور کی رننگ ٹائم
ان کارروائیوں میں سے کسی

584
00:24:38,280 --> 00:24:41,510
کی تعداد پر نہیں انحصار ہے
آنکڑا ڈھانچہ میں ہیں کہ عناصر

585
00:24:41,510 --> 00:24:43,090
یا یہ کہ بالآخر جا رہے ہیں
آنکڑا ڈھانچہ میں ہونا،

586
00:24:43,090 --> 00:24:44,714
لیکن کیا خاص کی لمبائی پر؟

587
00:24:44,714 --> 00:24:46,500

588
00:24:46,500 --> 00:24:49,200
>> ہونے سٹرنگ
، داخل کرتا ہے جس

589
00:24:49,200 --> 00:24:52,580
اس asymptotically مسلسل
ایک کی time-- بڑے اے.

590
00:24:52,580 --> 00:24:54,720
اور واضح طور سے، صرف اندر
حقیقی دنیا، یہ

591
00:24:54,720 --> 00:24:58,380
Daven کا نام لیتا ڈالنے کا مطلب
پانچ اقدامات، یا Davenport نے نو کی طرح

592
00:24:58,380 --> 00:25:00,100
اقدامات، یا ڈیوڈ پانچ اقدامات.

593
00:25:00,100 --> 00:25:03,071
کہ خوبصورت رفو چھوٹے چلانے اوقات ہے.

594
00:25:03,071 --> 00:25:05,320
اور، یقینا، کہ ایک بہت ہے
اچھی بات یہ ہے، خاص طور پر جب

595
00:25:05,320 --> 00:25:08,126
یہ کل پر منحصر نہیں ہے
وہاں میں عناصر کی تعداد.

596
00:25:08,126 --> 00:25:10,500
تو ہم اس کو عمل درآمد کر سکتے ہیں کہ کس طرح
کوڈ میں ڈھانچے کی قسم ہے؟

597
00:25:10,500 --> 00:25:12,900
یہ تھوڑا زیادہ ہے
پیچیدہ، لیکن اب بھی یہ بات ہے

598
00:25:12,900 --> 00:25:15,050
میں سے صرف ایک درخواست
بنیادی عمارت بلاکس.

599
00:25:15,050 --> 00:25:17,830
مجھے وضاحت کرنے جا رہا ہوں
ہم نوڈ مندرجہ ذیل ہے:

600
00:25:17,830 --> 00:25:21,100
bool کے word-- بلایا اور اس
کچھ کہا جا سکتا.

601
00:25:21,100 --> 00:25:23,970
لیکن bool کے کی نمائندگی کرتا ہے
کیا میں ایک چیک نشان کے طور پر متوجہ کیا.

602
00:25:23,970 --> 00:25:24,490
جی ہاں.

603
00:25:24,490 --> 00:25:26,720
یہ ایک تار کے آخر ہے
اس آنکڑا ڈھانچہ میں.

604
00:25:26,720 --> 00:25:30,702
>> اور، کورس کی، نوڈ کا ستارہ
بچوں کو وہاں حوالہ دیتے ہوئے ہے.

605
00:25:30,702 --> 00:25:32,410
اور، یقینا، صرف پسند
ایک خاندان کے درخت، آپ

606
00:25:32,410 --> 00:25:34,370
نوڈس پر غور کرے گا
کہ بند پھانسی کر رہے ہیں

607
00:25:34,370 --> 00:25:36,920
بعض والدین کے سب سے نیچے کے
عنصر بچوں بننے کے لئے.

608
00:25:36,920 --> 00:25:40,510
اور اس طرح بچوں کی جا رہی ہے
27 کے ایک صف، 27th کے ایک ہو

609
00:25:40,510 --> 00:25:41,680
صرف apostrophe کے لئے کیا جا رہا ہے.

610
00:25:41,680 --> 00:25:43,390
ہم الگ الگ کرنے کے لئے جا رہے ہیں
خاص معاملہ ہے کہ کے.

611
00:25:43,390 --> 00:25:45,400
تاکہ آپ کو یقین ہو سکتا ہے
اپوسٹروفاس کے ساتھ نام.

612
00:25:45,400 --> 00:25:47,399
شاید بھی ہائفن کرنا چاہئے
وہاں میں جانا، لیکن تم سب

613
00:25:47,399 --> 00:25:50,330
P سیٹ 5 ہم صرف دیکھ بھال میں دیکھیں
حروف اور اپوسٹروفاس بارے.

614
00:25:50,330 --> 00:25:52,990
>> اور پھر کس طرح آپ کی نمائندگی کرتے ہیں
آنکڑا ڈھانچہ خود؟

615
00:25:52,990 --> 00:25:56,454
آپ کیسے جڑ کی نمائندگی کرتے ہیں
اس trie کی، تو بات کرنے کے لئے؟

616
00:25:56,454 --> 00:25:59,620
ویسے، صرف آپ کو، ایک لنک کی فہرست کے ساتھ پسند
پہلا عنصر کو ایک پوائنٹر کی ضرورت.

617
00:25:59,620 --> 00:26:04,270
ایک trie ساتھ آپ کو صرف ایک کی ضرورت ہے
اس trie کی جڑ پوائنٹر.

618
00:26:04,270 --> 00:26:07,290
اور وہاں سے آپ ہیش کر سکتے ہیں
آپ کے راستے نیچے گہرے اور عمیق

619
00:26:07,290 --> 00:26:10,460
ساخت میں ہر دوسرے نوڈ.

620
00:26:10,460 --> 00:26:13,440
لہذا صرف یہ کر سکتے ہیں کے ساتھ
ہم اس struct کی نمائندگی کرتے ہیں.

621
00:26:13,440 --> 00:26:15,877
>> اب، اوہ سوال Meanwhile--.

622
00:26:15,877 --> 00:26:17,220
>> سامعین: bool کے لفظ کیا ہے؟

623
00:26:17,220 --> 00:26:20,490
>> DAVID MALAN: bool کے لفظ ہے
صرف اس C اوتار

624
00:26:20,490 --> 00:26:22,920
میں نے بیان کیا ہے کے
یہاں، جب اس خانے میں

625
00:26:22,920 --> 00:26:26,000
میں سے ہر ایک کی تقسیم شروع کر دی
دو ٹکڑوں میں سرنی کے عناصر.

626
00:26:26,000 --> 00:26:27,600
ایک اگلے نوڈ پوائنٹر ہے.

627
00:26:27,600 --> 00:26:30,280
دوسرے کا ہونا ضروری ہے
ایک چیک باکس کی طرح کچھ

628
00:26:30,280 --> 00:26:33,770
ایک نہیں ہے، ہاں کہنے کے لئے
یہاں ختم ہوتا ہے کہ Daven لفظ،

629
00:26:33,770 --> 00:26:35,610
، ہم نہیں چاہتے کیونکہ
لمحے، ڈیو میں.

630
00:26:35,610 --> 00:26:39,320
>> ڈیو ایک ہونے جا رہا ہے، اگرچہ
جائز لفظ، وہ trie میں نہیں ہے

631
00:26:39,320 --> 00:26:39,830
ابھی تک.

632
00:26:39,830 --> 00:26:40,950
اور D ایک لفظ نہیں ہے.

633
00:26:40,950 --> 00:26:42,770
اور D-A ایک لفظ یا ایک نام نہیں ہے.

634
00:26:42,770 --> 00:26:45,020
نشان لہذا
صرف آپ کو ایک بار کی طرف اشارہ کرتا

635
00:26:45,020 --> 00:26:48,190
اس نوڈ ہے مارا
حروف کی گزشتہ راہ

636
00:26:48,190 --> 00:26:50,700
آپ کو داخل کیا ہے کہ اصل میں ایک تار.

637
00:26:50,700 --> 00:26:53,660
تو یہ سب bool کے ہے
ہمارے لئے وہاں کیا کر رہی ہے.

638
00:26:53,660 --> 00:26:55,500
>> کوشش کرتا ہے پر کوئی سوال؟

639
00:26:55,500 --> 00:26:56,215
جی ہاں.

640
00:26:56,215 --> 00:26:58,035
>> سامعین: وورلیپ کیا ہے؟

641
00:26:58,035 --> 00:26:59,945
کیا آپ کو ایک ڈیو اور ایک Daven ہو تو؟

642
00:26:59,945 --> 00:27:00,820
DAVID MALAN: کامل.

643
00:27:00,820 --> 00:27:02,580
کیا آپ کو ایک ڈیو اور ایک Daven ہو تو؟

644
00:27:02,580 --> 00:27:06,240
ہم داخل تو، اگر، ایک عرفیت کہنا
David-- Dave-- D-A-V-E کے لئے؟

645
00:27:06,240 --> 00:27:07,370

646
00:27:07,370 --> 00:27:08,700
یہ اصل سپر آسان ہے.

647
00:27:08,700 --> 00:27:10,325
تو ہم نے صرف چار اقدامات کرنے جا رہے ہیں.

648
00:27:10,325 --> 00:27:11,042

649
00:27:11,042 --> 00:27:15,847
ڈی-اے-وی-E. اور میں جانتا ہوں کہ کیا کرنا ہے
میں نے اس کے چوتھی نوڈ مارا ایک بار کرتے ہیں؟

650
00:27:15,847 --> 00:27:16,680
صرف چیک کرنے کے لئے جا.

651
00:27:16,680 --> 00:27:18,000
ہم نے پہلے ہی جانا اچھا ہو.

652
00:27:18,000 --> 00:27:18,840
کیا کیا.

653
00:27:18,840 --> 00:27:19,750
چار اقدامات.

654
00:27:19,750 --> 00:27:21,590
asymptotically مسلسل وقت.

655
00:27:21,590 --> 00:27:26,300
اور اب ہم کہ دونوں ڈیو دلالت کی ہے
اور Daven ساخت میں ڈور ہیں.

656
00:27:26,300 --> 00:27:27,710
لہذا کوئی مسئلہ نہیں.

657
00:27:27,710 --> 00:27:30,200
اور کس طرح موجودگی کا نوٹس
Daven کے یہ نہیں کیا

658
00:27:30,200 --> 00:27:34,750
کسی بھی زیادہ وقت یا کم لے
وقت ڈیو کے لئے اور اس کے برعکس.

659
00:27:34,750 --> 00:27:36,000
>> تو کیا اب ہم اور کیا کر سکتے ہیں؟

660
00:27:36,000 --> 00:27:40,680
ہم سے پہلے اس استعارہ استعمال کیا ہے
ٹرے کے کسی چیز کی نمائندگی.

661
00:27:40,680 --> 00:27:43,380
لیکن یہ پتہ چلا ہے کہ ایک
ٹرے کے اسٹیک اصل میں ہے

662
00:27:43,380 --> 00:27:47,187
ایک اور تجریدی ڈیٹا کے demonstrative
ایک اعلی سطح آنکڑا ڈھانچہ ٹائپ

663
00:27:47,187 --> 00:27:49,770
آخر میں دن صرف یہ ہے کہ
ایک صف یا ایک لنک کی فہرست کی طرح

664
00:27:49,770 --> 00:27:50,970
زیادہ اشیاءہوسکتی یا کچھ اور.

665
00:27:50,970 --> 00:27:53,270
لیکن یہ ایک زیادہ دلچسپ ہے
تصوراتی تصور.

666
00:27:53,270 --> 00:27:56,440
ان کی طرح ایک اسٹیک،
Mather میں یہاں ٹرے،

667
00:27:56,440 --> 00:27:58,750
عام طور پر کہا جاتا ہے
صرف ایک اسٹیک that--.

668
00:27:58,750 --> 00:28:02,540
>> اور اعداد و شمار کے ڈھانچے کی اس قسم میں
آپ کو دو آپریشن

669
00:28:02,540 --> 00:28:05,880
آپ کو ایک فون کیا دھکا کے لئے ہے
اسٹیک کے لئے کچھ انہوں نے مزید کہا،

670
00:28:05,880 --> 00:28:08,320
ایک اور ٹرے ڈال کی طرح
اسٹیک کے سب سے اوپر پر واپس.

671
00:28:08,320 --> 00:28:11,350
آپ جس کا مطلب ہے اور اس کے بعد، پاپ
اولین ٹرے اتار.

672
00:28:11,350 --> 00:28:16,210
لیکن ایک اسٹیک ہے کہ کے بارے میں اہم کیا ہے
اسے یہ جاننا خصوصیت مل گیا ہے.

673
00:28:16,210 --> 00:28:19,560
ڈائننگ ہال کے عملے کے طور پر ہیں
اگلے کھانے کے لئے ٹرے rearranging کی،

674
00:28:19,560 --> 00:28:21,380
کیا ہونے جا رہا ہے
کہ کس طرح طالب علموں کے بارے میں سچ

675
00:28:21,380 --> 00:28:22,856
یہ آنکڑا ڈھانچہ کے ساتھ بات چیت؟

676
00:28:22,856 --> 00:28:24,480
سامعین: انہوں نے ایک پاپ کے لئے جا رہے.

677
00:28:24,480 --> 00:28:26,550
DAVID MALAN: وہ کرنے جا رہے ہیں
ایک آف، امید ہے کہ سب سے اوپر پاپ.

678
00:28:26,550 --> 00:28:28,910
نہیں تو یہ صرف پاگل کی طرح
نیچے تک تمام راستے پر چلنا.

679
00:28:28,910 --> 00:28:29,070
ٹھیک ہے نا؟

680
00:28:29,070 --> 00:28:31,620
آنکڑا ڈھانچہ واقعی کی اجازت نہیں دیتا
آپ کم از کم نیچے ٹرے پر قبضہ کرنے

681
00:28:31,620 --> 00:28:32,520
آسانی سے.

682
00:28:32,520 --> 00:28:35,040
تو یہ جاننا وہاں ہے
ایک اسٹیک کے لئے جائیداد

683
00:28:35,040 --> 00:28:39,730
میں آخری چیز ہے کہ
سب سے پہلے ایک باہر ہو جا.

684
00:28:39,730 --> 00:28:43,400
اور کمپیوٹر کے سائنسدانوں کو فون
اس پہلے، میں گزشتہ باہر LIFO--.

685
00:28:43,400 --> 00:28:45,540
اور یہ اصل میں ہے
دلچسپ ایپلی کیشنز.

686
00:28:45,540 --> 00:28:50,090
یہ ضروری نہیں کہ کچھ کے طور پر کے طور پر واضح نہیں ہے
دوسروں، لیکن یہ، یقینا،، مفید ہو سکتا ہے

687
00:28:50,090 --> 00:28:54,040
اور یہ، یقینا، لاگو کیا جا سکتا
مختلف طریقوں سے ایک جوڑے میں.

688
00:28:54,040 --> 00:28:58,550
>> تو ایک، اور اصل میں، دو
مجھے اس میں کودو نہیں.

689
00:28:58,550 --> 00:28:59,860
بجائے اس کے کیا.

690
00:28:59,860 --> 00:29:03,700
کے تقریبا ہے کہ ایک بھی جائزہ لیں
اسی خیال، لیکن یہ تھوڑا منصفانہ ہے.

691
00:29:03,700 --> 00:29:04,200
ٹھیک ہے نا؟

692
00:29:04,200 --> 00:29:07,560
اگر آپ ان پرستار لڑکوں میں سے ایک ہو یا
واقعی ایپل کی مصنوعات کو پسند کرتا ہے کہ لڑکیوں

693
00:29:07,560 --> 00:29:10,130
اور آپ کو 3:00 بجے اٹھی
کچھ سٹور پر لائن

694
00:29:10,130 --> 00:29:14,150
بہت تازہ ترین آئی فون حاصل کرنے کے لئے، آپ
اس طرح قطار میں ہے ہو سکتا ہے.

695
00:29:14,150 --> 00:29:15,800
>> اب ایک قطار بہت جان بوجھ کر نام ہے.

696
00:29:15,800 --> 00:29:18,190
کیونکہ وہاں یہ ایک لائن ہے
اس کے لئے کچھ جانبداری.

697
00:29:18,190 --> 00:29:18,690
ٹھیک ہے نا؟

698
00:29:18,690 --> 00:29:21,690
آپ نے تو یہ قسم کی چوسا گی
ایپل اسٹور میں پہلی وہاں ملا

699
00:29:21,690 --> 00:29:25,700
لیکن آپ کو مؤثر طریقے سے bottommost ہیں
ٹرے پھر ایپل کے ملازمین کیونکہ

700
00:29:25,700 --> 00:29:28,189
آخری شخص پاپ والے
اصل لائن میں مل گیا.

701
00:29:28,189 --> 00:29:31,230
پوٹ اور قطار، اگرچہ اتنی
فعل وہ same-- کے اچھے ہو

702
00:29:31,230 --> 00:29:33,105
یہ صرف اس مجموعہ ہے
وسائل کی ہے کہ

703
00:29:33,105 --> 00:29:36,210
وہاں shrink-- بڑھ جا اور
اس پر اس عدل کے پہلو،

704
00:29:36,210 --> 00:29:39,634
حقیقی دنیا میں کم از کم،
جہاں کارروائیوں آپ ورزش

705
00:29:39,634 --> 00:29:40,800
بنیادی طور پر مختلف ہیں.

706
00:29:40,800 --> 00:29:43,360
ایک قطار A stack--
rather-- ہے کہا جاتا ہے

707
00:29:43,360 --> 00:29:45,320
دو آپریشن: N قطار اور د قطار.

708
00:29:45,320 --> 00:29:46,341

709
00:29:46,341 --> 00:29:48,090
یا آپ ان کو فون کر سکتے ہیں
چیزوں میں سے کسی بھی تعداد.

710
00:29:48,090 --> 00:29:50,770
لیکن آپ نے ابھی قبضہ کرنا چاہتے ہیں
انہوں نے مزید کہا کہ اس تصور

711
00:29:50,770 --> 00:29:53,230
اور ایک بالآخر تفریق کی جاتی ہے.

712
00:29:53,230 --> 00:29:58,840
>> اب ہڈ کے نیچے، دونوں اسٹیک
اور ایک قطار کو کس طرح لاگو کیا جا سکتا ہے؟

713
00:29:58,840 --> 00:30:01,390
ہم کے کوڈ میں نہیں جائیں گے
اس وجہ سے اعلی سطح

714
00:30:01,390 --> 00:30:03,387
خیال طرح کی زیادہ واضح ہے.

715
00:30:03,387 --> 00:30:04,470
میرا مطلب ہے، انسانوں میں کیا کروں؟

716
00:30:04,470 --> 00:30:07,030
میں ایپل میں پہلا شخص ہوں تو
ذخیرہ کرنے اور اس کے سامنے کے دروازے ہے،

717
00:30:07,030 --> 00:30:08,130
آپ کو میں یہاں کھڑا کرنے جا رہا ہوں، جانتے ہیں.

718
00:30:08,130 --> 00:30:09,750
اور اگلے شخص کی
یہاں کھڑے کرنے کے لئے جا.

719
00:30:09,750 --> 00:30:11,500
اور اگلے شخص کی
یہاں کھڑے کرنے کے لئے جا.

720
00:30:11,500 --> 00:30:13,792
تو کیا ہوا آنکڑا ڈھانچہ
خود کو ایک قطار میں ڈھال لیتا ہے؟

721
00:30:13,792 --> 00:30:14,542
>> سامعین: ایک قطار.

722
00:30:14,542 --> 00:30:15,667
DAVID MALAN: ٹھیک ہے، ایک قطار.

723
00:30:15,667 --> 00:30:16,390
اس بات کا یقین.

724
00:30:16,390 --> 00:30:16,920
اور کیا؟

725
00:30:16,920 --> 00:30:17,600
>> سامعین: ایک لنک کی فہرست.

726
00:30:17,600 --> 00:30:18,990
>> DAVID MALAN: ایک لنک
آپ کو نافذ کر سکتا ہے کی فہرست.

727
00:30:18,990 --> 00:30:22,500
اور ایک لنک کی فہرست تو کیونکہ اچھا ہے
مخالفت کے طور پر یہ طویل منمانے ترقی کر سکتا ہے

728
00:30:22,500 --> 00:30:24,880
کچھ مقررہ تعداد ہونے کے
سٹور میں لوگوں کی.

729
00:30:24,880 --> 00:30:27,030
لیکن ہو سکتا ہے ایک مقررہ تعداد
مقامات کی جائز ہے.

730
00:30:27,030 --> 00:30:30,350
وہ صرف 20 کی طرح ہے کیونکہ اگر
شاید، پہلے روز آئی فونز

731
00:30:30,350 --> 00:30:33,930
وہ صرف سائز کے ایک صف کی ضرورت
20 کہ قطار، کی نمائندگی کرنے کے لئے جو

732
00:30:33,930 --> 00:30:37,070
ہم بات کر شروع میں ایک بار صرف اب کہنے کے لئے ہے
ان اعلی سطح کے مسائل کے بارے میں،

733
00:30:37,070 --> 00:30:38,890
آپ اس کو لاگو کر سکتے ہیں
طریقوں میں سے کسی بھی تعداد میں.

734
00:30:38,890 --> 00:30:42,030
اور شاید صرف کرنے جا رہا ہے وہاں
جگہ اور وقت میں ایک تجارتی دور ہو

735
00:30:42,030 --> 00:30:43,950
یا صرف آپ کے اپنے کوڈ کی پیچیدگی میں.

736
00:30:43,950 --> 00:30:45,380
>> ایک اسٹیک کے بارے میں کیا؟

737
00:30:45,380 --> 00:30:48,190
ویسے، ایک اسٹیک، ہم بھی دیکھا ہے
صرف ان ٹرے ہو سکتا ہے.

738
00:30:48,190 --> 00:30:50,007
اور آپ کو یہ ایک صف پر عملدرآمد کر سکتے.

739
00:30:50,007 --> 00:30:53,090
لیکن کچھ نقطہ پر آپ کو، ایک سرنی استعمال کرتے ہیں تو
کیا ٹرے کے لئے ہونے جا رہا ہے

740
00:30:53,090 --> 00:30:54,173
آپ نیچے ڈال کرنے کے لئے کوشش کر رہے ہیں؟

741
00:30:54,173 --> 00:30:55,170

742
00:30:55,170 --> 00:30:55,670
ٹھیک ہے.

743
00:30:55,670 --> 00:30:57,490
تم صرف کرنے جا رہے ہیں
اتنا زیادہ جانے کے قابل ہو.

744
00:30:57,490 --> 00:31:00,156
اور میں وہ ہیں Mather میں سوچتے ہیں
اصل میں اس کے کھلنے میں recessed.

745
00:31:00,156 --> 00:31:01,950
تو یقینا، یہ تقریبا ہے
ہے Mather استعمال کر رہا ہے کی طرح

746
00:31:01,950 --> 00:31:03,783
مقررہ سائز کے ایک صف،
آپ کو صرف یہ کر سکتے ہیں کیونکہ

747
00:31:03,783 --> 00:31:08,302
میں اس کے کھلنے میں بہت سے ٹرے کو فٹ
لوگوں کے گھٹنوں ذیل کے نیچے دیوار.

748
00:31:08,302 --> 00:31:10,010
اور تو ہے کہ ہو سکتا ہے
ایک صف ہونے کے لئے کہا،

749
00:31:10,010 --> 00:31:14,300
لیکن ہم یقینی طور پر اس کو نافذ کر سکتے
زیادہ عام طور پر ایک لنک کی فہرست کے ساتھ.

750
00:31:14,300 --> 00:31:16,390
>> ٹھیک ہے، کیا ایک اور آنکڑا ڈھانچہ کے بارے میں؟

751
00:31:16,390 --> 00:31:18,760
مجھے یہاں بصری دوسرے ایک ھیںچو.

752
00:31:18,760 --> 00:31:24,710
کس طرح یہاں ایک کے بارے میں کی طرح کچھ؟

753
00:31:24,710 --> 00:31:28,920
ایسا کیوں ہے کہ نہیں ہے کے لئے مفید ہو سکتا ہے
ایک trie، جتنا پسند ہیں کچھ جس

754
00:31:28,920 --> 00:31:32,370
ہم، ان بہت وسیع نوڈس تھا دیکھا
جن میں سے ہر ایک صف میں ہے؟

755
00:31:32,370 --> 00:31:35,740
لیکن ہم کچھ زیادہ کیا کرنا ہے تو
صرف، ایک پرانے اسکول کے خاندان کے درخت کی طرح،

756
00:31:35,740 --> 00:31:38,110
جن کے یہاں نوڈس میں سے ہر ایک
صرف ایک نمبر ذخیرہ کرنے کا ہے.

757
00:31:38,110 --> 00:31:42,180
اس کی بجائے ایک نام یا اولاد کے
صرف اس طرح ایک بڑی تعداد ذخیرہ کرنے کا ہے.

758
00:31:42,180 --> 00:31:45,250
>> ویسے، شبدجال ہم میں استعمال
ڈیٹا ڈھانچے دونوں کی کوشش کرتا ہے

759
00:31:45,250 --> 00:31:49,510
اور درخت، ایک trie، دوبارہ، کہاں ہے
صرف جن نوڈس arrays ہیں میں سے ایک،

760
00:31:49,510 --> 00:31:51,680
اب بھی ہے کیا آپ کو شاید یہ
گریڈ اسکول سے استعمال

761
00:31:51,680 --> 00:31:53,860
آپ ایک خاندان نے جب
درخت کے پتے اور جڑ

762
00:31:53,860 --> 00:31:57,250
درخت اور کے بچوں کی
والدین اور اس کے بہن بھائیوں.

763
00:31:57,250 --> 00:32:03,670
اور ہم نے ایک درخت کو عمل درآمد کر سکتے،
مثال کے طور پر، کے طور پر صرف اس کے طور پر.

764
00:32:03,670 --> 00:32:07,420
ایک درخت، اس پر اگر ایک نوڈ، ایک کے طور پر
ایک بڑی تعداد ہے کہ ان حلقوں،

765
00:32:07,420 --> 00:32:09,947
اس کے ہیں کرنے والا نہیں ہے
ایک پوائنٹر، لیکن دو.

766
00:32:09,947 --> 00:32:11,780
اور جیسے ہی آپ کو شامل کے طور پر
ایک دوسرے پوائنٹر، آپ

767
00:32:11,780 --> 00:32:13,905
اصل میں اب سے ترتیب بنا سکتے ہیں
دو جہتی ڈیٹا کے

768
00:32:13,905 --> 00:32:14,780
یاد میں ڈھانچے.

769
00:32:14,780 --> 00:32:16,660
ایک دو جہتی کی طرح زیادہ سے زیادہ
سرنی، آپ کر سکتے ہیں

770
00:32:16,660 --> 00:32:18,904
دو جہتی کی طرح ہے
منسلک کی فہرست بلکہ والوں

771
00:32:18,904 --> 00:32:20,820
کہ ایک پیٹرن پیروی
جہاں کوئی سائیکل نہیں ہے.

772
00:32:20,820 --> 00:32:24,487
یہ ایک کے ساتھ صحیح معنوں میں ایک درخت ہے
یہاں اور پھر دادا دادی راستے

773
00:32:24,487 --> 00:32:27,320
کچھ والدین اور بچوں اور
پوتے اور عظیم پوتے.

774
00:32:27,320 --> 00:32:28,370
اور تو آگے.

775
00:32:28,370 --> 00:32:32,390
>> لیکن، بھی اس کے بارے میں واقعی صاف کیا ہے
صرف کوڈ کا تھوڑا سا کے ساتھ آپ کو تنگ کرنے کے لئے،

776
00:32:32,390 --> 00:32:35,370
سے یاد تکرار
تھوڑی دیر واپس، جس کے تحت

777
00:32:35,370 --> 00:32:38,220
آپ خود کہتے ہیں کہ ایک تقریب لکھتے.

778
00:32:38,220 --> 00:32:41,140
یہ ایک خوبصورت موقع ہے
کچھ تو لاگو

779
00:32:41,140 --> 00:32:42,920
تکرار کی طرح، کیونکہ اس پر غور کریں.

780
00:32:42,920 --> 00:32:43,860
>> یہ ایک درخت ہے.

781
00:32:43,860 --> 00:32:48,040
اور میں کس طرح کے ساتھ ایک چھوٹی سی مقعد رہا ہوں
میں نے گلی میں integers کے ڈال دیا.

782
00:32:48,040 --> 00:32:51,020
اتنا زیادہ کہ یہ ایک خاص ہے
ایک بائنری تلاش درخت name--.

783
00:32:51,020 --> 00:32:53,460
اب ہم بائنری کے بارے میں سنا ہے
آپ کو تلاش، لیکن کر سکتے ہیں

784
00:32:53,460 --> 00:32:55,180
اس چیز کا نام سے پیچھے کی طرف کام کرتے ہو؟

785
00:32:55,180 --> 00:32:59,280
میں نے کس طرح کی طرز کیا ہے
اس درخت میں integers کے ڈالا؟

786
00:32:59,280 --> 00:33:00,696
یہ صوابدیدی نہیں ہے.

787
00:33:00,696 --> 00:33:01,570
کچھ پیٹرن نہیں ہے.

788
00:33:01,570 --> 00:33:02,090
جی ہاں.

789
00:33:02,090 --> 00:33:03,370
>> سامعین: بائیں پر چھوٹے والے.

790
00:33:03,370 --> 00:33:03,690
>> DAVID MALAN: جی ہاں.

791
00:33:03,690 --> 00:33:05,062
چھوٹے لوگوں کے بائیں طرف ہیں.

792
00:33:05,062 --> 00:33:06,270
بڑے حق پر ہیں.

793
00:33:06,270 --> 00:33:12,940
اس طرح ایک سچا بیان ہے کہ ایک
والدین، اس کے بائیں بچے سے بڑھ کر ہے

794
00:33:12,940 --> 00:33:14,850
اس کے صحیح بچے کے مقابلے میں لیکن کم.

795
00:33:14,850 --> 00:33:17,750
صرف اور صرف اسی سے بھی ایک ہے
پنراورتی زبانی تعریف

796
00:33:17,750 --> 00:33:20,500
آپ اس درخواست دے سکتے ہیں، کیونکہ
ہر نوڈ کے لئے ایک ہی منطق

797
00:33:20,500 --> 00:33:23,080
اور یہ صرف نیچے
باہر، ایک بنیاد کیس اگر

798
00:33:23,080 --> 00:33:25,740
گے، جب تم میں سے ایک مارا
پتیوں، تاکہ، بات کرنے کے لئے

799
00:33:25,740 --> 00:33:28,580
چھٹی مزید کوئی بچے نہیں ہیں جہاں.

800
00:33:28,580 --> 00:33:30,614
>> اب کس طرح آپ کو 44 نمبر مل سکتا ہے؟

801
00:33:30,614 --> 00:33:32,280
تم، HM جڑ شروع کریں اور کہیں گے.

802
00:33:32,280 --> 00:33:35,690
55 اس لئے میں جانے کے لئے چاہتے ہیں 44 نہیں ہے
صحیح ہے یا مجھے چھوڑ جانا چاہتے ہو؟

803
00:33:35,690 --> 00:33:37,190
ٹھیک ہے، ظاہر آپ کو بائیں طرف جانا چاہتا ہوں.

804
00:33:37,190 --> 00:33:40,060
اور اس طرح یہ صرف فون کی طرح ہے
بائنری تلاش میں کتاب مثال

805
00:33:40,060 --> 00:33:41,099
زیادہ عام طور پر.

806
00:33:41,099 --> 00:33:43,390
لیکن ہم اس پر عمل درآمد کر رہے ہیں
اب تھوڑا زیادہ متحرک

807
00:33:43,390 --> 00:33:45,339
ایک سرنی کی اجازت دے سکتا ہے کے مقابلے.

808
00:33:45,339 --> 00:33:48,130
اور حقیقت میں، آپ کو دیکھنا چاہتا ہوں تو
کوڈ میں، پہلی نظر میں اس بات کا یقین.

809
00:33:48,130 --> 00:33:49,671
یہ لائنز کی ایک مکمل جھوبڈ کی طرح لگتا ہے.

810
00:33:49,671 --> 00:33:51,220
لیکن یہ خوبصورتی سے آسان ہے.

811
00:33:51,220 --> 00:33:54,490
آپ کو ایک تقریب کو لاگو کرنے کے لئے چاہتے ہیں تو
جس کا مقصد زندگی میں سے ملاقات کی تلاش

812
00:33:54,490 --> 00:33:57,290
ایک قیمت کے لئے تلاش کرنے کے لئے ہے
کی طرح (ن)، ایک عدد صحیح،

813
00:33:57,290 --> 00:34:01,756
اور آپ کو ایک سے ایک پوائنٹر میں منظور ہو،
جڑوں کی نوڈ پوائنٹر،

814
00:34:01,756 --> 00:34:04,380
بلکہ، اس درخت کی ہے جس سے
آپ، اور سب کچھ تک رسائی حاصل کر سکتے ہیں

815
00:34:04,380 --> 00:34:08,850
کس طرح سے براہ راست کو نوٹس
آپ کو منطق کو لاگو کر سکتے.

816
00:34:08,850 --> 00:34:10,880
درخت خالی ہے،
ظاہر ہے یہ وہاں نہیں ہے.

817
00:34:10,880 --> 00:34:11,880
چلو صرف جھوٹے واپس چلو.

818
00:34:11,880 --> 00:34:12,000
ٹھیک ہے نا؟

819
00:34:12,000 --> 00:34:14,040
آپ اسے کچھ بھی نہیں کے حوالے تم،
وہاں کچھ بھی نہیں ہے.

820
00:34:14,040 --> 00:34:17,900
>> ورنہ اگر (ن) سے بھی کم، ہے اگر
اب این تیر (ن) کے درخت کے تیر،

821
00:34:17,900 --> 00:34:20,670
ہم سپر یاد
مختصر طور پر دوسرے دن،

822
00:34:20,670 --> 00:34:25,100
اور یہ کہ صرف ڈی ریفرنس مطلب
پوائنٹر اور کہا جاتا ن میدان میں نظر آتے ہیں.

823
00:34:25,100 --> 00:34:27,690
تو یہ وہاں جانے اور مطلب
کہا جاتا ن میدان میں نظر آتے ہیں.

824
00:34:27,690 --> 00:34:33,810
تو (ن)، تو آپ کو دے رہے ہیں کی قدر، کم ہے
درختوں عددی میں قیمت سے،

825
00:34:33,810 --> 00:34:35,449
جہاں آپ جانا چاہتے ہیں؟

826
00:34:35,449 --> 00:34:36,389
بائیں کرنے کے لئے.

827
00:34:36,389 --> 00:34:37,780
>> لہذا تکرار محسوس کریں.

828
00:34:37,780 --> 00:34:39,860
میں نے نہیں سچ returning-- ہوں.

829
00:34:39,860 --> 00:34:40,989
جھوٹی نہیں.

830
00:34:40,989 --> 00:34:45,670
میں نے جو کچھ بھی جواب واپس آ رہا ہوں
اپنے آپ کے لئے ایک کال کی طرف سے ہے، گزر

831
00:34:45,670 --> 00:34:50,100
بے کار ہے جو ایک بار پھر ایک (ن)،،
لیکن اب تھوڑا سا مختلف کیا ہے؟

832
00:34:50,100 --> 00:34:51,989
مجھے کس طرح چھوٹا مسئلہ بنا رہا ہوں؟

833
00:34:51,989 --> 00:34:54,920
میں دوسری حیثیت سے گزر رہا ہوں
دلیل، درخت کی جڑ نہیں،

834
00:34:54,920 --> 00:34:59,616
لیکن اس معاملے میں بائیں بچے.

835
00:34:59,616 --> 00:35:00,990
تو میں نے بائیں بچے میں گزر رہا ہوں.

836
00:35:00,990 --> 00:35:04,720
>> دریں اثنا ن سے بھی بڑا، ہے اگر
میں فی الحال میں دیکھ رہا ہوں نوڈ،

837
00:35:04,720 --> 00:35:06,690
میں نے دائیں ہاتھ کی طرف پر تلاش.

838
00:35:06,690 --> 00:35:10,880
ورنہ، درخت، شہوت انگیز null نہیں ہے اگر
عنصر بائیں کرنے کے لئے نہیں ہے تو

839
00:35:10,880 --> 00:35:13,240
اور یہ، درست کرنے کے لئے نہیں ہے
صورت حیرت انگیز کیا ہے؟

840
00:35:13,240 --> 00:35:14,630

841
00:35:14,630 --> 00:35:18,440
ہم اصل میں نوڈ تلاش کر لیا
سوال، اور اسی طرح ہم سچ واپس.

842
00:35:18,440 --> 00:35:21,490
>> تو ہم صرف کونا اٹھا لیا ہے
اب ان اعداد و شمار ڈھانچے کے کچھ.

843
00:35:21,490 --> 00:35:24,370
مسئلہ پانچ سیٹ میں تمہیں میں
ابھی مزید کہا کہ ان کی جستجو،

844
00:35:24,370 --> 00:35:27,250
اور آپ کو آپ کے ڈیزائن دیا جائے گا
اس کے بارے میں کس طرح جانا کے انتخاب.

845
00:35:27,250 --> 00:35:30,250
میں پر نتیجہ اخذ کرنے کے چاہتے ہیں
صرف ایک 30 دوسرے جھلکی ہے

846
00:35:30,250 --> 00:35:32,080
اس سے آگے اگلے ہفتے اور انتظار کر رہا ہے کے.

847
00:35:32,080 --> 00:35:35,390
>> ہم شکر begin-- طور پرممکن ہے کہ آپ
آہستہ آہستہ ہماری منتقلی think--

848
00:35:35,390 --> 00:35:38,680
C اور نیچے کی دنیا سے
سطح پر عمل درآمد کی تفصیلات،

849
00:35:38,680 --> 00:35:42,090
ایک ایسی دنیا جس میں ہم نے کے لئے لے جا سکتے ہیں
کسی اور آخر میں ہے کہ عطا کی

850
00:35:42,090 --> 00:35:44,010
ان اعداد و شمار سے لاگو
ہمارے لئے ڈھانچے،

851
00:35:44,010 --> 00:35:47,570
اور ہم نے سمجھنے کے لئے شروع کریں گے
حقیقی دنیا کو لاگو کرنے کا مطلب ہے کہ

852
00:35:47,570 --> 00:35:50,560
ویب کی بنیاد پر پروگراموں اور
ویب سائٹس زیادہ عام

853
00:35:50,560 --> 00:35:52,910
اور بھی بہت سیکورٹی
ہم صرف کیا ہے کہ مضمرات

854
00:35:52,910 --> 00:35:54,850
کی سطح فیرنا کرنے کے لئے شروع.

855
00:35:54,850 --> 00:35:57,320
ہمیں یہاں انتظار کر رہا ہے
دن میں آنے کی.

856
00:35:57,320 --> 00:36:00,480
>> [ویڈیو پلے بیک]

857
00:36:00,480 --> 00:36:03,432

858
00:36:03,432 --> 00:36:12,780
>> -He، ایک پیغام کے ساتھ آیا
تمام نے اپنی پروٹوکول کے ساتھ.

859
00:36:12,780 --> 00:36:26,110

860
00:36:26,110 --> 00:36:30,894
انہوں نے کہا کہ ظالم کی ایک ایسی دنیا میں آئے تھے
فائر والز، راوٹرز uncaring،

861
00:36:30,894 --> 00:36:33,368
اور خطرات موت سے کہیں بدتر.

862
00:36:33,368 --> 00:36:35,280

863
00:36:35,280 --> 00:36:36,236
وہ روزہ ہے.

864
00:36:36,236 --> 00:36:37,980
وہ مضبوط ہے.

865
00:36:37,980 --> 00:36:42,830
وہ TCP / IP ہے، اور انہوں نے آپ کا پتہ مل گیا ہے.

866
00:36:42,830 --> 00:36:45,290

867
00:36:45,290 --> 00:36:48,074
"نیٹ کے اول."

868
00:36:48,074 --> 00:36:49,660
[END ویڈیو پلے بیک]

869
00:36:49,660 --> 00:36:50,910
DAVID MALAN: اگلے ہفتے آ رہا ہے.

870
00:36:50,910 --> 00:36:51,880
ہم آپ کو اس کے بعد دیکھیں گے.

871
00:36:51,880 --> 00:36:54,615

872
00:36:54,615 --> 00:36:56,060
[ویڈیو پلے بیک]

873
00:36:56,060 --> 00:36:59,240
ہیں.اور اب، "گہرے خیالات"
Daven Farnham طرف.

874
00:36:59,240 --> 00:37:02,030

875
00:37:02,030 --> 00:37:05,820
-David ہمیشہ شروع ہوتا ہے
، ساتھ لیکچرز "ٹھیک ہے."

876
00:37:05,820 --> 00:37:08,750
کیوں نہیں، "یہاں حل ہے
اس ہفتے کا مسئلہ سیٹ "کرنے

877
00:37:08,750 --> 00:37:12,180
یا "ہم ایک آپ سب دے رہے ہیں؟"

878
00:37:12,180 --> 00:37:13,380
[LAUGHING]

879
00:37:13,380 --> 00:37:15,530
[END ویڈیو پلے بیک]