Knowledge (XXG)

Tree (data structure)

Source 📝

651: 632: 38: 666: 696: 681: 1045: 861: 1184:
Allowing empty trees makes some definitions simpler, some more complicated: a rooted tree must be non-empty, hence if empty trees are allowed the above definition instead becomes "an empty tree or a rooted tree such that ...". On the other hand, empty trees simplify defining fixed branching factor:
41:
This unsorted tree has non-unique values (e.g., the value 2 existing in different nodes, not in a single node only) and is non-binary (only up to two children nodes per parent node in a binary tree). The root node at the top (with the value 2 here), has no parent as it is the highest in the tree
1219:
This is different from the formal definition of subtree used in graph theory, which is a subgraph that forms a tree – it need not include all descendants. For example, the root node by itself is a subtree in the graph theory sense, but not in the data structure sense (unless there are no
70:
node, which has no parent (i.e., the root node as the top-most node in the tree hierarchy). These constraints mean there are no cycles or "loops" (no node can be its own ancestor), and also that each child can be treated like the root node of its own subtree, making
799:
over the entirety of a tree; nodes are traversed level by level, where the root node is visited first, followed by its direct child nodes and their siblings, followed by its grandchild nodes and their siblings, etc., until all nodes in the tree have been traversed.
839:
can be implemented as a list of lists: the head of a list (the value of the first term) is the left child (subtree), while the tail (the list of second and subsequent terms) is the right child (subtree). This can be modified to allow values as well, as in Lisp
506:). Thus the root node has depth zero, leaf nodes have height zero, and a tree with only a single node (hence both a root and leaf) has depth and height zero. Conventionally, an empty tree (tree with no nodes, if such are allowed) has height −1. 812:
records with pointers to their children, their parents, or both, as well as any associated data. If of a fixed size, the nodes might be stored in a list. Nodes and relationships between nodes might be stored in a separate special type of
108:(ADT) can be represented in a number of ways, including a list of parents with pointers to children, a list of children with pointers to parents, or a list of nodes and a separate list of parent-child relations (a specific type of 83:, many trees cannot be represented by relationships between neighboring nodes (parent and children nodes of a node under consideration, if they exist) in a single straight line (called edge or link between two adjacent nodes). 844:, where the head (value of first term) is the value of the node, the head of the tail (value of second term) is the left child, and the tail of the tail (list of third and subsequent terms) is the right child. 89:
are a commonly used type, which constrain the number of children for each parent to at most two. When the order of the children is specified, this data structure corresponds to an
1989: 775:
of the tree. Often, an operation might be performed when a pointer arrives at a particular node. A walk in which each parent node is traversed before its children is called a
452:. Typically siblings have an order, with the first one conventionally drawn on the left. Some definitions allow a tree to have no nodes at all, in which case it is called 1265:
A parent can have multiple child nodes. ... However, a child node cannot have multiple parents. If a child node has multiple parents, then it is what we call a graph.
376: 1424:. Section 10.4: Representing rooted trees, pp. 214–217. Chapters 12–14 (Binary Search Trees, Red–Black Trees, Augmenting Data Structures), pp. 253–320. 2559: 1438: 66:. Each node in the tree can be connected to many children (depending on the type of tree), but must be connected to exactly one parent, except for the 2235: 1982: 2090: 1066: 882: 1145:
which determines the direction on the edges (arrows point away from the root; given an edge, the node that the edge points from is called the
2529: 1714: 1313: 1258: 1921: 1185:
with empty trees allowed, a binary tree is a tree such that every node has exactly two children, each of which is a tree (possibly empty).
1975: 2068: 1465: 498:
of a node is the length of the longest downward path to a leaf from that node. The height of the root is the height of the tree. The
2603: 2468: 1421: 1389: 1092: 908: 2598: 1199: 1581: 2258: 1379: 787:
traversal. (This last scenario, referring to exactly two subtrees, a left subtree and a right subtree, assumes specifically a
2263: 2155: 1070: 886: 783:
walk; a walk in which a node's left subtree, then the node itself, and finally its right subtree are traversed is called an
2228: 2073: 821:, nodes are typically represented as table rows, with indexed row IDs facilitating pointers between parents and children. 128: 2145: 577:
The level of a node is the number of edges along the unique path between it and the root node. This is the same as depth.
2608: 338: 317: 311: 176: 2342: 2325: 1118: 641: 196: 180: 2135: 1055: 871: 2541: 2308: 2303: 1546: 1412: 267: 1074: 1059: 890: 875: 290: 2298: 1931: 809: 397: 277: 2178: 2337: 2332: 2291: 2221: 2193: 1487: 97:. A value or pointer to other data may be associated with every node in the tree, or sometimes only with the 2572: 2549: 2140: 2112: 1194: 413: 349: 327: 63: 2019: 1330: 779:
walk; a walk in which the children are traversed before their respective parents are traversed is called a
2554: 2354: 2183: 2150: 2031: 1458: 767:
Stepping through the items of a tree, by means of the connections between parents and children, is called
749: 739: 2480: 2397: 2170: 2127: 1625: 360: 302: 297: 221: 80: 650: 2420: 2063: 2058: 2036: 1615: 1570: 1399: 825: 796: 437: 190: 184: 2593: 2188: 2024: 1729: 1505: 1136: 1020: 818: 733: 322: 282: 153: 120: 2463: 1585: 2448: 2313: 2273: 2204: 2085: 1896: 1855: 1681: 1671: 1550: 1353: 922: 307: 273: 249: 208: 105: 55: 2160: 1109:, generally with values attached to each node. Concretely, it is (if required to be non-empty): 119:
Trees as used in computing are similar to but can be different from mathematical constructs of
2382: 2281: 2107: 2048: 1790: 1491: 1451: 1417: 1385: 1309: 1278: 1254: 847:
Ordered trees can be naturally encoded by finite sequences, for example with natural numbers.
401: 261: 124: 2405: 1881: 1403: 1395: 1345: 1329:
L. Afanasiev; P. Blackburn; I. Dimitriou; B. Gaiffe; E. Goris; M. Marx; M. de Rijke (2005).
1246: 1166: 1132: 239: 47: 2425: 2367: 2011: 1998: 1825: 1575: 631: 365: 172: 808:
There are many different ways to represent trees. In working memory, nodes are typically
333:
Trees can be used to represent and manipulate various mathematical structures, such as:
37: 2517: 2495: 2320: 2244: 2002: 1778: 1773: 1656: 1590: 1407: 1125: 814: 762: 665: 416:
is a structure which may contain data and connections to other nodes, sometimes called
243: 113: 109: 76: 59: 1967: 828:, with relationships between them determined by their positions in the array (as in a 368:
used to identify which subroutines in a program call other subroutines non recursively
355:
Tree structures are often used for mapping the relationships between things, such as:
2587: 2490: 2387: 2372: 2102: 1926: 1906: 1749: 1638: 1565: 213: 157: 1500: 1886: 1850: 1666: 1661: 1643: 1555: 1374: 1357: 1106: 841: 695: 147: 140: 94: 90: 345:), by making multiple nodes in the tree for each graph node used in multiple paths 553:
For a given node, its number of children. A leaf, by definition, has degree zero.
2485: 2410: 2053: 1936: 1901: 1891: 1805: 1739: 1734: 1724: 1633: 1482: 1114: 1044: 1016: 860: 836: 829: 788: 680: 609:
A rooted tree in which an ordering is specified for the children of each vertex.
253: 235: 86: 2473: 2377: 1946: 1916: 1876: 1719: 1648: 1595: 1515: 1434: 1303: 1250: 396:
documents can be thought of as trees, but are typically represented by nested
342: 202: 1349: 1281: 17: 2415: 2362: 1951: 1911: 1758: 1686: 1676: 1286: 1170: 541:
A node reachable by repeated proceeding from parent to child. Also known as
383: 372: 167:
The mechanism used to allocate and link blocks of data on the storage device
161: 72: 2512: 1840: 1530: 2458: 2286: 1956: 1830: 1810: 1783: 1768: 1520: 2507: 2453: 1941: 1845: 1820: 1763: 1610: 1540: 1535: 1510: 1443: 659:: undirected cycle 1-2-4-3. 4 has more than one parent (inbound edge). 428:, which are below it in the tree (by convention, trees are drawn with 2502: 2443: 1860: 1835: 1815: 1800: 1709: 1600: 1525: 1173:), particularly always having two child nodes (possibly empty, hence 448:, such as the parent's parent. Child nodes with the same parent are 112:). Representations might also be more complicated, for example using 2213: 1704: 1605: 1560: 36: 1142:
with a distinguished root (one vertex is designated as the root),
561:
The degree of a tree is the maximum degree of a node in the tree.
2524: 2117: 2041: 1696: 432:
going downwards). A node that has a child is called the child's
393: 389: 229: 31: 2217: 1971: 1447: 1117:
with the "away from root" direction (a more narrow term is an "
1038: 854: 569:
The number of edges along the shortest path between two nodes.
509:
Each non-root node can be treated as the root node of its own
225: 1308:. Pacific Grove, CA: Brooks/Cole Publishing Co. p. 694. 674:: cycle B→C→E→D→B. B has more than one parent (inbound edge). 533:
A node reachable by repeated proceeding from child to parent.
1139:(any two vertices are connected by exactly one simple path), 475:) is any node of a tree that has child nodes. Similarly, an 2097: 2080: 502:
of a node is the length of the path to its root (i.e., its
359:
Components and subcomponents which can be visualized in an
440:). All nodes have exactly one parent, except the topmost 175:
or "inheritance tree" showing the relationships among
1031:(tree with root node with given value and children). 1241:
Subero, Armstrong (2020). "3. Tree Data Structure".
689:: cycle A→A. A is the root but it also has a parent. 513:, which includes that node and all its descendants. 2540: 2434: 2396: 2353: 2272: 2251: 2169: 2126: 2010: 1869: 1748: 1695: 1624: 1481: 1416:, Second Edition. MIT Press and McGraw-Hill, 2001. 1158:
an ordering on the child nodes of a given node, and
1149:and the node that the edge points to is called the 727:
Adding a new item at a certain position on the tree
139:Trees are commonly used to represent or manipulate 1165:Often trees have a fixed (more properly, bounded) 644:parts, A→B and C→D→E. There is more than one root. 1105:Viewed as a whole, a tree data structure is an 491:) is any node that does not have child nodes. 2229: 1983: 1459: 8: 1439:Dictionary of Algorithms and Data Structures 379:), of designs in various types of cars, etc. 375:, of source code by software projects (e.g. 238:store data in a way that makes an efficient 1073:. Unsourced material may be challenged and 933:is defined, using the abstract forest type 889:. Unsourced material may be challenged and 156:used to organize subdirectories and files ( 2236: 2222: 2214: 1990: 1976: 1968: 1466: 1452: 1444: 1161:a value (of some data type) at each node. 1093:Learn how and when to remove this message 909:Learn how and when to remove this message 444:, which has none. A node might have many 34:, a specific type of tree data structure. 824:Nodes can also be stored as items in an 314:with sections of increasing specificity. 1392:. Section 2.3: Trees, pp. 308–423. 1384:, Third Edition. Addison-Wesley, 1997. 1338:Journal of Applied Non-Classical Logics 1243:Codeless Data Structures and Algorithms 1233: 1212: 1202:(catalogs types of computational trees) 424:. Each node in a tree has zero or more 160:create non-tree graphs, as do multiple 27:Linked node hierarchical data structure 1305:Discrete Mathematics with Applications 1181:child nodes), hence a "binary tree". 7: 1071:adding citations to reliable sources 887:adding citations to reliable sources 736:: Removing a whole section of a tree 601:A set of one or more disjoint trees. 518: 371:Inheritance of DNA among species by 937:(list of trees), by the functions: 116:or ancestor lists for performance. 742:: Adding a whole section to a tree 25: 1200:Category:Trees (data structures) 1043: 859: 694: 679: 664: 649: 630: 101:, which have no children nodes. 2205:List of graph search algorithms 1380:The Art of Computer Programming 721:Enumerating a section of a tree 622:Examples of trees and non-trees 585:The number of nodes in a level. 293:trees used to simulate galaxies 129:trees in descriptive set theory 58:that represents a hierarchical 701:Each linear list is trivially 164:to the same file or directory) 143:data in applications such as: 1: 745:Finding the root for any node 516:Other terms used with trees: 382:The contents of hierarchical 1023:defined by the constructors 795:walk effectively performs a 757:Traversal and search methods 617:Number of nodes in the tree. 318:Hierarchical temporal memory 312:Dewey Decimal Classification 216:for generating conversations 2560:Directed acyclic word graph 2326:Double-ended priority queue 1302:Susanna S. Epp (Aug 2010). 377:Linux distribution timeline 337:Paths through an arbitrary 197:Natural language processing 181:object-oriented programming 2625: 1413:Introduction to Algorithms 760: 268:Computer-generated imagery 29: 2568: 2202: 1251:10.1007/978-1-4842-5725-8 929:with values of some type 925:, the abstract tree type 718:Enumerating all the items 278:binary space partitioning 207:Modeling utterances in a 2604:Knowledge representation 2292:Retrieval Data Structure 1922:Left-child right-sibling 1382:: Fundamental Algorithms 1350:10.3166/jancl.15.115-135 1245:. Berkeley, CA: Apress. 1035:Mathematical terminology 187:produces non-tree graphs 62:with a set of connected 30:Not to be confused with 2599:Trees (data structures) 2573:List of data structures 2550:Binary decision diagram 2113:Monte Carlo tree search 1752:data partitioning trees 1710:C-trie (compressed ADT) 1331:"PDL for ordered trees" 1195:Distributed tree search 328:Hierarchical clustering 308:Hierarchical taxonomies 75:a useful technique for 2555:Directed acyclic graph 771:, and the action is a 750:lowest common ancestor 350:mathematical hierarchy 303:Nested set collections 222:Document Object Models 193:for computer languages 81:linear data structures 43: 2171:Minimum spanning tree 810:dynamically allocated 724:Searching for an item 593:The number of leaves. 361:exploded-view drawing 191:Abstract syntax trees 121:trees in graph theory 40: 2421:Unrolled linked list 2156:Shortest path faster 2064:Breadth-first search 2059:Bidirectional search 2005:traversal algorithms 1932:Log-structured merge 1475:Tree data structures 1400:Charles E. Leiserson 1067:improve this section 883:improve this section 819:relational databases 797:breadth-first search 185:multiple inheritance 2609:Abstract data types 2469:Self-balancing tree 2091:Iterative deepening 1027:(empty forest) and 339:node-and-edge graph 323:Genetic programming 283:Digital compositing 154:Directory structure 125:trees in set theory 2449:Binary search tree 2314:Double-ended queue 2086:Depth-first search 1897:Fractal tree index 1492:associative arrays 1279:Weisstein, Eric W. 923:abstract data type 479:(also known as an 463:(also known as an 274:Space partitioning 250:binary search tree 209:generative grammar 106:abstract data type 56:abstract data type 44: 2581: 2580: 2383:Hashed array tree 2282:Associative array 2211: 2210: 2108:Jump point search 2049:Best-first search 1965: 1964: 1315:978-0-495-39132-6 1260:978-1-4842-5724-1 1153:), together with: 1131:whose underlying 1103: 1102: 1095: 982:with the axioms: 919: 918: 911: 713:Common operations 79:. In contrast to 54:is a widely used 16:(Redirected from 2616: 2406:Association list 2238: 2231: 2224: 2215: 1992: 1985: 1978: 1969: 1468: 1461: 1454: 1445: 1404:Ronald L. Rivest 1396:Thomas H. Cormen 1362: 1361: 1335: 1326: 1320: 1319: 1299: 1293: 1292: 1291: 1274: 1268: 1267: 1238: 1221: 1217: 1167:branching factor 1133:undirected graph 1098: 1091: 1087: 1084: 1078: 1047: 1039: 1030: 1026: 1011: 1007: 1003: 997: 993: 989: 978: 974: 970: 964: 958: 954: 948: 944: 936: 932: 928: 914: 907: 903: 900: 894: 863: 855: 769:walking the tree 730:Deleting an item 704: 698: 688: 683: 673: 668: 658: 653: 639: 634: 525:Parent or child. 366:Subroutine calls 240:search algorithm 224:("DOM tree") of 48:computer science 21: 2624: 2623: 2619: 2618: 2617: 2615: 2614: 2613: 2584: 2583: 2582: 2577: 2564: 2536: 2430: 2426:XOR linked list 2392: 2368:Circular buffer 2349: 2268: 2247: 2245:Data structures 2242: 2212: 2207: 2198: 2165: 2122: 2006: 1996: 1966: 1961: 1865: 1744: 1691: 1620: 1616:Weight-balanced 1571:Order statistic 1485: 1477: 1472: 1431: 1371: 1369:Further reading 1366: 1365: 1333: 1328: 1327: 1323: 1316: 1301: 1300: 1296: 1277: 1276: 1275: 1271: 1261: 1240: 1239: 1235: 1230: 1225: 1224: 1218: 1214: 1209: 1191: 1099: 1088: 1082: 1079: 1064: 1048: 1037: 1028: 1024: 1019:, a tree is an 1009: 1005: 1001: 995: 991: 987: 976: 972: 968: 962: 956: 952: 946: 942: 934: 930: 926: 915: 904: 898: 895: 880: 864: 853: 806: 804:Representations 765: 759: 715: 710: 709: 708: 707: 706: 702: 699: 691: 690: 686: 684: 676: 675: 671: 669: 661: 660: 656: 654: 646: 645: 637: 635: 624: 614: 606: 598: 590: 582: 574: 566: 558: 550: 538: 530: 522: 410: 173:Class hierarchy 137: 35: 28: 23: 22: 15: 12: 11: 5: 2622: 2620: 2612: 2611: 2606: 2601: 2596: 2586: 2585: 2579: 2578: 2576: 2575: 2569: 2566: 2565: 2563: 2562: 2557: 2552: 2546: 2544: 2538: 2537: 2535: 2534: 2533: 2532: 2522: 2521: 2520: 2518:Hilbert R-tree 2515: 2510: 2500: 2499: 2498: 2496:Fibonacci heap 2493: 2488: 2478: 2477: 2476: 2471: 2466: 2464:Red–black tree 2461: 2456: 2446: 2440: 2438: 2432: 2431: 2429: 2428: 2423: 2418: 2413: 2408: 2402: 2400: 2394: 2393: 2391: 2390: 2385: 2380: 2375: 2370: 2365: 2359: 2357: 2351: 2350: 2348: 2347: 2346: 2345: 2340: 2330: 2329: 2328: 2321:Priority queue 2318: 2317: 2316: 2306: 2301: 2296: 2295: 2294: 2289: 2278: 2276: 2270: 2269: 2267: 2266: 2261: 2255: 2253: 2249: 2248: 2243: 2241: 2240: 2233: 2226: 2218: 2209: 2208: 2203: 2200: 2199: 2197: 2196: 2194:Reverse-delete 2191: 2186: 2181: 2175: 2173: 2167: 2166: 2164: 2163: 2158: 2153: 2148: 2146:Floyd–Warshall 2143: 2138: 2132: 2130: 2124: 2123: 2121: 2120: 2115: 2110: 2105: 2100: 2095: 2094: 2093: 2083: 2078: 2077: 2076: 2071: 2061: 2056: 2051: 2046: 2045: 2044: 2039: 2034: 2022: 2016: 2014: 2008: 2007: 1997: 1995: 1994: 1987: 1980: 1972: 1963: 1962: 1960: 1959: 1954: 1949: 1944: 1939: 1934: 1929: 1924: 1919: 1914: 1909: 1904: 1899: 1894: 1889: 1884: 1879: 1873: 1871: 1867: 1866: 1864: 1863: 1858: 1853: 1848: 1843: 1838: 1833: 1828: 1823: 1818: 1813: 1808: 1803: 1798: 1781: 1776: 1771: 1766: 1761: 1755: 1753: 1746: 1745: 1743: 1742: 1737: 1732: 1730:Ternary search 1727: 1722: 1717: 1712: 1707: 1701: 1699: 1693: 1692: 1690: 1689: 1684: 1679: 1674: 1669: 1664: 1659: 1654: 1646: 1641: 1636: 1630: 1628: 1622: 1621: 1619: 1618: 1613: 1608: 1603: 1598: 1593: 1588: 1578: 1573: 1568: 1563: 1558: 1553: 1543: 1538: 1533: 1528: 1523: 1518: 1513: 1508: 1503: 1497: 1495: 1479: 1478: 1473: 1471: 1470: 1463: 1456: 1448: 1442: 1441: 1430: 1429:External links 1427: 1426: 1425: 1408:Clifford Stein 1393: 1370: 1367: 1364: 1363: 1344:(2): 115–135. 1321: 1314: 1294: 1269: 1259: 1232: 1231: 1229: 1226: 1223: 1222: 1211: 1210: 1208: 1205: 1204: 1203: 1197: 1190: 1187: 1163: 1162: 1159: 1156: 1155: 1154: 1143: 1140: 1129: 1126:directed graph 1101: 1100: 1051: 1049: 1042: 1036: 1033: 1021:inductive type 1013: 1012: 1000:children(node( 998: 980: 979: 965: 959: 949: 917: 916: 867: 865: 858: 852: 849: 815:adjacency list 805: 802: 763:Tree traversal 761:Main article: 758: 755: 754: 753: 746: 743: 737: 731: 728: 725: 722: 719: 714: 711: 700: 693: 692: 685: 678: 677: 670: 663: 662: 655: 648: 647: 636: 629: 628: 627: 626: 625: 623: 620: 619: 618: 615: 613:Size of a tree 612: 610: 607: 604: 602: 599: 596: 594: 591: 588: 586: 583: 580: 578: 575: 572: 570: 567: 564: 562: 559: 557:Degree of tree 556: 554: 551: 548: 546: 539: 536: 534: 531: 528: 526: 523: 520: 471:for short, or 446:ancestor nodes 409: 406: 387: 386: 380: 369: 363: 353: 352: 346: 331: 330: 325: 320: 315: 305: 300: 294: 287: 286: 285: 280: 265: 258: 257: 256: 244:tree traversal 233: 219: 218: 217: 211: 205: 194: 188: 170: 169: 168: 165: 158:symbolic links 136: 133: 110:adjacency list 77:tree traversal 60:tree structure 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 2621: 2610: 2607: 2605: 2602: 2600: 2597: 2595: 2592: 2591: 2589: 2574: 2571: 2570: 2567: 2561: 2558: 2556: 2553: 2551: 2548: 2547: 2545: 2543: 2539: 2531: 2528: 2527: 2526: 2523: 2519: 2516: 2514: 2511: 2509: 2506: 2505: 2504: 2501: 2497: 2494: 2492: 2491:Binomial heap 2489: 2487: 2484: 2483: 2482: 2479: 2475: 2472: 2470: 2467: 2465: 2462: 2460: 2457: 2455: 2452: 2451: 2450: 2447: 2445: 2442: 2441: 2439: 2437: 2433: 2427: 2424: 2422: 2419: 2417: 2414: 2412: 2409: 2407: 2404: 2403: 2401: 2399: 2395: 2389: 2388:Sparse matrix 2386: 2384: 2381: 2379: 2376: 2374: 2373:Dynamic array 2371: 2369: 2366: 2364: 2361: 2360: 2358: 2356: 2352: 2344: 2341: 2339: 2336: 2335: 2334: 2331: 2327: 2324: 2323: 2322: 2319: 2315: 2312: 2311: 2310: 2307: 2305: 2302: 2300: 2297: 2293: 2290: 2288: 2285: 2284: 2283: 2280: 2279: 2277: 2275: 2271: 2265: 2262: 2260: 2257: 2256: 2254: 2250: 2246: 2239: 2234: 2232: 2227: 2225: 2220: 2219: 2216: 2206: 2201: 2195: 2192: 2190: 2187: 2185: 2182: 2180: 2177: 2176: 2174: 2172: 2168: 2162: 2159: 2157: 2154: 2152: 2149: 2147: 2144: 2142: 2139: 2137: 2134: 2133: 2131: 2129: 2128:Shortest path 2125: 2119: 2116: 2114: 2111: 2109: 2106: 2104: 2103:Fringe search 2101: 2099: 2096: 2092: 2089: 2088: 2087: 2084: 2082: 2079: 2075: 2072: 2070: 2069:Lexicographic 2067: 2066: 2065: 2062: 2060: 2057: 2055: 2052: 2050: 2047: 2043: 2040: 2038: 2035: 2033: 2030: 2029: 2028: 2027: 2023: 2021: 2018: 2017: 2015: 2013: 2009: 2004: 2000: 1993: 1988: 1986: 1981: 1979: 1974: 1973: 1970: 1958: 1955: 1953: 1950: 1948: 1945: 1943: 1940: 1938: 1935: 1933: 1930: 1928: 1925: 1923: 1920: 1918: 1915: 1913: 1910: 1908: 1907:Hash calendar 1905: 1903: 1900: 1898: 1895: 1893: 1890: 1888: 1885: 1883: 1880: 1878: 1875: 1874: 1872: 1868: 1862: 1859: 1857: 1854: 1852: 1849: 1847: 1844: 1842: 1839: 1837: 1834: 1832: 1829: 1827: 1824: 1822: 1819: 1817: 1814: 1812: 1809: 1807: 1804: 1802: 1799: 1796: 1794: 1788: 1786: 1782: 1780: 1777: 1775: 1772: 1770: 1767: 1765: 1762: 1760: 1757: 1756: 1754: 1751: 1747: 1741: 1738: 1736: 1733: 1731: 1728: 1726: 1723: 1721: 1718: 1716: 1713: 1711: 1708: 1706: 1703: 1702: 1700: 1698: 1694: 1688: 1685: 1683: 1682:van Emde Boas 1680: 1678: 1675: 1673: 1672:Skew binomial 1670: 1668: 1665: 1663: 1660: 1658: 1655: 1653: 1651: 1647: 1645: 1642: 1640: 1637: 1635: 1632: 1631: 1629: 1627: 1623: 1617: 1614: 1612: 1609: 1607: 1604: 1602: 1599: 1597: 1594: 1592: 1589: 1587: 1583: 1579: 1577: 1574: 1572: 1569: 1567: 1564: 1562: 1559: 1557: 1554: 1552: 1551:Binary search 1548: 1544: 1542: 1539: 1537: 1534: 1532: 1529: 1527: 1524: 1522: 1519: 1517: 1514: 1512: 1509: 1507: 1504: 1502: 1499: 1498: 1496: 1493: 1489: 1484: 1480: 1476: 1469: 1464: 1462: 1457: 1455: 1450: 1449: 1446: 1440: 1436: 1433: 1432: 1428: 1423: 1422:0-262-03293-7 1419: 1415: 1414: 1409: 1405: 1401: 1397: 1394: 1391: 1390:0-201-89683-4 1387: 1383: 1381: 1376: 1373: 1372: 1368: 1359: 1355: 1351: 1347: 1343: 1339: 1332: 1325: 1322: 1317: 1311: 1307: 1306: 1298: 1295: 1289: 1288: 1283: 1280: 1273: 1270: 1266: 1262: 1256: 1252: 1248: 1244: 1237: 1234: 1227: 1220:descendants). 1216: 1213: 1206: 1201: 1198: 1196: 1193: 1192: 1188: 1186: 1182: 1180: 1176: 1172: 1168: 1160: 1157: 1152: 1148: 1144: 1141: 1138: 1134: 1130: 1127: 1123: 1122: 1121:"), meaning: 1120: 1116: 1112: 1111: 1110: 1108: 1097: 1094: 1086: 1076: 1072: 1068: 1062: 1061: 1057: 1052:This section 1050: 1046: 1041: 1040: 1034: 1032: 1022: 1018: 999: 985: 984: 983: 966: 960: 950: 940: 939: 938: 924: 913: 910: 902: 892: 888: 884: 878: 877: 873: 868:This section 866: 862: 857: 856: 850: 848: 845: 843: 842:S-expressions 838: 833: 831: 827: 822: 820: 816: 811: 803: 801: 798: 794: 790: 786: 782: 778: 774: 770: 764: 756: 751: 747: 744: 741: 738: 735: 732: 729: 726: 723: 720: 717: 716: 712: 697: 682: 667: 652: 643: 633: 621: 616: 611: 608: 603: 600: 595: 592: 587: 584: 579: 576: 571: 568: 563: 560: 555: 552: 547: 544: 540: 535: 532: 527: 524: 519: 517: 514: 512: 507: 505: 501: 497: 492: 490: 489:terminal node 486: 482: 478: 477:external node 474: 470: 466: 462: 461:internal node 457: 455: 451: 450:sibling nodes 447: 443: 439: 435: 431: 427: 423: 419: 415: 407: 405: 403: 399: 395: 391: 385: 381: 378: 374: 370: 367: 364: 362: 358: 357: 356: 351: 347: 344: 340: 336: 335: 334: 329: 326: 324: 321: 319: 316: 313: 309: 306: 304: 301: 299: 296:Implementing 295: 292: 288: 284: 281: 279: 275: 272: 271: 269: 266: 263: 260:Representing 259: 255: 252:is a type of 251: 247: 246: 245: 242:possible via 241: 237: 234: 231: 227: 223: 220: 215: 214:Dialogue tree 212: 210: 206: 204: 201: 200: 198: 195: 192: 189: 186: 182: 178: 174: 171: 166: 163: 159: 155: 152: 151: 149: 146: 145: 144: 142: 134: 132: 130: 126: 122: 117: 115: 111: 107: 102: 100: 96: 92: 88: 84: 82: 78: 74: 69: 65: 61: 57: 53: 49: 39: 33: 19: 18:Internal node 2435: 2343:Disjoint-set 2136:Bellman–Ford 2025: 1792: 1784: 1649: 1582:Left-leaning 1488:dynamic sets 1483:Search trees 1474: 1411: 1378: 1375:Donald Knuth 1341: 1337: 1324: 1304: 1297: 1285: 1272: 1264: 1242: 1236: 1215: 1183: 1178: 1174: 1164: 1150: 1146: 1119:arborescence 1107:ordered tree 1104: 1089: 1080: 1065:Please help 1053: 1015:In terms of 1014: 981: 920: 905: 896: 881:Please help 869: 846: 834: 823: 807: 792: 784: 780: 776: 772: 768: 766: 752:of two nodes 748:Finding the 605:Ordered tree 542: 515: 510: 508: 503: 499: 495: 493: 488: 484: 480: 476: 472: 468: 464: 460: 458: 453: 449: 445: 441: 433: 429: 425: 421: 417: 411: 402:dictionaries 388: 354: 332: 310:such as the 276:, including 262:sorted lists 236:Search trees 148:File systems 141:hierarchical 138: 135:Applications 118: 103: 98: 95:graph theory 91:ordered tree 87:Binary trees 85: 67: 51: 45: 2486:Binary heap 2411:Linked list 2054:Beam search 2020:α–β pruning 1882:Exponential 1870:Other trees 1435:Description 1115:rooted tree 1017:type theory 986:value(node( 851:Type theory 837:binary tree 830:binary heap 793:level-order 789:binary tree 473:branch node 434:parent node 430:descendants 426:child nodes 408:Terminology 343:multigraphs 341:(including 254:binary tree 203:Parse trees 2594:Data types 2588:Categories 2474:Splay tree 2378:Hash table 2259:Collection 2141:Dijkstra's 1826:Priority R 1576:Palindrome 1228:References 1083:April 2022 961:nil: () → 951:children: 899:April 2022 781:post-order 687:Not a tree 672:Not a tree 657:Not a tree 640:: two non- 638:Not a tree 537:Descendant 481:outer node 465:inner node 384:namespaces 291:Barnes–Hut 162:hard links 99:leaf nodes 42:hierarchy. 2530:Hash tree 2416:Skip list 2363:Bit array 2264:Container 2184:Kruskal's 2179:Borůvka's 2151:Johnson's 1912:iDistance 1791:implicit 1779:Hilbert R 1774:Cartesian 1657:Fibonacci 1591:Scapegoat 1586:Red–black 1437:from the 1287:MathWorld 1282:"Subtree" 1179:non-empty 1171:outdegree 1054:does not 870:does not 777:pre-order 642:connected 504:root path 485:leaf node 442:root node 373:evolution 232:documents 73:recursion 2459:AVL tree 2338:Multiset 2287:Multimap 2274:Abstract 2074:Parallel 1927:Link/cut 1639:Binomial 1566:Interval 1189:See also 785:in-order 740:Grafting 565:Distance 543:subchild 529:Ancestor 521:Neighbor 438:superior 289:Storing 2513:R+ tree 2508:R* tree 2454:AA tree 1887:Fenwick 1851:Segment 1750:Spatial 1667:Pairing 1662:Leftist 1584:)  1556:Dancing 1549:)  1547:Optimal 1358:1979330 1175:at most 1075:removed 1060:sources 941:value: 891:removed 876:sources 734:Pruning 589:Breadth 511:subtree 264:of data 177:classes 114:indexes 2542:Graphs 2503:R-tree 2444:B-tree 2398:Linked 2355:Arrays 2189:Prim's 2012:Search 1937:Merkle 1902:Fusion 1892:Finger 1816:Octree 1806:Metric 1740:Y-fast 1735:X-fast 1725:Suffix 1644:Brodal 1634:Binary 1420:  1406:, and 1388:  1356:  1312:  1257:  1147:parent 967:node: 921:As an 703:a tree 597:Forest 549:Degree 496:height 127:, and 2436:Trees 2309:Queue 2304:Stack 2252:Types 2161:Yen's 1999:Graph 1947:Range 1917:K-ary 1877:Cover 1720:Radix 1705:Ctrie 1697:Tries 1626:Heaps 1606:Treap 1596:Splay 1561:HTree 1516:(a,b) 1506:2–3–4 1354:S2CID 1334:(PDF) 1207:Notes 1151:child 1135:is a 1008:)) = 994:)) = 826:array 817:. In 791:.) A 581:Width 573:Level 500:depth 487:, or 469:inode 454:empty 422:links 418:edges 398:lists 298:heaps 150:for: 64:nodes 2525:Trie 2481:Heap 2299:List 2118:SSS* 2042:SMA* 2037:LPA* 2032:IDA* 2003:tree 2001:and 1952:SPQR 1831:Quad 1759:Ball 1715:Hash 1687:Weak 1677:Skew 1652:-ary 1418:ISBN 1386:ISBN 1310:ISBN 1255:ISBN 1177:two 1137:tree 1058:any 1056:cite 1029:node 874:any 872:cite 773:walk 494:The 436:(or 414:node 400:and 394:YAML 392:and 390:JSON 348:Any 230:HTML 228:and 104:The 68:root 52:tree 50:, a 32:Trie 2333:Set 1957:Top 1811:MVP 1769:BSP 1521:AVL 1501:2–3 1346:doi 1247:doi 1069:by 1025:nil 885:by 832:). 459:An 420:or 226:XML 179:in 93:in 46:In 2590:: 2098:D* 2081:B* 2026:A* 1942:PQ 1856:VP 1846:R* 1841:R+ 1821:PH 1795:-d 1787:-d 1764:BK 1611:UB 1536:B* 1531:B+ 1511:AA 1410:. 1402:, 1398:, 1377:. 1352:. 1342:15 1340:. 1336:. 1284:. 1263:. 1253:. 1124:A 1113:A 1004:, 990:, 975:→ 971:× 955:→ 945:→ 835:A 483:, 467:, 456:. 412:A 404:. 270:: 248:A 199:: 183:; 131:. 123:, 2237:e 2230:t 2223:v 1991:e 1984:t 1977:v 1861:X 1836:R 1801:M 1797:) 1793:k 1789:( 1785:k 1650:d 1601:T 1580:( 1545:( 1541:B 1526:B 1494:) 1490:/ 1486:( 1467:e 1460:t 1453:v 1360:. 1348:: 1318:. 1290:. 1249:: 1169:( 1128:, 1096:) 1090:( 1085:) 1081:( 1077:. 1063:. 1010:f 1006:f 1002:e 996:e 992:f 988:e 977:T 973:F 969:E 963:F 957:F 953:T 947:E 943:T 935:F 931:E 927:T 912:) 906:( 901:) 897:( 893:. 879:. 705:. 545:. 20:)

Index

Internal node
Trie

computer science
abstract data type
tree structure
nodes
recursion
tree traversal
linear data structures
Binary trees
ordered tree
graph theory
abstract data type
adjacency list
indexes
trees in graph theory
trees in set theory
trees in descriptive set theory
hierarchical
File systems
Directory structure
symbolic links
hard links
Class hierarchy
classes
object-oriented programming
multiple inheritance
Abstract syntax trees
Natural language processing

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.