This is libavl.info, produced by makeinfo version 4.0b from libavl.texi.


Indirect:
libavl.info-1: 74
libavl.info-2: 49954
libavl.info-3: 99278
libavl.info-4: 149764
libavl.info-5: 201639
libavl.info-6: 256110
libavl.info-7: 309314
libavl.info-8: 364927
libavl.info-9: 415137
libavl.info-10: 467819
libavl.info-11: 518139
libavl.info-12: 568432
libavl.info-13: 618536
libavl.info-14: 668991
libavl.info-15: 718896
libavl.info-16: 778193
libavl.info-17: 914084
libavl.info-18: 931167

Tag Table:
(Indirect)
Node: Top74
Node: Preface737
Node: Acknowledgements3345
Node: Contacting the Author4569
Node: Introduction5428
Node: Audience6160
Node: Reading the Code8843
Ref: Clear hash table entries10428
Ref: Initialize hash table11049
Ref: Initialize hash table-212444
Node: Code Conventions13983
Node: Code License14566
Ref: License14759
Node: The Table ADT16614
Node: Informal Definition17628
Node: Identifiers19949
Ref: Identifiers-Footnote-122264
Node: Comparison Function22425
Ref: Table function types23457
Ref: Comparison function for |int|s24581
Ref: strictweakordering26135
Ref: ternarycompare26913
Node: Item and Copy Functions27612
Ref: Table function types-227908
Node: Memory Allocation28685
Ref: Memory allocator29479
Ref: Default memory allocation functions30654
Ref: Default memory allocator header31674
Ref: libavlallocator32068
Ref: tblallocatorabort32314
Ref: moreargs32481
Node: Creation and Destruction32741
Ref: Table creation function prototypes32991
Node: Count35123
Ref: Table count function prototype35335
Ref: tblcount35490
Node: Insertion and Deletion35641
Ref: Table insertion and deletion function prototypes37051
Ref: nullinsert39386
Ref: genericinsertreplace39621
Node: Assertions39712
Ref: Table assertion function prototypes40398
Ref: tblassert40982
Ref: genericassertions41117
Node: Traversers41469
Node: Constructors43489
Ref: Traverser constructor function prototypes43791
Node: Manipulators45747
Ref: Traverser manipulator function prototypes45922
Node: Table Headers48623
Ref: Table types48880
Ref: Table function prototypes49251
Node: Additional Exercises for Tables49954
Node: Search Algorithms50408
Node: Sequential Search51413
Ref: Sequentially search an array of |int|s52271
Node: Sequential Search with Sentinel53632
Ref: Sequentially search an array of |int|s using a sentinel54929
Node: Sequential Search of Ordered Array57739
Ref: Sequentially search a sorted array of |int|s58920
Node: Sequential Search of Ordered Array with Sentinel60289
Ref: Sequentially search a sorted array of |int|s using a sentinel60828
Ref: Sequentially search a sorted array of |int|s using a sentinel (2)62299
Node: Binary Search of Ordered Array62948
Ref: Binary search of ordered array66439
Ref: benchmark69459
Ref: Binary Search of Ordered Array-Footnote-169821
Node: Binary Search Tree in Array70249
Ref: Binary search tree entry72051
Ref: Search of binary search tree stored as array73805
Node: Dynamic Lists75122
Ref: Dynamic Lists-Footnote-177461
Node: Binary Search Trees77648
Ref: bsth78356
Ref: bstc78766
Ref: includeguard78938
Node: BST Vocabulary79350
Node: Differing Definitions82928
Node: BST Data Types85038
Node: BST Node Structure85630
Ref: BST node structure86097
Node: BST Structure86848
Ref: BST table structure87148
Node: BST Maximum Height88536
Ref: BST maximum height89514
Node: BST Rotations89863
Ref: bstrotation92694
Node: BST Operations92862
Ref: BST operations93491
Node: Creating a BST93984
Ref: catalogue-entry-bst-094257
Ref: BST creation function94262
Node: Searching a BST94926
Ref: catalogue-entry-bst-195229
Ref: BST search function95234
Node: Inserting into a BST96104
Ref: catalogue-entry-bst-297591
Ref: BST item insertion function97596
Ref: rootcast98665
Ref: bstprobedblptr98757
Ref: copyinsorder98845
Ref: levelorder99070
Node: Root Insertion in a BST99278
Ref: catalogue-entry-bst-3101870
Ref: BST item insertion function root insertion version101875
Ref: Step 1 Search BST for insertion point root insertion version102253
Ref: Step 2 Insert new BST node root insertion version102818
Ref: Step 3 Move BST node to root103204
Ref: rootins1103840
Ref: rootins2104540
Node: Deleting from a BST104902
Ref: bstdelcase1105989
Ref: bstdelcase2106930
Ref: bstdelcase3107914
Ref: successor108443
Ref: catalogue-entry-bst-4109642
Ref: BST item deletion function109647
Ref: Step 1 Find BST node to delete110525
Ref: Step 2 Delete BST node110987
Ref: Case 1 in BST deletion111433
Ref: Case 2 in BST deletion111677
Ref: Case 3 in BST deletion112102
Ref: Case 3 in BST deletion-2112434
Ref: Step 3 Finish up after deleting BST node112696
Ref: bstdelcase15113025
Ref: bstaltdel113107
Ref: modifydata113380
Node: Deletion by Merging113690
Ref: catalogue-entry-bst-5116746
Ref: BST item deletion function by merging116751
Ref: Step 1 Find BST node to delete by merging117374
Ref: Step 2 Delete BST node by merging118399
Ref: Step 3 Finish up after BST deletion by merging119526
Node: Traversing a BST119820
Ref: Traversing a BST-Footnote-1123742
Node: Recursive Traversal of a BST123948
Ref: catalogue-entry-bst-6125184
Ref: Recursive traversal of BST125189
Ref: Recursive traversal of BST-2125666
Node: Iterative Traversal of a BST126751
Ref: Iterative traversal of BST take 1129342
Ref: Iterative traversal of BST take 2129797
Ref: Iterative traversal of BST take 3130440
Ref: Iterative traversal of BST take 4131433
Ref: catalogue-entry-bst-7132219
Ref: Iterative traversal of BST take 5132224
Ref: Iterative Traversal of a BST-Footnote-1133884
Node: Improving Convenience134000
Ref: Summing string lengths with |walk()|134587
Ref: Summing string lengths with |next_item()|135040
Ref: catalogue-entry-bst-8135977
Ref: Iterative traversal of BST take 6135982
Ref: Iterative traversal of BST take 6-2136610
Ref: Iterative traversal of BST take 6-3137178
Node: Better Iterative Traversal138784
Ref: BST traverser structure140911
Ref: catalogue-entry-bst-9142377
Ref: BST traverser refresher142382
Ref: BST traversal functions143549
Ref: probegeneration144154
Node: BST Traverser Null Initialization145127
Ref: catalogue-entry-bst-10145490
Ref: BST traverser null initializer145495
Node: BST Traverser First Initialization145828
Ref: catalogue-entry-bst-11146330
Ref: BST traverser least-item initializer146335
Node: BST Traverser Last Initialization147167
Ref: catalogue-entry-bst-12147591
Ref: BST traverser greatest-item initializer147596
Node: BST Traverser Find Initialization148322
Ref: catalogue-entry-bst-13148787
Ref: BST traverser search initializer148792
Node: BST Traverser Insert Initialization149764
Ref: catalogue-entry-bst-14150175
Ref: BST traverser insertion initializer150180
Node: BST Traverser Copying151445
Ref: catalogue-entry-bst-15151794
Ref: BST traverser copy initializer151799
Node: BST Traverser Advancing152651
Ref: catalogue-entry-bst-16153313
Ref: catalogue-entry-bst-17153313
Ref: BST traverser advance function153318
Ref: Handle case where |x| has a right child154472
Ref: Handle case where |x| has no right child155245
Node: BST Traverser Retreating155576
Ref: catalogue-entry-bst-18155966
Ref: BST traverser back up function155971
Node: BST Traversal Current Item157279
Ref: catalogue-entry-bst-19157517
Ref: BST traverser current item function157522
Node: BST Traversal Replacing the Current Item157958
Ref: catalogue-entry-bst-20158169
Ref: BST traverser replacement function158174
Node: Copying a BST158704
Node: Copying a BST Recursively159186
Ref: catalogue-entry-bst-21159518
Ref: Recursive copy of BST take 1159523
Ref: Recursive copy of BST take 2160482
Node: Copying a BST Iteratively162100
Ref: catalogue-entry-bst-22162539
Ref: Iterative copy of BST162544
Ref: Iterative copy of BST-2163374
Ref: Iterative copy of BST-3163928
Ref: Iterative copy of BST-4165113
Ref: copystep166054
Node: Handling errors during iterative BST copying166128
Ref: BST copy error helper function168216
Ref: catalogue-entry-bst-23169227
Ref: BST copy function169232
Node: Destroying a BST172189
Node: Destroying a BST by Rotation172613
Ref: catalogue-entry-bst-24175246
Ref: BST destruction function175251
Node: Destroying a BST Recursively176407
Ref: catalogue-entry-bst-25177098
Ref: Destroy a BST recursively177103
Node: Destroying a BST Iteratively177336
Ref: catalogue-entry-bst-26180685
Ref: Destroy a BST iteratively180690
Node: Balancing a BST181960
Ref: catalogue-entry-bst-27184322
Ref: BST balance function184327
Ref: BST extra function prototypes184634
Node: Transforming a BST into a Vine184987
Ref: catalogue-entry-bst-28187398
Ref: BST to vine function187403
Node: Transforming a Vine into a Balanced BST188120
Ref: Transforming a Vine into a Balanced BST-Footnote-1193319
Node: Balancing General Trees193498
Node: Balancing Implementation196399
Ref: catalogue-entry-bst-29196704
Ref: Vine to balanced BST function196709
Ref: Calculate |leaves|198918
Ref: Reduce vine general case to special case199589
Ref: Make special case vine into balanced tree and count height200621
Ref: Check for tree height in range201357
Node: Implementing compress()201639
Ref: catalogue-entry-bst-30202037
Ref: BST compression function202042
Node: Joining BSTs202811
Ref: catalogue-entry-bst-31208773
Ref: BST join function recursive version208778
Ref: Joining BSTs-Footnote-1209816
Node: Testing our BST functions209897
Ref: testc213696
Ref: bst-testc214270
Ref: testh214803
Ref: Testing our BST functions-Footnote-1215421
Node: Testing BSTs215631
Ref: BST test function216703
Ref: Test prototypes217666
Ref: Test creating a BST and inserting into it218337
Ref: Test BST traversal during modifications219774
Ref: BST traverser check function221476
Ref: Test deleting nodes from the BST and making copies of it223189
Ref: Compare two BSTs for structure and content224454
Ref: Test deleting from an empty tree225737
Ref: Test destroying the tree226021
Node: BST Verification226618
Ref: BST verify function227038
Ref: Check |tree->bst_count| is correct228054
Ref: Check BST structure228816
Ref: Check counted nodes229099
Ref: Recursively verify BST structure229647
Ref: Verify binary search tree ordering230629
Ref: Check that the tree contains all the elements it should231679
Ref: Check that forward traversal works232830
Ref: Check that backward traversal works233675
Ref: Check that traversal from the null element works234804
Node: Displaying BST structures236024
Ref: BST print function236835
Ref: BST print function-2238010
Node: Test Set Generation238266
Ref: Test declarations238707
Node: Testing Overflow240664
Ref: BST overflow test function241425
Ref: Test prototypes-2243908
Ref: Overflow testers244139
Node: Memory Manager244717
Ref: Test declarations-2245302
Ref: Memory tracker246476
Ref: Memory tracker-2248016
Ref: Memory tracker-3249359
Ref: Memory tracker-4250332
Ref: Memory tracker-5251239
Ref: Memory tracker-6251753
Ref: Memory tracker-7254623
Node: User Interaction256110
Ref: Test declarations-3257084
Node: Utility Functions258806
Ref: Test utility functions259191
Ref: Test prototypes-3259470
Ref: Test utility functions-2259707
Ref: Test utility functions-3260191
Node: Main Program260466
Ref: Test declarations-4260731
Ref: Test declarations-5261049
Ref: Test main program262311
Ref: Test declarations-6265444
Node: Additional Exercises for BSTs265507
Ref: bstsentinel265693
Node: AVL Trees266049
Ref: avlh269316
Ref: avlc269627
Ref: AVL Trees-Footnote-1270123
Node: AVL Balancing Rule270318
Node: Analysis of AVL Balancing Rule272286
Ref: Analysis of AVL Balancing Rule-Footnote-1273582
Node: AVL Data Types273815
Ref: AVL node structure274135
Node: AVL Operations274558
Ref: AVL functions275171
Node: Inserting into an AVL tree275635
Ref: catalogue-entry-avl-0278338
Ref: AVL item insertion function278344
Ref: |avl_probe()| local variables278803
Ref: balancedspeed279679
Node: Step 1 in AVL insertion280112
Ref: Step 1 Search AVL tree for insertion point281011
Node: Step 2 in AVL Insertion281467
Ref: Step 2 Insert AVL node281988
Node: Step 3 in AVL Insertion282403
Ref: Step 3 Update balance factors after AVL insertion289588
Ref: avlinsert290308
Ref: Step 3 in AVL Insertion-Footnote-1291586
Node: Rebalancing AVL trees291773
Ref: Step 4 Rebalance after AVL insertion293013
Ref: Rebalance AVL tree after insertion in left subtree293711
Ref: Step 4 Rebalance after AVL insertion-2294280
Ref: Step 4 Rebalance after AVL insertion-3294508
Ref: Rotate right at |y| in AVL tree295560
Ref: catalogue-entry-bst-32297271
Ref: Rotate left at |x| then right at |y| in AVL tree297277
Ref: ynezlink0298378
Ref: Rebalancing AVL trees-Footnote-1298949
Node: AVL insertion symmetric case299020
Ref: Rebalance AVL tree after insertion in right subtree299487
Ref: Rotate left at |y| in AVL tree299888
Ref: catalogue-entry-bst-33300195
Ref: Rotate right at |x| then left at |y| in AVL tree300201
Node: AVL insertion example301036
Node: Recursive Insertion302805
Ref: catalogue-entry-avl-1304912
Ref: Recursive insertion into AVL tree304918
Ref: Found insertion point in recursive AVL insertion306306
Ref: Move down then up in recursive AVL insertion307608
Ref: Recursive insertion into AVL tree-2308904
Node: Deleting from an AVL tree309314
Ref: catalogue-entry-avl-2310306
Ref: AVL item deletion function310312
Node: Deleting an AVL node step 1 - Search311423
Ref: avldelsaveitem312249
Ref: Step 1 Search AVL tree for item to delete312255
Node: Deleting an AVL node step 2 - Delete312703
Ref: Step 2 Delete item from AVL tree313300
Ref: Step 2 Delete item from AVL tree-2314105
Ref: Case 1 in AVL deletion314381
Ref: Case 2 in AVL deletion314908
Ref: Case 3 in AVL deletion315690
Ref: avlmodifydata316162
Node: Deleting an AVL node step 3 - Update316409
Ref: Steps 3--4 Update balance factors and rebalance after AVL deletion317947
Ref: Update |y|s balance factor after left-side AVL deletion322540
Node: Deleting an AVL node step 4 - Rebalance322854
Ref: Step 4 Rebalance after AVL deletion323316
Ref: avldelcase1323728
Ref: Left-side rebalancing case 1 in AVL deletion324474
Ref: avldel2324793
Ref: Left-side rebalancing case 2 in AVL deletion326182
Node: Deleting an AVL node step 5 - Finish Up326871
Ref: Step 5 Finish up and return after AVL deletion327111
Node: AVL deletion symmetric case327297
Ref: Update |y|s balance factor after right-side AVL deletion327590
Node: Traversal of an AVL tree328421
Ref: AVL traversal functions328806
Ref: catalogue-entry-avl-3329704
Ref: AVL traverser insertion initializer329710
Ref: catalogue-entry-avl-4330401
Ref: AVL traverser least-item initializer330407
Ref: catalogue-entry-avl-5331036
Ref: AVL traverser greatest-item initializer331042
Ref: catalogue-entry-avl-6331673
Ref: AVL traverser search initializer331679
Ref: catalogue-entry-avl-7332548
Ref: AVL traverser advance function332554
Ref: catalogue-entry-avl-8333661
Ref: AVL traverser back up function333667
Node: Copying an AVL tree334935
Ref: catalogue-entry-avl-9335298
Ref: AVL copy function335304
Node: Testing AVL Trees338036
Ref: avl-testc338588
Ref: Compare two AVL trees for structure and content339030
Ref: Recursively verify AVL tree structure340224
Ref: Verify AVL node balance factor341537
Ref: AVL tree verify function342182
Ref: Check AVL tree structure342928
Node: Red-Black Trees343221
Ref: rbh344377
Ref: rbc344683
Node: RB Balancing Rule345060
Ref: blackenroot348842
Node: Analysis of Red-Black Balancing Rule349416
Node: RB Data Types350215
Ref: RB node structure350614
Ref: RB maximum height351143
Node: Operations in an RB Tree351531
Ref: RB functions352060
Node: Inserting into an RB tree352520
Ref: catalogue-entry-rb-0353165
Ref: RB item insertion function353171
Ref: |rb_probe()| local variables353537
Node: Inserting an RB node step 1 - Search354395
Ref: Step 1 Search RB tree for insertion point354876
Node: Inserting an RB node step 2 - Insert355329
Ref: Step 2 Insert RB node355569
Node: Inserting an RB node step 3 - Rebalance356034
Ref: Step 3 Rebalance after RB insertion358188
Ref: Left-side rebalancing after RB insertion359120
Ref: rbinscase1359697
Ref: Case 1 in left-side RB insertion rebalancing361028
Ref: rbinscase2361506
Ref: Case 2 in left-side RB insertion rebalancing362527
Ref: rbinscase3363012
Ref: Case 3 in left-side RB insertion rebalancing364252
Ref: mink3364630
Node: RB insertion symmetric case364927
Ref: Right-side rebalancing after RB insertion365159
Ref: Case 1 in right-side RB insertion rebalancing365695
Ref: Case 2 in right-side RB insertion rebalancing366017
Ref: Case 3 in right-side RB insertion rebalancing366427
Node: Initial Black Insertion in an RB Tree366795
Ref: catalogue-entry-rb-1367463
Ref: RB item insertion function initial black367469
Ref: Step 3 Rebalance after initial-black RB insertion368507
Ref: Left-side rebalancing after initial-black RB insertion369371
Ref: Case 1 in left-side initial-black RB insertion rebalancing370940
Ref: Case 2 in left-side initial-black RB insertion rebalancing372130
Ref: Case 3 in left-side initial-black RB insertion rebalancing373370
Ref: Right-side rebalancing after initial-black RB insertion373683
Ref: Case 1 in right-side initial-black RB insertion rebalancing374279
Ref: Case 2 in right-side initial-black RB insertion rebalancing374520
Ref: Case 3 in right-side initial-black RB insertion rebalancing374856
Node: Deleting from an RB tree375118
Ref: catalogue-entry-rb-2375705
Ref: RB item deletion function375711
Node: Deleting an RB node step 2 - Delete376671
Ref: rbcolorswap379656
Ref: Step 2 Delete item from RB tree380942
Ref: rbdel1381409
Ref: Case 1 in RB deletion381591
Ref: rbdel2381823
Ref: Case 2 in RB deletion382545
Ref: rbdel3382879
Ref: Case 3 in RB deletion383876
Ref: noswapcolors384366
Node: Deleting an RB node step 3 - Rebalance384728
Ref: Step 3 Rebalance tree after RB deletion385335
Ref: Rebalance after RB deletion386556
Ref: Left-side rebalancing after RB deletion387584
Ref: rbdcr388403
Ref: Ensure |w| is black in left-side RB deletion rebalancing389741
Ref: rbdelcase1390697
Ref: Case 1 in left-side RB deletion rebalancing391779
Ref: rbdelcase2392166
Ref: Case 2 in left-side RB deletion rebalancing393152
Ref: rbdelcase3393667
Ref: Transform left-side RB deletion rebalancing case 3 into case 2394623
Node: Deleting an RB node step 4 - Finish up395091
Ref: Step 4 Finish up after RB deletion395417
Node: RB deletion symmetric case395637
Ref: Right-side rebalancing after RB deletion395820
Ref: Ensure |w| is black in right-side RB deletion rebalancing396581
Ref: Case 1 in right-side RB deletion rebalancing397095
Ref: Transform right-side RB deletion rebalancing case 3 into case 2397372
Ref: Case 2 in right-side RB deletion rebalancing397850
Node: Testing RB Trees398308
Ref: rb-testc398623
Ref: Compare two RB trees for structure and content399060
Ref: Recursively verify RB tree structure400250
Ref: Verify RB node color401608
Ref: Verify RB node rule 1 compliance402045
Ref: Verify RB node rule 2 compliance402739
Ref: RB tree verify function403224
Ref: Check root is black404028
Ref: Check RB tree structure404257
Node: Threaded Binary Search Trees404518
Ref: tbsth406050
Ref: tbstc406381
Ref: Threaded Binary Search Trees-Footnote-1406815
Node: Threads406978
Node: TBST Data Types409785
Ref: TBST node structure410198
Ref: TBST table structure411019
Node: TBST Operations411901
Ref: TBST functions412447
Node: Creating a TBST412959
Ref: catalogue-entry-tbst-0413239
Ref: TBST creation function413245
Node: Searching a TBST414059
Ref: catalogue-entry-tbst-1414500
Ref: TBST search function414506
Node: Inserting into a TBST415137
Ref: catalogue-entry-tbst-2416935
Ref: TBST item insertion function416941
Ref: Step 1 Search TBST for insertion point417432
Ref: Step 2 Insert TBST node417982
Node: Deleting from a TBST418701
Ref: catalogue-entry-tbst-3419224
Ref: TBST item deletion function419230
Ref: Find TBST node to delete420120
Ref: Delete TBST node420904
Ref: Case 1 in TBST deletion422878
Ref: Case 2 in TBST deletion423924
Ref: Case 3 in TBST deletion425108
Ref: Case 4 in TBST deletion427640
Ref: Case 4 in TBST deletion-2428042
Ref: Case 4 in TBST deletion-3428378
Ref: Finish up after deleting TBST node428871
Ref: tbstparent429090
Ref: ptrtaglink429256
Ref: tbstthreadsearch429630
Node: Traversing a TBST429911
Ref: TBST traverser structure431057
Ref: TBST traversal functions431676
Node: TBST Traverser Null Initialization432636
Ref: catalogue-entry-tbst-4432859
Ref: TBST traverser null initializer432865
Node: TBST Traverser First Initialization433213
Ref: catalogue-entry-tbst-5433455
Ref: TBST traverser first initializer433461
Node: TBST Traverser Last Initialization433972
Ref: catalogue-entry-tbst-6434212
Ref: TBST traverser last initializer434218
Node: TBST Traverser Find Initialization434727
Ref: catalogue-entry-tbst-7435066
Ref: TBST traverser search initializer435072
Node: TBST Traverser Insert Initialization435805
Ref: catalogue-entry-tbst-8436209
Ref: TBST traverser insertion initializer436215
Node: TBST Traverser Copying436877
Ref: catalogue-entry-tbst-9437096
Ref: TBST traverser copy initializer437102
Node: TBST Traverser Advancing437594
Ref: catalogue-entry-tbst-10438219
Ref: TBST traverser advance function438225
Node: TBST Traverser Retreating438964
Ref: catalogue-entry-tbst-11439153
Ref: TBST traverser back up function439159
Node: Copying a TBST439847
Ref: catalogue-entry-tbst-12442970
Ref: TBST node copy function442976
Ref: catalogue-entry-tbst-13444744
Ref: TBST copy function444750
Ref: TBST main copy function444958
Ref: TBST copy error helper function447967
Node: Destroying a TBST448657
Ref: catalogue-entry-tbst-14449220
Ref: TBST destruction function449226
Node: Balancing a TBST450046
Ref: catalogue-entry-tbst-15450950
Ref: TBST balance function450956
Ref: TBST main balance function451213
Node: Transforming a TBST into a Vine451578
Ref: catalogue-entry-tbst-16452413
Ref: TBST tree-to-vine function452419
Node: Transforming a Vine into a Balanced TBST455115
Ref: catalogue-entry-tbst-17455758
Ref: TBST vine-to-tree function455764
Ref: catalogue-entry-tbst-18458709
Ref: TBST vine compression function458715
Ref: Reduce TBST vine general case to special case459768
Ref: Make special case TBST vine into balanced tree and count height460059
Ref: Make special case TBST vine into balanced tree and count height-2460772
Node: Testing TBSTs460966
Ref: tbst-testc461800
Ref: TBST print function462234
Ref: Compare two TBSTs for structure and content463350
Ref: Recursively verify TBST structure464863
Ref: TBST verify function465662
Ref: TBST test function466327
Ref: Test TBST balancing466923
Node: Threaded AVL Trees467819
Ref: tavlh468790
Ref: tavlc469110
Node: TAVL Data Types469429
Ref: TAVL node structure469740
Ref: tavlnodesize470290
Node: TBST Rotations470507
Ref: tbstrot472593
Node: TAVL Operations472726
Ref: TAVL functions473121
Node: Inserting into a TAVL tree473597
Ref: catalogue-entry-tavl-0473971
Ref: TAVL item insertion function473977
Node: Steps 1 and 2 in TAVL Insertion474544
Ref: Step 1 Search TAVL tree for insertion point475257
Ref: Step 2 Insert TAVL node476028
Node: Rebalancing TAVL trees476237
Ref: Step 4 Rebalance after TAVL insertion476645
Ref: Rebalance TAVL tree after insertion in left subtree477329
Ref: Rebalance for |-| balance factor in TAVL insertion in left subtree477978
Ref: catalogue-entry-tavl-1480594
Ref: Rebalance for |+| balance factor in TAVL insertion in left subtree480600
Ref: tavlaltdblrot481265
Node: TAVL insertion symmetric case481402
Ref: Rebalance TAVL tree after insertion in right subtree481672
Ref: Rebalance for |+| balance factor in TAVL insertion in right subtree482075
Ref: catalogue-entry-tavl-2482484
Ref: Rebalance for |-| balance factor in TAVL insertion in right subtree482490
Node: Deleting from a TAVL tree483133
Ref: catalogue-entry-tavl-3483671
Ref: TAVL item deletion function483677
Node: Deleting a TAVL node step 1 - Search484607
Ref: Step 1 Search TAVL tree for item to delete485074
Node: Deleting a TAVL node step 2 - Delete485578
Ref: Step 2 Delete item from TAVL tree486323
Ref: Case 1 in TAVL deletion487219
Ref: Case 2 in TAVL deletion487643
Ref: Case 3 in TAVL deletion488147
Ref: Case 4 in TAVL deletion488674
Node: Deleting a TAVL node step 3 - Update489145
Ref: Steps 3 and 4 Update balance factors and rebalance after TAVL deletion490271
Node: Deleting a TAVL node step 4 - Rebalance490950
Ref: Step 4 Rebalance after TAVL deletion491515
Ref: Rebalance for |-| balance factor after TAVL deletion in left subtree492347
Ref: tavldelcase2492687
Ref: Rebalance for 0 balance factor after TAVL deletion in left subtree493540
Ref: tavldelcase3493930
Ref: Rebalance for |+| balance factor after TAVL deletion in left subtree495318
Node: TAVL deletion symmetric case495681
Ref: Steps 3 and 4 Symmetric case in TAVL deletion495954
Ref: Rebalance for |+| balance factor after TAVL deletion in right subtree496842
Ref: Rebalance for 0 balance factor after TAVL deletion in right subtree497134
Ref: Rebalance for |-| balance factor after TAVL deletion in right subtree497478
Node: Finding the Parent of a TBST Node497851
Ref: catalogue-entry-tbst-19500381
Ref: Find parent of a TBST node500387
Ref: tbstrootparent501948
Ref: tbstdelstack502114
Node: Copying a TAVL Tree502459
Ref: catalogue-entry-tavl-4502791
Ref: TAVL node copy function502797
Ref: TAVL copy function503636
Node: Testing TAVL Trees503867
Ref: tavl-testc504042
Ref: Compare two TAVL trees for structure and content504489
Ref: Recursively verify TAVL tree structure506117
Node: Threaded Red-Black Trees507241
Ref: trbh507810
Ref: trbc508125
Node: TRB Data Types508393
Ref: TRB node structure508847
Node: TRB Operations509515
Ref: TRB functions509973
Node: Inserting into a TRB tree510445
Ref: catalogue-entry-trb-0510675
Ref: TRB item insertion function510681
Node: Steps 1 and 2 in TRB Insertion511536
Ref: Step 1 Search TRB tree for insertion point511855
Ref: Step 2 Insert TRB node512551
Node: Step 3 in TRB Insertion512768
Ref: Step 3 Rebalance after TRB insertion513084
Ref: Left-side rebalancing after TRB insertion513663
Ref: Case 1 in left-side TRB insertion rebalancing514824
Ref: Case 2 in left-side TRB insertion rebalancing516629
Ref: Case 3 in left-side TRB insertion rebalancing517817
Node: TRB insertion symmetric case518139
Ref: Right-side rebalancing after TRB insertion518310
Ref: Case 1 in right-side TRB insertion rebalancing518881
Ref: Case 2 in right-side TRB insertion rebalancing519083
Ref: Case 3 in right-side TRB insertion rebalancing519414
Node: Deleting from a TRB Tree520095
Ref: catalogue-entry-trb-1520336
Ref: TRB item deletion function520342
Node: Deleting a TRB node step 1 - Search521200
Ref: Step 1 Search TRB tree for item to delete521481
Node: Deleting a TRB node step 2 - Delete521994
Ref: Step 2 Delete item from TRB tree522547
Ref: Case 1 in TRB deletion523506
Ref: Case 2 in TRB deletion524038
Ref: Case 3 in TRB deletion524666
Ref: Case 4 in TRB deletion525458
Node: Deleting a TRB node step 3 - Rebalance526566
Ref: Step 3 Rebalance tree after TRB deletion526959
Ref: Left-side rebalancing after TRB deletion527871
Ref: Ensure |w| is black in left-side TRB deletion rebalancing528871
Ref: Case 1 in left-side TRB deletion rebalancing529235
Ref: Case 2 in left-side TRB deletion rebalancing530299
Ref: Transform left-side TRB deletion rebalancing case 3 into case 2531534
Node: Deleting a TRB node step 4 - Finish up531917
Ref: Step 4 Finish up after TRB deletion532245
Node: TRB deletion symmetric case532447
Ref: Right-side rebalancing after TRB deletion532631
Ref: Ensure |w| is black in right-side TRB deletion rebalancing533448
Ref: Case 1 in right-side TRB deletion rebalancing533671
Ref: Case 2 in right-side TRB deletion rebalancing533870
Ref: Transform right-side TRB deletion rebalancing case 3 into case 2534214
Node: Testing TRB Trees534765
Ref: trb-testc534950
Ref: Compare two TRB trees for structure and content535392
Ref: Recursively verify TRB tree structure537000
Ref: Verify TRB node rule 1 compliance538164
Node: Right-Threaded Binary Search Trees538839
Ref: rtbsth541179
Ref: rtbstc541515
Ref: Right-Threaded Binary Search Trees-Footnote-1542212
Node: RTBST Data Types542502
Ref: RTBST node structure542696
Node: RTBST Operations543202
Ref: RTBST functions543380
Node: Searching an RTBST543901
Ref: catalogue-entry-rtbst-0544436
Ref: RTBST search function544442
Node: Inserting into an RTBST545230
Ref: catalogue-entry-rtbst-1545779
Ref: RTBST item insertion function545785
Ref: Step 1 Search RTBST for insertion point546289
Ref: Step 2 Insert new node into RTBST tree548283
Node: Deleting from an RTBST548871
Ref: RTBST item deletion function549470
Ref: Step 1 Find RTBST node to delete550155
Ref: Step 3 Finish up after deleting RTBST node550896
Node: Right-looking deletion in a RTBST551233
Ref: catalogue-entry-rtbst-2551684
Ref: Step 2 Delete RTBST node right-looking551690
Ref: Case 1 in right-looking RTBST deletion552721
Ref: Case 2 in right-looking RTBST deletion553910
Ref: Case 3 in right-looking RTBST deletion554508
Ref: Case 4 in right-looking RTBST deletion555228
Node: Left-looking deletion in an RTBST556185
Ref: catalogue-entry-rtbst-3557634
Ref: Step 2 Delete RTBST node left-looking557640
Ref: Case 1 in left-looking RTBST deletion558938
Ref: Case 2 in left-looking RTBST deletion559310
Ref: Case 3 in left-looking RTBST deletion560267
Ref: Case 4 in left-looking RTBST deletion560847
Ref: Case 4 in left-looking RTBST deletion-2561307
Ref: Case 4 in left-looking RTBST deletion-3561651
Node: Comparing deletion algorithms562125
Node: Traversing an RTBST565015
Ref: RTBST traversal functions565749
Node: RTBST Traverser First Initialization566566
Ref: catalogue-entry-rtbst-4566967
Ref: RTBST traverser first initializer566973
Node: RTBST Traverser Last Initialization567495
Ref: catalogue-entry-rtbst-5567902
Ref: RTBST traverser last initializer567908
Node: RTBST Traverser Find Initialization568432
Ref: catalogue-entry-rtbst-6568754
Ref: RTBST traverser search initializer568760
Node: RTBST Traverser Advancing569632
Ref: catalogue-entry-rtbst-7570095
Ref: RTBST traverser advance function570101
Node: RTBST Traverser Retreating570809
Ref: catalogue-entry-rtbst-8571337
Ref: RTBST traverser back up function571343
Ref: Find predecessor of RTBST node with no left child573884
Ref: Find predecessor of RTBST node with left child574645
Node: Copying an RTBST574966
Ref: RTBST main copy function575887
Ref: catalogue-entry-rtbst-9577631
Ref: RTBST node copy function577637
Ref: RTBST copy error helper function578705
Ref: catalogue-entry-rtbst-10579134
Ref: RTBST copy function579140
Node: Destroying an RTBST579347
Ref: catalogue-entry-rtbst-11579635
Ref: RTBST destruction function579641
Node: Balancing an RTBST580473
Ref: catalogue-entry-rtbst-12580801
Ref: RTBST balance function580807
Ref: catalogue-entry-rtbst-13581210
Ref: RTBST tree-to-vine function581216
Ref: catalogue-entry-rtbst-14581908
Ref: RTBST vine compression function581914
Node: Testing RTBSTs582770
Ref: rtbst-testc582974
Ref: RTBST print function583412
Ref: Compare two RTBSTs for structure and content584517
Ref: Recursively verify RTBST structure585724
Node: Right-Threaded AVL Trees586482
Ref: rtavlh587142
Ref: rtavlc587467
Node: RTAVL Data Types587799
Ref: RTAVL node structure588199
Node: RTAVL Operations588765
Ref: RTAVL functions589183
Node: RTBST Rotations589667
Ref: rtbstrot591583
Node: Inserting into an RTAVL Tree591722
Ref: catalogue-entry-rtavl-0592041
Ref: RTAVL item insertion function592047
Node: Steps 1-1 in RTAVL Insertion592585
Ref: Step 1 Search RTAVL tree for insertion point593166
Ref: Step 2 Insert RTAVL node593965
Node: Rebalancing RTAVL trees594530
Ref: Step 4 Rebalance after RTAVL insertion595253
Ref: Step 4 Rebalance RTAVL tree after insertion to left595997
Ref: Step 4 Rebalance RTAVL tree after insertion to right596404
Ref: Rebalance for |-| balance factor in RTAVL insertion in left subtree598394
Ref: Rebalance for |+| balance factor in RTAVL insertion in right subtree599339
Ref: rtavlinscase2599830
Ref: Rebalance for |+| balance factor in RTAVL insertion in left subtree600971
Ref: Rebalance for |-| balance factor in RTAVL insertion in right subtree602044
Node: Deleting from an RTAVL tree602555
Ref: catalogue-entry-rtavl-1602794
Ref: RTAVL item deletion function602800
Node: Deleting a RTAVL node step 1 - Search603681
Ref: Step 1 Search RTAVL tree for item to delete604164
Node: Deleting a RTAVL node step 2 - Delete604913
Ref: Step 2 Delete RTAVL node605429
Ref: Case 1 in RTAVL deletion606241
Ref: Case 2 in RTAVL deletion606801
Ref: Case 3 in RTAVL deletion607309
Ref: Case 4 in RTAVL deletion607792
Ref: Case 4 in RTAVL deletion-2608248
Ref: Case 4 in RTAVL deletion-3608565
Node: Deleting a RTAVL node step 3 - Update608741
Ref: Steps 3 and 4 Update balance factors and rebalance after RTAVL deletion609154
Node: Deleting a RTAVL node step 4 - Rebalance609891
Ref: Step 4 Rebalance after RTAVL deletion in left subtree610460
Ref: Step 4 Rebalance after RTAVL deletion in right subtree611160
Ref: Rebalance for |-| balance factor after left-side RTAVL deletion612361
Ref: Rebalance for |+| balance factor after right-side RTAVL deletion612673
Ref: Rebalance for 0 balance factor after left-side RTAVL deletion613312
Ref: Rebalance for 0 balance factor after right-side RTAVL deletion613561
Ref: Rebalance for |+| balance factor after left-side RTAVL deletion614775
Ref: Rebalance for |-| balance factor after right-side RTAVL deletion615741
Node: Copying an RTAVL Tree616998
Ref: catalogue-entry-rtavl-2617349
Ref: RTAVL copy function617355
Ref: catalogue-entry-rtavl-3617592
Ref: RTAVL node copy function617598
Node: Testing RTAVL Trees618536
Ref: rtavl-testc618679
Ref: Compare two RTAVL trees for structure and content619131
Ref: Recursively verify RTAVL tree structure620445
Node: Right-Threaded Red-Black Trees621532
Ref: rtrbh622075
Ref: rtrbc622395
Node: RTRB Data Types622673
Ref: RTRB node structure623059
Node: RTRB Operations623757
Ref: RTRB functions624079
Node: Inserting into an RTRB Tree624559
Ref: catalogue-entry-rtrb-0624906
Ref: RTRB item insertion function624912
Node: Steps 1 and 2 in RTRB Insertion625717
Ref: Step 1 Search RTRB tree for insertion point626345
Ref: Step 2 Insert RTRB node627084
Node: Step 3 in RTRB Insertion627643
Ref: Step 3 Rebalance after RTRB insertion627915
Ref: Left-side rebalancing after RTRB insertion628986
Ref: Right-side rebalancing after RTRB insertion629563
Ref: Case 1 in left-side RTRB insertion rebalancing630349
Ref: Case 1 in right-side RTRB insertion rebalancing630550
Ref: Case 2 in left-side RTRB insertion rebalancing631915
Ref: Case 2 in right-side RTRB insertion rebalancing632898
Ref: Case 3 in left-side RTRB insertion rebalancing634302
Ref: Case 3 in right-side RTRB insertion rebalancing635236
Node: Deleting from an RTRB tree635535
Ref: catalogue-entry-rtrb-1635868
Ref: RTRB item deletion function635874
Node: Deleting an RTRB node step 2 - Delete636647
Ref: Step 2 Delete RTRB node637119
Ref: Case 1 in RTRB deletion637944
Ref: Case 2 in RTRB deletion638296
Ref: Case 3 in RTRB deletion638681
Ref: Case 4 in RTRB deletion639331
Node: Deleting an RTRB node step 3 - Rebalance639960
Ref: Step 3 Rebalance after RTRB deletion640423
Ref: Left-side rebalancing after RTRB deletion641678
Ref: Right-side rebalancing after RTRB deletion642496
Ref: Case 2 in left-side RTRB deletion rebalancing644359
Ref: Case 2 in right-side RTRB deletion rebalancing645508
Ref: Transform left-side RTRB deletion rebalancing case 3 into case 2646929
Ref: Transform right-side RTRB deletion rebalancing case 3 into case 2648078
Node: Deleting an RTRB node step 4 - Finish up648448
Ref: Step 4 Finish up after RTRB deletion648657
Node: Testing RTRB Trees648844
Ref: rtrb-testc648997
Ref: Compare two RTRB trees for structure and content649444
Ref: Recursively verify RTRB tree structure650753
Ref: Verify RTRB node rule 1 compliance651885
Node: BSTs with Parent Pointers652571
Ref: pbsth655207
Ref: pbstc655538
Ref: BSTs with Parent Pointers-Footnote-1655897
Node: PBST Data Types656025
Ref: PBST node structure656423
Node: PBST Operations657687
Ref: PBST functions658408
Node: Inserting into a PBST658916
Ref: catalogue-entry-pbst-0659221
Ref: PBST item insertion function659227
Ref: Step 1 Search PBST tree for insertion point659744
Ref: Step 2 Insert PBST node660136
Node: Deleting from a PBST660627
Ref: catalogue-entry-pbst-1660919
Ref: PBST item deletion function660925
Ref: Step 1 Find PBST node to delete661676
Ref: Step 1 Find PBST node to delete-2662398
Ref: Step 2 Delete PBST node662610
Ref: pbstdel1663069
Ref: Case 1 in PBST deletion663239
Ref: pbstdel2663612
Ref: Case 2 in PBST deletion664127
Ref: pbstdel3664535
Ref: Case 3 in PBST deletion664831
Ref: Case 3 in PBST deletion-2666095
Ref: Step 3 Finish up after deleting PBST node666520
Node: Traversing a PBST666912
Ref: PBST traversal functions667295
Node: PBST Traverser First Initialization668082
Ref: catalogue-entry-pbst-2668439
Ref: PBST traverser first initializer668445
Node: PBST Traverser Last Initialization668991
Ref: catalogue-entry-pbst-3669324
Ref: PBST traverser last initializer669330
Node: PBST Traverser Find Initialization669874
Ref: catalogue-entry-pbst-4670349
Ref: PBST traverser search initializer670355
Node: PBST Traverser Insert Initialization671025
Ref: catalogue-entry-pbst-5671369
Ref: PBST traverser insertion initializer671375
Node: PBST Traverser Advancing672487
Ref: catalogue-entry-pbst-6673572
Ref: PBST traverser advance function673806
Node: PBST Traverser Retreating674784
Ref: catalogue-entry-pbst-7675061
Ref: PBST traverser back up function675067
Node: Copying a PBST676043
Ref: catalogue-entry-pbst-8676629
Ref: PBST copy function676635
Ref: PBST copy error helper function679705
Node: Balancing a PBST680215
Ref: catalogue-entry-pbst-9680719
Ref: PBST balance function680725
Ref: catalogue-entry-pbst-10681079
Ref: Vine to balanced PBST function681085
Ref: PBST extra function prototypes681654
Ref: catalogue-entry-pbst-11682658
Ref: Update parent pointers function682664
Node: Testing PBSTs683608
Ref: pbst-testc683741
Ref: Compare two PBSTs for structure and content684173
Ref: Recursively verify PBST structure685689
Ref: Verify PBST node parent pointers686432
Node: AVL Trees with Parent Pointers687075
Ref: pavlh687709
Ref: pavlc688029
Node: PAVL Data Types688375
Ref: PAVL node structure688693
Node: PBST Rotations689120
Ref: pbstrot690046
Node: PAVL Operations690186
Ref: PAVL functions690529
Node: Inserting into a PAVL tree691001
Ref: catalogue-entry-pavl-0691694
Ref: PAVL item insertion function691700
Node: Steps 1 and 2 in PAVL Insertion692560
Ref: Step 1 Search PAVL tree for insertion point693243
Ref: Step 2 Insert PAVL node693797
Node: Step 3 in PAVL Insertion694006
Ref: Step 3 Update balance factors after PAVL insertion694995
Node: Rebalancing PAVL trees695574
Ref: Step 4 Rebalance after PAVL insertion696470
Ref: Rebalance PAVL tree after insertion in left subtree697124
Ref: Rebalance for |-| balance factor in PAVL insertion in left subtree697796
Ref: Rebalance for |+| balance factor in PAVL insertion in left subtree699109
Node: PAVL insertion symmetric case699597
Ref: Rebalance PAVL tree after insertion in right subtree699771
Ref: Rebalance for |+| balance factor in PAVL insertion in right subtree700174
Ref: Rebalance for |-| balance factor in PAVL insertion in right subtree700508
Node: Deleting from a PAVL tree700997
Ref: catalogue-entry-pavl-1701680
Ref: PAVL item deletion function701686
Node: Deleting a PAVL node step 2 - Delete702410
Ref: Step 2 Delete item from PAVL tree703036
Ref: Case 1 in PAVL deletion703678
Ref: Case 2 in PAVL deletion703988
Ref: Case 3 in PAVL deletion704347
Node: Deleting a PAVL node step 3 - Update704540
Ref: Steps 3 and 4 Update balance factors and rebalance after PAVL deletion705015
Node: Deleting a PAVL node step 4 - Rebalance705780
Ref: Step 4 Rebalance after PAVL deletion706114
Ref: Left-side rebalancing case 1 in PAVL deletion706665
Ref: Left-side rebalancing case 2 in PAVL deletion707367
Node: PAVL deletion symmetric case707857
Ref: Steps 3 and 4 Symmetric case in PAVL deletion708046
Ref: Right-side rebalancing case 1 in PAVL deletion708592
Ref: Right-side rebalancing case 2 in PAVL deletion708862
Node: Traversing a PAVL Tree709362
Ref: PAVL traversal functions709821
Node: Copying a PAVL Tree710409
Ref: catalogue-entry-pavl-2710708
Ref: PAVL copy function710714
Node: Testing PAVL Trees713610
Ref: pavl-testc713799
Ref: Compare two PAVL trees for structure and content714245
Ref: Recursively verify PAVL tree structure715949
Node: Red-Black Trees with Parent Pointers716978
Ref: prbh717431
Ref: prbc717746
Node: PRB Data Types718014
Ref: PRB node structure718382
Node: PRB Operations718896
Ref: PRB functions719334
Node: Inserting into a PRB tree719802
Ref: catalogue-entry-prb-0720391
Ref: PRB item insertion function720397
Node: Step 2 in PRB Insertion721167
Ref: Step 2 Insert PRB node721488
Node: Step 3 in PRB Insertion721648
Ref: Step 3 Rebalance after PRB insertion723129
Ref: Left-side rebalancing after PRB insertion724063
Ref: Case 1 in left-side PRB insertion rebalancing725576
Ref: Case 2 in left-side PRB insertion rebalancing726587
Ref: Case 3 in left-side PRB insertion rebalancing727933
Node: PRB insertion symmetric case728229
Ref: Right-side rebalancing after PRB insertion728402
Ref: Case 1 in right-side PRB insertion rebalancing729035
Ref: Case 2 in right-side PRB insertion rebalancing729249
Ref: Case 3 in right-side PRB insertion rebalancing729646
Node: Deleting from a PRB Tree729944
Ref: catalogue-entry-prb-1730402
Ref: PRB item deletion function730408
Node: Deleting a PRB node step 2 - Delete731296
Ref: Step 2 Delete item from PRB tree731822
Ref: Case 1 in PRB deletion732489
Ref: Case 2 in PRB deletion732986
Ref: Case 3 in PRB deletion733558
Node: Deleting a PRB node step 3 - Rebalance733781
Ref: Step 3 Rebalance tree after PRB deletion734640
Ref: Left-side rebalancing after PRB deletion735868
Ref: Ensure |w| is black in left-side PRB deletion rebalancing737641
Ref: Case 1 in left-side PRB deletion rebalancing738186
Ref: Case 2 in left-side PRB deletion rebalancing738541
Ref: Transform left-side PRB deletion rebalancing case 3 into case 2739807
Node: Deleting a PRB node step 4 - Finish up740216
Ref: Step 4 Finish up after PRB deletion740455
Node: PRB deletion symmetric case740657
Ref: Right-side rebalancing after PRB deletion740843
Ref: Ensure |w| is black in right-side PRB deletion rebalancing741637
Ref: Case 1 in right-side PRB deletion rebalancing742029
Ref: Case 2 in right-side PRB deletion rebalancing742193
Ref: Transform right-side PRB deletion rebalancing case 3 into case 2742632
Node: Testing PRB Trees743043
Ref: prb-testc743228
Ref: Compare two PRB trees for structure and content743669
Ref: Recursively verify PRB tree structure744887
Node: References746306
Ref: Aho 1986746473
Ref: Bentley 2000746620
Ref: Brown 2001746725
Ref: Cormen 1990746878
Ref: FSF 1999747018
Ref: FSF 2001747113
Ref: ISO 1990747201
Ref: ISO 1998747416
Ref: ISO 1999747538
Ref: Kernighan 1976747663
Ref: Kernighan 1988747783
Ref: Knuth 1997747922
Ref: Knuth 1998a748074
Ref: Knuth 1998b748229
Ref: Knuth 1977748381
Ref: Knuth 1978748539
Ref: Knuth 1992748694
Ref: Knuth 2000748892
Ref: Pfaff 1998749112
Ref: Sedgewick 1998749327
Ref: SGI 1993749445
Ref: Stout 1986749565
Ref: Summit 1999749711
Node: Supplementary Code749873
Node: Option Parser750184
Ref: Option parser750602
Ref: Option parser-2751073
Ref: Option parser-3751665
Node: Command-Line Parser755496
Ref: Command line parser755946
Node: Glossary765346
Ref: adjacent765499
Ref: AVL tree765613
Ref: balance765777
Ref: balance condition765979
Ref: balance factor766109
Ref: balanced tree766331
Ref: binary search766621
Ref: binary search tree766768
Ref: binary tree767120
Ref: black box767336
Ref: black-height767472
Ref: BST767717
Ref: child767783
Ref: children767924
Ref: color767979
Ref: complete binary tree768191
Ref: compression768399
Ref: deep copy768510
Ref: dynamic768760
Ref: empty tree768962
Ref: height769013
Ref: idempotent769179
Ref: inorder predecessor769326
Ref: inorder successor769440
Ref: inorder traversal769552
Ref: iteration769745
Ref: key769939
Ref: leaf770039
Ref: left child770122
Ref: left rotation770321
Ref: left subtree770364
Ref: left-threaded tree770441
Ref: literate programming770671
Ref: node770848
Ref: non-branching node771013
Ref: nonterminal node771136
Ref: parent771240
Ref: parent pointer771413
Ref: pathological case771498
Ref: path771746
Ref: postorder traversal771927
Ref: preorder traversal772122
Ref: rebalance772316
Ref: recursion772815
Ref: red-black tree772994
Ref: right child773242
Ref: right rotation773445
Ref: right subtree773489
Ref: right-threaded tree773567
Ref: rotation773770
Ref: root774107
Ref: rule 1774356
Ref: rule 2774529
Ref: sentinel774845
Ref: sequential search775072
Ref: sequential search with sentinel775231
Ref: shallow copy775383
Ref: simple path775630
Ref: static775720
Ref: subtree776036
Ref: symmetric traversal776143
Ref: tag776219
Ref: tail recursion776376
Ref: terminal node776634
Ref: thread776744
Ref: threaded tree777005
Ref: traversal777215
Ref: undefined behavior777532
Ref: value777761
Ref: vine777915
Ref: visit778045
Node: Answers to All the Exercises778193
Ref: Aborting allocator784791
Ref: Table count macro787148
Ref: Table insertion convenience functions787991
Ref: Table assertion function control directives789123
Ref: Table assertion functions790280
Ref: seq-testc793821
Ref: Uniform binary search of ordered array794807
Ref: Binary search using |bsearch()|795844
Ref: blps implementation of |bsearch()|796967
Ref: srch-testc797658
Ref: Search functions798027
Ref: Array of search functions798713
Ref: Array of search functions-2799031
Ref: Cheating search800154
Ref: Timer functions800665
Ref: Timer functions-2801383
Ref: Search test functions801881
Ref: Search test functions-2803328
Ref: Search test functions-3803973
Ref: Search test main program804570
Ref: Parse search test command line805156
Ref: String to integer function |stoi()|805524
Ref: Initialize search test array806105
Ref: Run search tests806414
Ref: Clean up after search tests806634
Ref: Usage printer for search test program806757
Ref: Initialize |smaller| and |larger| within binary search tree811206
Ref: bin-ary-testc811972
Ref: Main program to test |binary_search_tree_array()|812415
Ref: Show filebin-ary-test usage message813351
Ref: catalogue-entry-bst-34816012
Ref: catalogue-entry-bst-35816228
Ref: catalogue-entry-bst-36818260
Ref: BST item insertion function alternate version818266
Ref: catalogue-entry-bst-37819492
Ref: Level-order traversal819498
Ref: catalogue-entry-bst-38820436
Ref: Root insertion of existing node in arbitrary subtree820442
Ref: Step 1 Search for insertion point in arbitrary subtree821264
Ref: Step 2 Insert |n| into arbitrary subtree821725
Ref: catalogue-entry-bst-39822114
Ref: Robust root insertion of existing node in arbitrary subtree822120
Ref: Step 1 Robustly search for insertion point in arbitrary subtree823228
Ref: Step 3 Robustly move BST node to root823965
Ref: catalogue-entry-bst-40826699
Ref: Case 15 in BST deletion826705
Ref: catalogue-entry-bst-41826879
Ref: Case 3 in BST deletion alternate version826885
Ref: catalogue-entry-bst-42828258
Ref: Recursive traversal of BST using nested function828264
Ref: catalogue-entry-bst-43830422
Ref: Iterative traversal of BST with dynamically allocated stack830428
Ref: catalogue-entry-bst-44833159
Ref: Handle stack overflow during BST traversal833165
Ref: catalogue-entry-bst-45837484
Ref: BST traverser refresher with caching837490
Ref: catalogue-entry-bst-46839375
Ref: Robust recursive copy of BST take 1839381
Ref: Recursive deallocation function840151
Ref: catalogue-entry-bst-47840405
Ref: Robust recursive copy of BST take 2840411
Ref: catalogue-entry-bst-48841207
Ref: Robust recursive copy of BST take 3841213
Ref: Intermediate step between |bst_copy_recursive_2()| and |bst_copy_iterative()|842406
Ref: catalogue-entry-bst-49844559
Ref: BST join function iterative version844565
Ref: Generate random permutation of integers849245
Ref: Generate permutation for balanced tree849945
Ref: Insertion and deletion order generation850543
Ref: Random number seeding853177
Ref: Overflow testers-2853783
Ref: BSTS structures856612
Ref: BSTS functions856993
Ref: BSTS functions-2857618
Ref: BSTS test858539
Ref: bstsc859467
Ref: catalogue-entry-avl-10863745
Ref: Step 3 Update balance factors after AVL insertion with bitmasks863751
Ref: catalogue-entry-avl-11867423
Ref: Case 3 in AVL deletion alternate version867429
Ref: catalogue-entry-rb-3874256
Ref: Step 2 Delete item from RB tree alternate version874262
Ref: Step 2 Delete item from RB tree alternate version-2874760
Ref: Step 2 Delete item from RB tree alternate version-3875186
Ref: catalogue-entry-tbst-20876102
Ref: Find TBST node to delete with parent node algorithm876108
Ref: catalogue-entry-tbst-21877783
Ref: Case 4 in TBST deletion alternate version877789
Ref: catalogue-entry-tbst-22881671
Ref: catalogue-entry-tbst-23882050
Ref: catalogue-entry-tavl-5882796
Ref: Rebalance |+| balance in TAVL insertion in left subtree alternate version882802
Ref: catalogue-entry-tavl-6883422
Ref: Case 4 in TAVL deletion alternate version883428
Ref: catalogue-entry-tavl-7886439
Ref: TAVL item deletion function with stack886445
Ref: Step 2 Delete item from TAVL tree with stack887253
Ref: Case 1 in TAVL deletion with stack887951
Ref: Case 2 in TAVL deletion with stack888269
Ref: Case 3 in TAVL deletion with stack888565
Ref: Case 4 in TAVL deletion with stack889040
Ref: Steps 3 and 4 Update balance factors and rebalance after TAVL deletion with stack889896
Ref: Step 4 Rebalance after TAVL deletion with stack890502
Ref: Steps 3 and 4 Symmetric case in TAVL deletion with stack891471
Ref: catalogue-entry-trb-2892818
Ref: TRB item insertion function without stack892824
Ref: catalogue-entry-trb-3896570
Ref: Case 4 in TRB deletion alternate version896576
Ref: catalogue-entry-trb-4897380
Ref: TRB item deletion function without stack897386
Ref: catalogue-entry-rtbst-15905240
Ref: Case 4 in right-looking RTBST deletion alternate version905246
Ref: catalogue-entry-rtbst-16905781
Ref: Case 4 in left-looking RTBST deletion alternate version905787
Ref: catalogue-entry-rtbst-17906362
Ref: catalogue-entry-rtbst-18906719
Ref: catalogue-entry-rtavl-4907360
Ref: Step 2 Delete RTAVL node right-looking907366
Ref: Case 1 in RTAVL deletion right-looking907972
Ref: Case 2 in RTAVL deletion right-looking908295
Ref: Case 3 in RTAVL deletion right-looking908547
Ref: Case 4 in RTAVL deletion right-looking908992
Ref: catalogue-entry-rtavl-5909775
Ref: Case 4 in RTAVL deletion alternate version909781
Ref: catalogue-entry-pbst-12910578
Ref: PBST balance function with integrated parent updates910584
Ref: catalogue-entry-pbst-13910866
Ref: Vine to balanced PBST function with parent updates910872
Ref: Set parents of main vine911606
Ref: catalogue-entry-pbst-14911825
Ref: PBST compression function911831
Ref: catalogue-entry-pbst-15912486
Ref: catalogue-entry-pbst-16912835
Node: Catalogue of Algorithms914084
Node: Index931167

End Tag Table
