1772:
2318:
1345:
2896:
1253:
1995:
3185:
table with the intersection between each two sets. If this conjecture is true, this implies that there is no DO with an approximation factor of less than 2 and a constant query time.
668:
2791:
2716:
1579:
3019:
1106:
1635:
1161:
874:
3146:
2595:
392:
2949:
2491:
2406:
1487:
529:
327:
129:
2535:
1529:
1427:
706:
627:
2369:
2136:
1040:
776:
741:
2065:
1808:
1381:
972:
283:
240:
204:
1872:
934:
828:
3095:
2668:
2633:
2440:
2171:
1899:
1835:
1067:
999:
901:
3175:
3060:
2097:
2027:
479:
450:
421:
168:
591:
562:
3257:
1640:
134:
In order to answer many queries more efficiently, we can spend some time in pre-processing the graph and creating an auxiliary data structure.
329:
time. Most DOs have to compromise on accuracy, i.e. they don't return the accurate distance but rather a constant-factor approximation of it.
3277:
2179:
141:
which specifies, for each pair of nodes, the distance between them. This structure allows us to answer queries in constant time
3299:
1258:
2800:
1166:
243:
3309:
1919:
1901:
s are balls in increasing diameter, that contain vertices with distances up to the first vertex of the next level.
635:
452:, that is, the quotient obtained by dividing the estimated distance by the actual distance lies between 1 and
3106:
3030:
2725:
2673:
3218:
33:
2493:(swap the two input nodes; this does not change the distance between them since the graph is undirected).
3304:
1536:
2962:
1078:
1596:
1122:
835:
3223:
3115:
2794:
2544:
344:
2901:
2446:
2376:
1444:
484:
288:
90:
3236:
2498:
2322:
Having this structure initialized, the following algorithm finds the distance between two nodes,
337:
Thorup and Zwick describe more than 10 different DOs. They then suggest a new DO that, for every
84:
1492:
1390:
673:
596:
2336:
2106:
1004:
746:
711:
3273:
2032:
1777:
1350:
939:
252:
209:
173:
1844:
906:
800:
72:| edges. We would like to answer queries of the form "what is the distance between the nodes
3265:
3228:
3112:
It is believed that the SIO problem does not have a non-trivial solution. I.e., it requires
3065:
2638:
2603:
2413:
2141:
3029:
If there is a DO with an approximation factor of at most 2, then it is possible to build a
1877:
1813:
1045:
977:
879:
3264:. 2010 IEEE 51st Annual Symposium on Foundations of Computer Science (FOCS). p. 815.
3151:
3036:
2073:
2003:
455:
426:
397:
144:
570:
541:
29:
3293:
3202:
2959:
The above result was later improved by
Patrascu and Roditty who suggest a DO of size
3240:
629:
space which answers each query in constant time and approximation factor at most 3.
394:, such that any subsequent distance query can be approximately answered in time
1767:{\displaystyle B_{i}(v)=\{w\in A_{i}\setminus A_{i+1}|d(w,v)<d(A_{i+1},v)\}}
2100:
3232:
3206:
17:
3269:
782:
Higher values of k do not improve the space or preprocessing time.
2313:{\displaystyle O(kn+\Sigma |B(v)|)=O(kn+nkn^{1/k})=O(kn^{1+1/k})}
3107:
set intersection oracle#Reduction to approximate distance oracle
2600:
It is possible to show that, in each iteration, the distance
423:. The approximate distance returned is of stretch at most
131:, and requires no extra space (besides the graph itself).
242:
using an all-pairs shortest paths algorithm, such as the
249:
A DO lies between these two extremes. It uses less than
1340:{\displaystyle p_{i}(v)=\arg \min {(d(w,v)|w\in A_{i}}}
3154:
3118:
3068:
3039:
2965:
2904:
2803:
2728:
2676:
2641:
2606:
2547:
2501:
2449:
2416:
2379:
2339:
2182:
2144:
2109:
2076:
2035:
2006:
1922:
1880:
1847:
1816:
1780:
1643:
1599:
1539:
1495:
1447:
1393:
1353:
1261:
1169:
1125:
1081:
1048:
1007:
980:
942:
909:
882:
838:
803:
749:
714:
676:
638:
599:
573:
544:
487:
458:
429:
400:
347:
291:
255:
212:
176:
147:
137:
A simple data structure that achieves this goal is a
93:
2891:{\displaystyle d(w,v)\leq d(w,u)+d(u,v)\leq kd(v,u)}
1429:
is the distance between them. Note that for a fixed
1248:{\displaystyle d(A_{i},v)=\min {(d(w,v)|w\in A_{i}}}
3169:
3140:
3089:
3054:
3013:
2943:
2890:
2785:
2710:
2662:
2627:
2589:
2529:
2485:
2434:
2400:
2363:
2312:
2165:
2130:
2091:
2059:
2021:
1990:{\displaystyle B(v)=\bigcup _{i=0}^{k-1}B_{i}(v).}
1989:
1893:
1866:
1829:
1802:
1766:
1629:
1573:
1523:
1481:
1421:
1375:
1339:
1247:
1155:
1115:, calculate its distance from each of these sets:
1100:
1061:
1034:
993:
966:
928:
895:
868:
822:
790:The oracle is built of a decreasing collection of
770:
735:
700:
662:
621:
585:
556:
523:
473:
444:
415:
386:
321:
277:
234:
198:
162:
123:
2000:It is possible to show that the expected size of
1290:
1198:
32:for calculating distances between vertices in a
3262:Distance Oracles beyond the ThorupâZwick Bound
285:space in order to answer queries in less than
8:
1761:
1666:
657:
645:
206:extra space. It can be initialized in time
1433:, this distance is weakly increasing with
3222:
3153:
3129:
3117:
3067:
3038:
2998:
2994:
2980:
2976:
2964:
2903:
2802:
2727:
2681:
2675:
2640:
2605:
2546:
2512:
2500:
2448:
2415:
2378:
2338:
2297:
2287:
2258:
2254:
2218:
2201:
2181:
2143:
2108:
2075:
2047:
2043:
2034:
2005:
1969:
1953:
1942:
1921:
1885:
1879:
1852:
1846:
1821:
1815:
1785:
1779:
1740:
1704:
1692:
1679:
1648:
1642:
1598:
1550:
1538:
1500:
1494:
1458:
1446:
1404:
1392:
1358:
1352:
1330:
1315:
1293:
1266:
1260:
1238:
1223:
1201:
1180:
1168:
1124:
1086:
1080:
1053:
1047:
1022:
1012:
1006:
985:
979:
954:
947:
941:
914:
908:
887:
881:
837:
808:
802:
748:
713:
675:
637:
610:
598:
572:
543:
508:
504:
486:
457:
428:
399:
371:
361:
346:
290:
266:
254:
223:
211:
187:
175:
146:
92:
56:) be an undirected, weighted graph, with
3209:(2005). "Approximate distance oracles".
3021:which returns a factor 2 approximation.
2176:The total size of the data structure is
663:{\displaystyle k=\lfloor \log n\rfloor }
3194:
1685:
3252:
3250:
3025:Reduction from set intersection oracle
2898:, so the distance returned is at most
2786:{\displaystyle d(w,u)\leq (k-1)d(v,u)}
2711:{\displaystyle A_{k-1}\subseteq B(v)}
7:
83:One way to do this is just run the
3119:
2198:
1574:{\displaystyle d(A_{k},v)=\infty }
1568:
1095:
936:, independently, with probability
564:we get the simple distance matrix.
14:
3014:{\displaystyle O(n^{4/3}m^{1/3})}
974:. Note that the expected size of
3148:space to answer queries in time
1101:{\displaystyle A_{k}=\emptyset }
1630:{\displaystyle i=0,\ldots ,k-1}
1156:{\displaystyle i=0,\ldots ,k-1}
869:{\displaystyle i=1,\ldots ,k-1}
3164:
3158:
3141:{\displaystyle \Omega (n^{2})}
3135:
3122:
3084:
3072:
3049:
3043:
3008:
2969:
2938:
2926:
2920:
2905:
2885:
2873:
2861:
2849:
2840:
2828:
2819:
2807:
2780:
2768:
2762:
2750:
2744:
2732:
2705:
2699:
2657:
2645:
2622:
2610:
2584:
2572:
2563:
2551:
2524:
2518:
2480:
2468:
2462:
2450:
2395:
2389:
2307:
2277:
2268:
2232:
2223:
2219:
2215:
2209:
2202:
2186:
2160:
2148:
2125:
2119:
2086:
2080:
2016:
2010:
1981:
1975:
1932:
1926:
1797:
1791:
1758:
1733:
1724:
1712:
1705:
1660:
1654:
1562:
1543:
1512:
1506:
1470:
1451:
1416:
1397:
1370:
1364:
1316:
1312:
1300:
1294:
1278:
1272:
1224:
1220:
1208:
1202:
1192:
1173:
765:
753:
730:
718:
695:
680:
616:
603:
518:
491:
410:
404:
381:
351:
316:
295:
272:
259:
229:
216:
193:
180:
157:
151:
118:
97:
1:
2590:{\displaystyle d(w,u)+d(w,v)}
1837:which are strictly closer to
481:. The initialization time is
387:{\displaystyle O(kn^{1+1/k})}
3105:the sum of their sizes; see
2944:{\displaystyle (2k-1)d(u,v)}
2486:{\displaystyle (u,v):=(v,u)}
2401:{\displaystyle w\notin B(v)}
1482:{\displaystyle d(A_{0},v)=0}
786:DO for general metric spaces
534:Some special cases include:
524:{\displaystyle O(kmn^{1/k})}
322:{\displaystyle O(m+n\log n)}
124:{\displaystyle O(m+n\log n)}
2530:{\displaystyle w:=p_{i}(u)}
1437:. Also note that for every
1383:is the i-center nearest to
670:, we get a structure using
3326:
3101:is the number of sets and
2722:-1 iterations, so finally
1524:{\displaystyle p_{0}(v)=v}
1422:{\displaystyle d(A_{i},v)}
701:{\displaystyle O(n\log n)}
622:{\displaystyle O(n^{1.5})}
2364:{\displaystyle w:=u,i:=0}
2131:{\displaystyle w\in B(V)}
1810:contains all vertices in
1035:{\displaystyle n^{1-i/k}}
903:contains each element of
771:{\displaystyle O(\log n)}
736:{\displaystyle O(\log n)}
593:we get a structure using
2060:{\displaystyle kn^{1/k}}
1874:. The partial unions of
1803:{\displaystyle B_{i}(v)}
1376:{\displaystyle p_{i}(v)}
967:{\displaystyle n^{-1/k}}
278:{\displaystyle O(n^{2})}
244:FloydâWarshall algorithm
235:{\displaystyle O(n^{3})}
199:{\displaystyle O(n^{2})}
3233:10.1145/1044731.1044732
3062:and space requirements
3031:set intersection oracle
1867:{\displaystyle A_{i+1}}
929:{\displaystyle A_{i-1}}
823:{\displaystyle A_{0}=V}
3260:; Roditty, L. (2010).
3171:
3142:
3091:
3090:{\displaystyle O(N+n)}
3056:
3033:(SIO) with query time
3015:
2945:
2892:
2787:
2712:
2664:
2663:{\displaystyle d(v,u)}
2629:
2628:{\displaystyle d(w,u)}
2591:
2531:
2487:
2436:
2435:{\displaystyle i:=i+1}
2402:
2365:
2314:
2167:
2166:{\displaystyle d(w,v)}
2132:
2103:that holds, for every
2093:
2061:
2023:
1991:
1964:
1895:
1868:
1831:
1804:
1768:
1631:
1575:
1525:
1483:
1423:
1377:
1341:
1249:
1157:
1102:
1063:
1036:
995:
968:
930:
897:
870:
824:
772:
737:
702:
664:
623:
587:
558:
525:
475:
446:
417:
388:
323:
279:
236:
200:
164:
125:
3300:Graph data structures
3172:
3143:
3092:
3057:
3016:
2946:
2893:
2788:
2713:
2665:
2630:
2592:
2532:
2488:
2437:
2403:
2366:
2315:
2168:
2133:
2094:
2062:
2024:
1992:
1938:
1896:
1894:{\displaystyle B_{i}}
1869:
1841:than all vertices in
1832:
1830:{\displaystyle A_{i}}
1805:
1769:
1632:
1576:
1526:
1484:
1424:
1378:
1342:
1250:
1158:
1103:
1064:
1062:{\displaystyle A_{i}}
1037:
996:
994:{\displaystyle A_{i}}
969:
931:
898:
896:{\displaystyle A_{i}}
871:
825:
794:+1 sets of vertices:
773:
738:
703:
665:
624:
588:
559:
526:
476:
447:
418:
389:
324:
280:
237:
201:
165:
126:
3270:10.1109/FOCS.2010.83
3170:{\displaystyle O(1)}
3152:
3116:
3066:
3055:{\displaystyle O(1)}
3037:
2963:
2902:
2801:
2726:
2718:, there are at most
2674:
2639:
2604:
2545:
2499:
2447:
2414:
2377:
2337:
2180:
2142:
2107:
2092:{\displaystyle B(v)}
2074:
2033:
2022:{\displaystyle B(v)}
2004:
1920:
1878:
1845:
1814:
1778:
1641:
1597:
1537:
1493:
1445:
1391:
1351:
1259:
1167:
1123:
1079:
1046:
1005:
978:
940:
907:
880:
836:
801:
747:
712:
674:
636:
597:
571:
542:
485:
474:{\displaystyle 2k-1}
456:
445:{\displaystyle 2k-1}
427:
416:{\displaystyle O(k)}
398:
345:
289:
253:
210:
174:
163:{\displaystyle O(1)}
145:
91:
3310:Computation oracles
2795:triangle inequality
586:{\displaystyle k=2}
557:{\displaystyle k=1}
3211:Journal of the ACM
3167:
3138:
3087:
3052:
3011:
2941:
2888:
2783:
2708:
2660:
2625:
2587:
2527:
2483:
2432:
2398:
2361:
2310:
2163:
2128:
2089:
2057:
2019:
1987:
1891:
1864:
1827:
1800:
1764:
1627:
1571:
1521:
1479:
1419:
1373:
1337:
1245:
1153:
1098:
1059:
1042:. The elements of
1032:
991:
964:
926:
893:
866:
820:
768:
733:
708:space, query time
698:
660:
619:
583:
554:
521:
471:
442:
413:
384:
319:
275:
232:
196:
160:
121:
87:. This takes time
85:Dijkstra algorithm
3279:978-1-4244-8525-3
2635:grows by at most
341:, requires space
3317:
3284:
3283:
3254:
3245:
3244:
3226:
3199:
3177:, e.g. using an
3176:
3174:
3173:
3168:
3147:
3145:
3144:
3139:
3134:
3133:
3096:
3094:
3093:
3088:
3061:
3059:
3058:
3053:
3020:
3018:
3017:
3012:
3007:
3006:
3002:
2989:
2988:
2984:
2950:
2948:
2947:
2942:
2897:
2895:
2894:
2889:
2792:
2790:
2789:
2784:
2717:
2715:
2714:
2709:
2692:
2691:
2669:
2667:
2666:
2661:
2634:
2632:
2631:
2626:
2596:
2594:
2593:
2588:
2536:
2534:
2533:
2528:
2517:
2516:
2492:
2490:
2489:
2484:
2441:
2439:
2438:
2433:
2407:
2405:
2404:
2399:
2370:
2368:
2367:
2362:
2319:
2317:
2316:
2311:
2306:
2305:
2301:
2267:
2266:
2262:
2222:
2205:
2172:
2170:
2169:
2164:
2137:
2135:
2134:
2129:
2098:
2096:
2095:
2090:
2070:For every bunch
2066:
2064:
2063:
2058:
2056:
2055:
2051:
2028:
2026:
2025:
2020:
1996:
1994:
1993:
1988:
1974:
1973:
1963:
1952:
1900:
1898:
1897:
1892:
1890:
1889:
1873:
1871:
1870:
1865:
1863:
1862:
1836:
1834:
1833:
1828:
1826:
1825:
1809:
1807:
1806:
1801:
1790:
1789:
1773:
1771:
1770:
1765:
1751:
1750:
1708:
1703:
1702:
1684:
1683:
1653:
1652:
1636:
1634:
1633:
1628:
1580:
1578:
1577:
1572:
1555:
1554:
1530:
1528:
1527:
1522:
1505:
1504:
1488:
1486:
1485:
1480:
1463:
1462:
1428:
1426:
1425:
1420:
1409:
1408:
1382:
1380:
1379:
1374:
1363:
1362:
1346:
1344:
1343:
1338:
1336:
1335:
1334:
1319:
1271:
1270:
1254:
1252:
1251:
1246:
1244:
1243:
1242:
1227:
1185:
1184:
1162:
1160:
1159:
1154:
1107:
1105:
1104:
1099:
1091:
1090:
1068:
1066:
1065:
1060:
1058:
1057:
1041:
1039:
1038:
1033:
1031:
1030:
1026:
1000:
998:
997:
992:
990:
989:
973:
971:
970:
965:
963:
962:
958:
935:
933:
932:
927:
925:
924:
902:
900:
899:
894:
892:
891:
875:
873:
872:
867:
829:
827:
826:
821:
813:
812:
777:
775:
774:
769:
742:
740:
739:
734:
707:
705:
704:
699:
669:
667:
666:
661:
628:
626:
625:
620:
615:
614:
592:
590:
589:
584:
563:
561:
560:
555:
530:
528:
527:
522:
517:
516:
512:
480:
478:
477:
472:
451:
449:
448:
443:
422:
420:
419:
414:
393:
391:
390:
385:
380:
379:
375:
328:
326:
325:
320:
284:
282:
281:
276:
271:
270:
241:
239:
238:
233:
228:
227:
205:
203:
202:
197:
192:
191:
169:
167:
166:
161:
130:
128:
127:
122:
3325:
3324:
3320:
3319:
3318:
3316:
3315:
3314:
3290:
3289:
3288:
3287:
3280:
3256:
3255:
3248:
3224:10.1.1.295.4480
3201:
3200:
3196:
3191:
3150:
3149:
3125:
3114:
3113:
3064:
3063:
3035:
3034:
3027:
2990:
2972:
2961:
2960:
2957:
2900:
2899:
2799:
2798:
2724:
2723:
2677:
2672:
2671:
2637:
2636:
2602:
2601:
2543:
2542:
2508:
2497:
2496:
2445:
2444:
2412:
2411:
2375:
2374:
2335:
2334:
2283:
2250:
2178:
2177:
2140:
2139:
2138:, the distance
2105:
2104:
2072:
2071:
2039:
2031:
2030:
2002:
2001:
1965:
1918:
1917:
1881:
1876:
1875:
1848:
1843:
1842:
1817:
1812:
1811:
1781:
1776:
1775:
1736:
1688:
1675:
1644:
1639:
1638:
1595:
1594:
1585:For every node
1546:
1535:
1534:
1496:
1491:
1490:
1454:
1443:
1442:
1400:
1389:
1388:
1354:
1349:
1348:
1326:
1262:
1257:
1256:
1234:
1176:
1165:
1164:
1121:
1120:
1111:For every node
1082:
1077:
1076:
1049:
1044:
1043:
1008:
1003:
1002:
981:
976:
975:
943:
938:
937:
910:
905:
904:
883:
878:
877:
834:
833:
804:
799:
798:
788:
745:
744:
710:
709:
672:
671:
634:
633:
606:
595:
594:
569:
568:
540:
539:
500:
483:
482:
454:
453:
425:
424:
396:
395:
357:
343:
342:
335:
287:
286:
262:
251:
250:
219:
208:
207:
183:
172:
171:
170:, but requires
143:
142:
89:
88:
42:
22:distance oracle
12:
11:
5:
3323:
3321:
3313:
3312:
3307:
3302:
3292:
3291:
3286:
3285:
3278:
3246:
3193:
3192:
3190:
3187:
3166:
3163:
3160:
3157:
3137:
3132:
3128:
3124:
3121:
3086:
3083:
3080:
3077:
3074:
3071:
3051:
3048:
3045:
3042:
3026:
3023:
3010:
3005:
3001:
2997:
2993:
2987:
2983:
2979:
2975:
2971:
2968:
2956:
2953:
2940:
2937:
2934:
2931:
2928:
2925:
2922:
2919:
2916:
2913:
2910:
2907:
2887:
2884:
2881:
2878:
2875:
2872:
2869:
2866:
2863:
2860:
2857:
2854:
2851:
2848:
2845:
2842:
2839:
2836:
2833:
2830:
2827:
2824:
2821:
2818:
2815:
2812:
2809:
2806:
2782:
2779:
2776:
2773:
2770:
2767:
2764:
2761:
2758:
2755:
2752:
2749:
2746:
2743:
2740:
2737:
2734:
2731:
2707:
2704:
2701:
2698:
2695:
2690:
2687:
2684:
2680:
2659:
2656:
2653:
2650:
2647:
2644:
2624:
2621:
2618:
2615:
2612:
2609:
2598:
2597:
2586:
2583:
2580:
2577:
2574:
2571:
2568:
2565:
2562:
2559:
2556:
2553:
2550:
2539:
2538:
2537:
2526:
2523:
2520:
2515:
2511:
2507:
2504:
2494:
2482:
2479:
2476:
2473:
2470:
2467:
2464:
2461:
2458:
2455:
2452:
2442:
2431:
2428:
2425:
2422:
2419:
2397:
2394:
2391:
2388:
2385:
2382:
2371:
2360:
2357:
2354:
2351:
2348:
2345:
2342:
2309:
2304:
2300:
2296:
2293:
2290:
2286:
2282:
2279:
2276:
2273:
2270:
2265:
2261:
2257:
2253:
2249:
2246:
2243:
2240:
2237:
2234:
2231:
2228:
2225:
2221:
2217:
2214:
2211:
2208:
2204:
2200:
2197:
2194:
2191:
2188:
2185:
2162:
2159:
2156:
2153:
2150:
2147:
2127:
2124:
2121:
2118:
2115:
2112:
2099:, construct a
2088:
2085:
2082:
2079:
2054:
2050:
2046:
2042:
2038:
2018:
2015:
2012:
2009:
1998:
1997:
1986:
1983:
1980:
1977:
1972:
1968:
1962:
1959:
1956:
1951:
1948:
1945:
1941:
1937:
1934:
1931:
1928:
1925:
1909:, compute its
1903:
1902:
1888:
1884:
1861:
1858:
1855:
1851:
1824:
1820:
1799:
1796:
1793:
1788:
1784:
1763:
1760:
1757:
1754:
1749:
1746:
1743:
1739:
1735:
1732:
1729:
1726:
1723:
1720:
1717:
1714:
1711:
1707:
1701:
1698:
1695:
1691:
1687:
1682:
1678:
1674:
1671:
1668:
1665:
1662:
1659:
1656:
1651:
1647:
1626:
1623:
1620:
1617:
1614:
1611:
1608:
1605:
1602:
1583:
1582:
1570:
1567:
1564:
1561:
1558:
1553:
1549:
1545:
1542:
1532:
1520:
1517:
1514:
1511:
1508:
1503:
1499:
1478:
1475:
1472:
1469:
1466:
1461:
1457:
1453:
1450:
1418:
1415:
1412:
1407:
1403:
1399:
1396:
1372:
1369:
1366:
1361:
1357:
1333:
1329:
1325:
1322:
1318:
1314:
1311:
1308:
1305:
1302:
1299:
1296:
1292:
1289:
1286:
1283:
1280:
1277:
1274:
1269:
1265:
1241:
1237:
1233:
1230:
1226:
1222:
1219:
1216:
1213:
1210:
1207:
1204:
1200:
1197:
1194:
1191:
1188:
1183:
1179:
1175:
1172:
1152:
1149:
1146:
1143:
1140:
1137:
1134:
1131:
1128:
1109:
1108:
1097:
1094:
1089:
1085:
1074:
1056:
1052:
1029:
1025:
1021:
1018:
1015:
1011:
988:
984:
961:
957:
953:
950:
946:
923:
920:
917:
913:
890:
886:
865:
862:
859:
856:
853:
850:
847:
844:
841:
830:
819:
816:
811:
807:
787:
784:
780:
779:
767:
764:
761:
758:
755:
752:
743:, and stretch
732:
729:
726:
723:
720:
717:
697:
694:
691:
688:
685:
682:
679:
659:
656:
653:
650:
647:
644:
641:
630:
618:
613:
609:
605:
602:
582:
579:
576:
565:
553:
550:
547:
520:
515:
511:
507:
503:
499:
496:
493:
490:
470:
467:
464:
461:
441:
438:
435:
432:
412:
409:
406:
403:
383:
378:
374:
370:
367:
364:
360:
356:
353:
350:
334:
333:Approximate DO
331:
318:
315:
312:
309:
306:
303:
300:
297:
294:
274:
269:
265:
261:
258:
231:
226:
222:
218:
215:
195:
190:
186:
182:
179:
159:
156:
153:
150:
120:
117:
114:
111:
108:
105:
102:
99:
96:
68: = |
60: = |
41:
38:
30:data structure
13:
10:
9:
6:
4:
3:
2:
3322:
3311:
3308:
3306:
3303:
3301:
3298:
3297:
3295:
3281:
3275:
3271:
3267:
3263:
3259:
3253:
3251:
3247:
3242:
3238:
3234:
3230:
3225:
3220:
3216:
3212:
3208:
3204:
3198:
3195:
3188:
3186:
3184:
3180:
3161:
3155:
3130:
3126:
3110:
3108:
3104:
3100:
3081:
3078:
3075:
3069:
3046:
3040:
3032:
3024:
3022:
3003:
2999:
2995:
2991:
2985:
2981:
2977:
2973:
2966:
2954:
2952:
2935:
2932:
2929:
2923:
2917:
2914:
2911:
2908:
2882:
2879:
2876:
2870:
2867:
2864:
2858:
2855:
2852:
2846:
2843:
2837:
2834:
2831:
2825:
2822:
2816:
2813:
2810:
2804:
2796:
2793:. Now by the
2777:
2774:
2771:
2765:
2759:
2756:
2753:
2747:
2741:
2738:
2735:
2729:
2721:
2702:
2696:
2693:
2688:
2685:
2682:
2678:
2654:
2651:
2648:
2642:
2619:
2616:
2613:
2607:
2581:
2578:
2575:
2569:
2566:
2560:
2557:
2554:
2548:
2540:
2521:
2513:
2509:
2505:
2502:
2495:
2477:
2474:
2471:
2465:
2459:
2456:
2453:
2443:
2429:
2426:
2423:
2420:
2417:
2410:
2409:
2392:
2386:
2383:
2380:
2372:
2358:
2355:
2352:
2349:
2346:
2343:
2340:
2333:
2332:
2331:
2329:
2325:
2320:
2302:
2298:
2294:
2291:
2288:
2284:
2280:
2274:
2271:
2263:
2259:
2255:
2251:
2247:
2244:
2241:
2238:
2235:
2229:
2226:
2212:
2206:
2195:
2192:
2189:
2183:
2174:
2157:
2154:
2151:
2145:
2122:
2116:
2113:
2110:
2102:
2083:
2077:
2068:
2052:
2048:
2044:
2040:
2036:
2013:
2007:
1984:
1978:
1970:
1966:
1960:
1957:
1954:
1949:
1946:
1943:
1939:
1935:
1929:
1923:
1916:
1915:
1914:
1912:
1908:
1886:
1882:
1859:
1856:
1853:
1849:
1840:
1822:
1818:
1794:
1786:
1782:
1755:
1752:
1747:
1744:
1741:
1737:
1730:
1727:
1721:
1718:
1715:
1709:
1699:
1696:
1693:
1689:
1680:
1676:
1672:
1669:
1663:
1657:
1649:
1645:
1624:
1621:
1618:
1615:
1612:
1609:
1606:
1603:
1600:
1592:
1591:
1590:
1589:, calculate:
1588:
1565:
1559:
1556:
1551:
1547:
1540:
1533:
1518:
1515:
1509:
1501:
1497:
1476:
1473:
1467:
1464:
1459:
1455:
1448:
1440:
1436:
1432:
1413:
1410:
1405:
1401:
1394:
1386:
1367:
1359:
1355:
1331:
1327:
1323:
1320:
1309:
1306:
1303:
1297:
1287:
1284:
1281:
1275:
1267:
1263:
1239:
1235:
1231:
1228:
1217:
1214:
1211:
1205:
1195:
1189:
1186:
1181:
1177:
1170:
1150:
1147:
1144:
1141:
1138:
1135:
1132:
1129:
1126:
1118:
1117:
1116:
1114:
1092:
1087:
1083:
1075:
1072:
1054:
1050:
1027:
1023:
1019:
1016:
1013:
1009:
986:
982:
959:
955:
951:
948:
944:
921:
918:
915:
911:
888:
884:
863:
860:
857:
854:
851:
848:
845:
842:
839:
831:
817:
814:
809:
805:
797:
796:
795:
793:
785:
783:
762:
759:
756:
750:
727:
724:
721:
715:
692:
689:
686:
683:
677:
654:
651:
648:
642:
639:
631:
611:
607:
600:
580:
577:
574:
566:
551:
548:
545:
537:
536:
535:
532:
513:
509:
505:
501:
497:
494:
488:
468:
465:
462:
459:
439:
436:
433:
430:
407:
401:
376:
372:
368:
365:
362:
358:
354:
348:
340:
332:
330:
313:
310:
307:
304:
301:
298:
292:
267:
263:
256:
247:
245:
224:
220:
213:
188:
184:
177:
154:
148:
140:
135:
132:
115:
112:
109:
106:
103:
100:
94:
86:
81:
79:
75:
71:
67:
63:
59:
55:
51:
47:
39:
37:
35:
31:
27:
23:
19:
3305:Graph theory
3261:
3258:Patrascu, M.
3214:
3210:
3197:
3182:
3178:
3111:
3102:
3098:
3028:
2958:
2955:Improvements
2719:
2599:
2327:
2323:
2321:
2175:
2069:
1999:
1910:
1906:
1904:
1838:
1586:
1584:
1438:
1434:
1430:
1384:
1112:
1110:
1070:
791:
789:
781:
533:
338:
336:
248:
138:
136:
133:
82:
77:
73:
69:
65:
64:| nodes and
61:
57:
53:
49:
45:
43:
40:Introduction
25:
21:
15:
2029:is at most
1069:are called
3294:Categories
3203:Thorup, M.
3189:References
2101:hash table
1905:For every
1593:For every
1119:For every
832:For every
3219:CiteSeerX
3207:Zwick, U.
3120:Ω
2915:−
2865:≤
2823:≤
2757:−
2748:≤
2694:⊆
2686:−
2384:∉
2199:Σ
2114:∈
1958:−
1940:⋃
1686:∖
1673:∈
1622:−
1613:…
1569:∞
1324:∈
1288:
1232:∈
1148:−
1139:…
1096:∅
1071:i-centers
1017:−
949:−
919:−
861:−
852:…
760:
725:
690:
658:⌋
652:
646:⌊
466:−
437:−
311:
113:
76:and
18:computing
3217:: 1â24.
3097:, where
2670:. Since
1347:. I.e.,
3241:5425739
2541:return
28:) is a
3276:
3239:
3221:
2373:while
1387:, and
139:matrix
3237:S2CID
1911:bunch
34:graph
3274:ISBN
3181:-by-
2326:and
1728:<
1489:and
1255:and
632:For
567:For
538:For
80:?".
44:Let
20:, a
3266:doi
3229:doi
3109:.
1291:min
1285:arg
1199:min
1001:is
757:log
722:log
687:log
649:log
612:1.5
308:log
110:log
16:In
3296::
3272:.
3249:^
3235:.
3227:.
3215:52
3213:.
3205:;
2951:.
2797:,
2506::=
2466::=
2421::=
2408::
2356::=
2344::=
2330::
2173:.
2067:.
1913::
1774:.
1637::
1441:,
1163::
876::
531:.
246:.
36:.
26:DO
3282:.
3268::
3243:.
3231::
3183:n
3179:n
3165:)
3162:1
3159:(
3156:O
3136:)
3131:2
3127:n
3123:(
3103:N
3099:n
3085:)
3082:n
3079:+
3076:N
3073:(
3070:O
3050:)
3047:1
3044:(
3041:O
3009:)
3004:3
3000:/
2996:1
2992:m
2986:3
2982:/
2978:4
2974:n
2970:(
2967:O
2939:)
2936:v
2933:,
2930:u
2927:(
2924:d
2921:)
2918:1
2912:k
2909:2
2906:(
2886:)
2883:u
2880:,
2877:v
2874:(
2871:d
2868:k
2862:)
2859:v
2856:,
2853:u
2850:(
2847:d
2844:+
2841:)
2838:u
2835:,
2832:w
2829:(
2826:d
2820:)
2817:v
2814:,
2811:w
2808:(
2805:d
2781:)
2778:u
2775:,
2772:v
2769:(
2766:d
2763:)
2760:1
2754:k
2751:(
2745:)
2742:u
2739:,
2736:w
2733:(
2730:d
2720:k
2706:)
2703:v
2700:(
2697:B
2689:1
2683:k
2679:A
2658:)
2655:u
2652:,
2649:v
2646:(
2643:d
2623:)
2620:u
2617:,
2614:w
2611:(
2608:d
2585:)
2582:v
2579:,
2576:w
2573:(
2570:d
2567:+
2564:)
2561:u
2558:,
2555:w
2552:(
2549:d
2525:)
2522:u
2519:(
2514:i
2510:p
2503:w
2481:)
2478:u
2475:,
2472:v
2469:(
2463:)
2460:v
2457:,
2454:u
2451:(
2430:1
2427:+
2424:i
2418:i
2396:)
2393:v
2390:(
2387:B
2381:w
2359:0
2353:i
2350:,
2347:u
2341:w
2328:v
2324:u
2308:)
2303:k
2299:/
2295:1
2292:+
2289:1
2285:n
2281:k
2278:(
2275:O
2272:=
2269:)
2264:k
2260:/
2256:1
2252:n
2248:k
2245:n
2242:+
2239:n
2236:k
2233:(
2230:O
2227:=
2224:)
2220:|
2216:)
2213:v
2210:(
2207:B
2203:|
2196:+
2193:n
2190:k
2187:(
2184:O
2161:)
2158:v
2155:,
2152:w
2149:(
2146:d
2126:)
2123:V
2120:(
2117:B
2111:w
2087:)
2084:v
2081:(
2078:B
2053:k
2049:/
2045:1
2041:n
2037:k
2017:)
2014:v
2011:(
2008:B
1985:.
1982:)
1979:v
1976:(
1971:i
1967:B
1961:1
1955:k
1950:0
1947:=
1944:i
1936:=
1933:)
1930:v
1927:(
1924:B
1907:v
1887:i
1883:B
1860:1
1857:+
1854:i
1850:A
1839:v
1823:i
1819:A
1798:)
1795:v
1792:(
1787:i
1783:B
1762:}
1759:)
1756:v
1753:,
1748:1
1745:+
1742:i
1738:A
1734:(
1731:d
1725:)
1722:v
1719:,
1716:w
1713:(
1710:d
1706:|
1700:1
1697:+
1694:i
1690:A
1681:i
1677:A
1670:w
1667:{
1664:=
1661:)
1658:v
1655:(
1650:i
1646:B
1625:1
1619:k
1616:,
1610:,
1607:0
1604:=
1601:i
1587:v
1581:.
1566:=
1563:)
1560:v
1557:,
1552:k
1548:A
1544:(
1541:d
1531:.
1519:v
1516:=
1513:)
1510:v
1507:(
1502:0
1498:p
1477:0
1474:=
1471:)
1468:v
1465:,
1460:0
1456:A
1452:(
1449:d
1439:v
1435:i
1431:v
1417:)
1414:v
1411:,
1406:i
1402:A
1398:(
1395:d
1385:v
1371:)
1368:v
1365:(
1360:i
1356:p
1332:i
1328:A
1321:w
1317:|
1313:)
1310:v
1307:,
1304:w
1301:(
1298:d
1295:(
1282:=
1279:)
1276:v
1273:(
1268:i
1264:p
1240:i
1236:A
1229:w
1225:|
1221:)
1218:v
1215:,
1212:w
1209:(
1206:d
1203:(
1196:=
1193:)
1190:v
1187:,
1182:i
1178:A
1174:(
1171:d
1151:1
1145:k
1142:,
1136:,
1133:0
1130:=
1127:i
1113:v
1093:=
1088:k
1084:A
1073:.
1055:i
1051:A
1028:k
1024:/
1020:i
1014:1
1010:n
987:i
983:A
960:k
956:/
952:1
945:n
922:1
916:i
912:A
889:i
885:A
864:1
858:k
855:,
849:,
846:1
843:=
840:i
818:V
815:=
810:0
806:A
792:k
778:.
766:)
763:n
754:(
751:O
731:)
728:n
719:(
716:O
696:)
693:n
684:n
681:(
678:O
655:n
643:=
640:k
617:)
608:n
604:(
601:O
581:2
578:=
575:k
552:1
549:=
546:k
519:)
514:k
510:/
506:1
502:n
498:m
495:k
492:(
489:O
469:1
463:k
460:2
440:1
434:k
431:2
411:)
408:k
405:(
402:O
382:)
377:k
373:/
369:1
366:+
363:1
359:n
355:k
352:(
349:O
339:k
317:)
314:n
305:n
302:+
299:m
296:(
293:O
273:)
268:2
264:n
260:(
257:O
230:)
225:3
221:n
217:(
214:O
194:)
189:2
185:n
181:(
178:O
158:)
155:1
152:(
149:O
119:)
116:n
107:n
104:+
101:m
98:(
95:O
78:t
74:s
70:E
66:m
62:V
58:n
54:E
52:,
50:V
48:(
46:G
24:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.