Knowledge (XXG)

Dancing tree

Source 📝

739: 22: 151:
However, a negative side effect of this behavior manifests in cases of unexpected shutdown, incomplete data writes, and other occurrences that may prevent the final balanced transaction from completing. In general, dancing trees pose greater difficulty than conventional trees for data recovery from
147:
In some sense, this can be considered to be a self-balancing binary search tree that is optimized for storage on a slow medium, in that the on-disc form will always be balanced but will get no mid-transaction writes; doing so eases the difficulty of adding and removing nodes during a transaction.
143:
The idea behind this is to speed up file system operations by delaying optimization of the tree and only writing to disk when necessary, as writing to disk is thousands of times slower than writing to memory. Also, because this optimization is done less often than with other tree data structures,
139:
that attempt to keep their nodes balanced at all times, dancing trees only balance their nodes when flushing data to a disk (either because of memory constraints or because a transaction has completed).
780: 32: 479: 686: 230: 136: 773: 346: 799: 804: 47: 169: 90: 148:
Instead, these slow rebalancing operations are performed at the same time as the much slower write to the storage medium.
62: 766: 69: 311: 696: 252: 76: 223: 203: 152:
incomplete transactions, though this can be addressed by more thoroughly accounting for transacted data.
58: 390: 239: 380: 335: 494: 270: 120: 350: 661: 620: 446: 436: 315: 555: 256: 216: 750: 746: 646: 112: 809: 590: 340: 83: 543: 538: 421: 355: 793: 691: 671: 514: 403: 330: 265: 651: 615: 431: 426: 408: 196: 173: 701: 666: 656: 570: 504: 499: 489: 398: 247: 128: 21: 711: 681: 641: 484: 413: 360: 280: 716: 676: 523: 451: 441: 738: 605: 295: 124: 721: 595: 575: 548: 533: 285: 706: 610: 585: 528: 375: 305: 300: 275: 208: 132: 625: 600: 580: 565: 474: 365: 290: 469: 370: 325: 39: 461: 212: 15: 754: 43: 198:
Software Engineering Based Reiser4 Design Principles
634: 513: 460: 389: 246: 774: 224: 8: 48:introducing citations to additional sources 781: 767: 231: 217: 209: 204:Description of the Reiser4 internal tree 144:the optimization can be more extensive. 38:Relevant discussion may be found on the 160: 170:"Reiser4 release notes - Dancing Tree" 7: 735: 733: 753:. You can help Knowledge (XXG) by 137:self-balancing binary search trees 14: 737: 31:relies largely or entirely on a 20: 1: 135:file system. As opposed to 826: 732: 687:Left-child right-sibling 517:data partitioning trees 475:C-trie (compressed ADT) 800:Computer storage stubs 749:-related article is a 805:Computer file systems 127:. It was invented by 697:Log-structured merge 240:Tree data structures 44:improve this article 121:tree data structure 662:Fractal tree index 257:associative arrays 762: 761: 730: 729: 131:, for use by the 109: 108: 94: 817: 783: 776: 769: 747:computer-storage 741: 734: 233: 226: 219: 210: 185: 184: 182: 181: 172:. Archived from 165: 113:computer science 104: 101: 95: 93: 52: 24: 16: 825: 824: 820: 819: 818: 816: 815: 814: 790: 789: 788: 787: 731: 726: 630: 509: 456: 385: 381:Weight-balanced 336:Order statistic 250: 242: 237: 193: 188: 179: 177: 167: 166: 162: 158: 105: 99: 96: 53: 51: 37: 25: 12: 11: 5: 823: 821: 813: 812: 807: 802: 792: 791: 786: 785: 778: 771: 763: 760: 759: 742: 728: 727: 725: 724: 719: 714: 709: 704: 699: 694: 689: 684: 679: 674: 669: 664: 659: 654: 649: 644: 638: 636: 632: 631: 629: 628: 623: 618: 613: 608: 603: 598: 593: 588: 583: 578: 573: 568: 563: 546: 541: 536: 531: 526: 520: 518: 511: 510: 508: 507: 502: 497: 495:Ternary search 492: 487: 482: 477: 472: 466: 464: 458: 457: 455: 454: 449: 444: 439: 434: 429: 424: 419: 411: 406: 401: 395: 393: 387: 386: 384: 383: 378: 373: 368: 363: 358: 353: 343: 338: 333: 328: 323: 318: 308: 303: 298: 293: 288: 283: 278: 273: 268: 262: 260: 244: 243: 238: 236: 235: 228: 221: 213: 207: 206: 201: 192: 191:External links 189: 187: 186: 159: 157: 154: 107: 106: 59:"Dancing tree" 42:. Please help 28: 26: 19: 13: 10: 9: 6: 4: 3: 2: 822: 811: 808: 806: 803: 801: 798: 797: 795: 784: 779: 777: 772: 770: 765: 764: 758: 756: 752: 748: 743: 740: 736: 723: 720: 718: 715: 713: 710: 708: 705: 703: 700: 698: 695: 693: 690: 688: 685: 683: 680: 678: 675: 673: 672:Hash calendar 670: 668: 665: 663: 660: 658: 655: 653: 650: 648: 645: 643: 640: 639: 637: 633: 627: 624: 622: 619: 617: 614: 612: 609: 607: 604: 602: 599: 597: 594: 592: 589: 587: 584: 582: 579: 577: 574: 572: 569: 567: 564: 561: 559: 553: 551: 547: 545: 542: 540: 537: 535: 532: 530: 527: 525: 522: 521: 519: 516: 512: 506: 503: 501: 498: 496: 493: 491: 488: 486: 483: 481: 478: 476: 473: 471: 468: 467: 465: 463: 459: 453: 450: 448: 447:van Emde Boas 445: 443: 440: 438: 437:Skew binomial 435: 433: 430: 428: 425: 423: 420: 418: 416: 412: 410: 407: 405: 402: 400: 397: 396: 394: 392: 388: 382: 379: 377: 374: 372: 369: 367: 364: 362: 359: 357: 354: 352: 348: 344: 342: 339: 337: 334: 332: 329: 327: 324: 322: 319: 317: 316:Binary search 313: 309: 307: 304: 302: 299: 297: 294: 292: 289: 287: 284: 282: 279: 277: 274: 272: 269: 267: 264: 263: 261: 258: 254: 249: 245: 241: 234: 229: 227: 222: 220: 215: 214: 211: 205: 202: 200: 199: 195: 194: 190: 176:on 2007-10-24 175: 171: 168:Hans Reiser. 164: 161: 155: 153: 149: 145: 141: 138: 134: 130: 126: 122: 118: 114: 103: 92: 89: 85: 82: 78: 75: 71: 68: 64: 61: –  60: 56: 55:Find sources: 49: 45: 41: 35: 34: 33:single source 29:This article 27: 23: 18: 17: 755:expanding it 744: 557: 549: 414: 347:Left-leaning 320: 253:dynamic sets 248:Search trees 197: 178:. Retrieved 174:the original 163: 150: 146: 142: 117:dancing tree 116: 110: 97: 87: 80: 73: 66: 54: 30: 647:Exponential 635:Other trees 129:Hans Reiser 123:similar to 794:Categories 591:Priority R 341:Palindrome 180:2009-07-22 156:References 100:March 2021 70:newspapers 677:iDistance 556:implicit 544:Hilbert R 539:Cartesian 422:Fibonacci 356:Scapegoat 351:Red–black 40:talk page 692:Link/cut 404:Binomial 331:Interval 125:B+ trees 652:Fenwick 616:Segment 515:Spatial 432:Pairing 427:Leftist 349:)  321:Dancing 314:)  312:Optimal 133:Reiser4 84:scholar 810:B-tree 702:Merkle 667:Fusion 657:Finger 581:Octree 571:Metric 505:Y-fast 500:X-fast 490:Suffix 409:Brodal 399:Binary 86:  79:  72:  65:  57:  745:This 712:Range 682:K-ary 642:Cover 485:Radix 470:Ctrie 462:Tries 391:Heaps 371:Treap 361:Splay 326:HTree 281:(a,b) 271:2–3–4 119:is a 91:JSTOR 77:books 751:stub 717:SPQR 596:Quad 524:Ball 480:Hash 452:Weak 442:Skew 417:-ary 115:, a 63:news 722:Top 576:MVP 534:BSP 286:AVL 266:2–3 111:In 46:by 796:: 707:PQ 621:VP 611:R* 606:R+ 586:PH 560:-d 552:-d 529:BK 376:UB 301:B* 296:B+ 276:AA 782:e 775:t 768:v 757:. 626:X 601:R 566:M 562:) 558:k 554:( 550:k 415:d 366:T 345:( 310:( 306:B 291:B 259:) 255:/ 251:( 232:e 225:t 218:v 183:. 102:) 98:( 88:· 81:· 74:· 67:· 50:. 36:.

Index


single source
talk page
improve this article
introducing citations to additional sources
"Dancing tree"
news
newspapers
books
scholar
JSTOR
computer science
tree data structure
B+ trees
Hans Reiser
Reiser4
self-balancing binary search trees
"Reiser4 release notes - Dancing Tree"
the original
Software Engineering Based Reiser4 Design Principles
Description of the Reiser4 internal tree
v
t
e
Tree data structures
Search trees
dynamic sets
associative arrays
2–3
2–3–4

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