Red Green Black Trees: Extension to Red Black Trees

Similar documents
Balanced Binary Trees

Optimization Model of Oil-Volume Marking with Tilted Oil Tank

Overall stability of multi-span portal sheds at right-angles to the portal spans

Calculation of Theoretical Torque and Displacement in an Internal Gear Pump

Physics Engineering PC 1431 Experiment P2 Heat Engine. Section B: Brief Theory (condensed from Serway & Jewett)

ANALYSIS OF WORK ROLL THERMAL BEHAVIOR FOR 1450MM HOT STRIP MILL WITH GENETIC ALGORITHM

To find the volume of a pyramid and of a cone

Ground Improvement Using Preloading with Prefabricated Vertical Drains

Point Pollution Sources Dimensioning

Prediction of steel plate deformation due to triangle heating using the inherent strain method

Numerical Simulation of Stresses in Thin-rimmed Spur Gears with Keyway B. Brůžek, E. Leidich

OD DVOSTRUKO ZASTAKLJENOG PROZORA DO DVOSTRUKE FASADE INDIKATORI PRENOSA TOPLOTE STACIONARNOG STANJA

Revision Topic 12: Area and Volume Area of simple shapes

Fixation effects: do they exist in design problem solving?

青藜苑教育 Example : Find te area of te following trapezium. 7cm 4.5cm cm To find te area, you add te parallel sides 7

Variance Estimation of the Design Effect

Study of microrelief influence on optical output coefficient of GaN-based LED

Calculation Methodology of Translucent Construction Elements in Buildings and Other Structures

Analysing the energy consumption of air handling units by Hungarian and international methods

1/1 FULL SIZE 3/4 QUARTER SIZE 1/2 HALF SIZE EXTRA LARGE SIZE EXTRA LONG SIZE

Farm Structure Survey 2009/2010 Survey on agricultural production methods 2009/2010

Installation the DELTABEAM Frame

1/1 FULL SIZE 3/4 QUARTER SIZE 1/2 HALF SIZE EXTRA LARGE SIZE EXTRA LONG SIZE

Math GPS. 2. Art projects include structures made with straws this week.

Math Practice Use a Formula

2 2D 2F. 1pc for each 20 m of wire. h (min. 45) h (min. 45) 3AC. see details J, E

Description of Danish Practices in Retail Trade Statistics.

Managing Measurement Uncertainty in Building Acoustics

Background. Sample design

234 The National Strategies Secondary Mathematics exemplification: Y7

László Mester. The new physical-mechanical theory of granular materials

16.1 Volume of Prisms and Cylinders

The household budget and expenditure data collection module (IOF 2014/2015) within a continuous multipurpose survey system (INCAF)

Using tree-grammars for training set expansion in page classification

THE REDESIGNED CANADIAN MONTHLY WHOLESALE AND RETAIL TRADE SURVEY: A POSTMORTEM OF THE IMPLEMENTATION

2. The differential pressure across control valves must not vary too much

HCR OF HEAT PUMP ROOM AIR CONDITIONER IN CHINA. Beijing , China

Russell James Department of Scientific and Industrial Research Taupo-ldairakei, New Zealand

Study of Steam Export Transients in a Combined Cycle Power Plant

CO-ROTATING FULLY INTERMESHING TWIN-SCREW COMPOUNDING: ADVANCEMENTS FOR IMPROVED PERFORMANCE AND PRODUCTIVITY

Annex 16. Methodological Tool. Tool to determine project emissions from flaring gases containing methane

Essential Question How can you find the surface area and the volume of a cone? 3 in. π

Goal: Measure the pump curve(s)

FIRST COMPARISON OF REMOTE CESIUM FOUNTAINS

20.1 Heights and distances

Lecture 9: Tuesday, February 10, 2015

Geometry Supplement for Math 60 Perimeter, Area, and Volume

TORQUE CONVERTER MODELLING FOR ACCELERATION SIMULATION

10 Fingers of Death: Algorithms for Combat Killing Roger Smith and Don Stoner Titan Corporation

Is urban food demand in the Philippines different from China?

We Protect Your Yarn Like No One Else

Influence of the mass flow ratio water-air on the volumetric mass transfer coefficient in a cooling tower

OXYGEN CONTENT OF COMMERCIAL FROZEN ORANGE

Volumes of Pyramids. Essential Question How can you find the volume of a pyramid?

MPLEMENTATION OF A NATIONAL OBSERVATORY FOR MONITORING TECHNO-ECONOMIC DATA OF THE ITALIAN FLEET AND THE EVALUATION OF SOCIO-ECONOMIC PARAMETERS 1

International Plant Protection Convention Page 1 of 10

FREQUENTLY ASKED QUESTIONS (FAQS)

Do Regional Trade Pacts Benefit the Poor?

Effect of Twisted-tape Inserts on Heat Transfer in a Tube

INFLUENCE OF ENVIRONMENT - Wine evaporation from barrels By Richard M. Blazer, Enologist Sterling Vineyards Calistoga, CA

Research regarding the setting up of the Processing Directions of Peach New Cultivars and Hybrids

Conjoint Analysis: A Study of Canned Coffee in Taiwan

Structures of Life. Investigation 1: Origin of Seeds. Big Question: 3 rd Science Notebook. Name:

Applying Trigonometric Functions. ENTERTAINMENT The circus has arrived and the roustabouts must put

THE EGG-CITING EGG-SPERIMENT!

CARCINOMA OF THE ESOPHAGUS*

Coffee zone updating: contribution to the Agricultural Sector

Subject to sale, withdrawal or error. Published on 09/19/16

Predicting Wine Quality

4.2 Using Similar Shapes

Lesson 23: Newton s Law of Cooling

CHAPTER I BACKGROUND

Characteristics and dead-time of GM-tube

Going Round About Cycle Menus Linsey LaPlant, MS, RDN Health-e Pro Sales Manager. CSNA s Annual Conference Sacramento, CA

STUDY REGARDING THE RATIONALE OF COFFEE CONSUMPTION ACCORDING TO GENDER AND AGE GROUPS

Retailing Frozen Foods

FLOWERING OF TOMATO IN RELATION TO PRE-PLANTING LOW TEMPERATURES

5.10. Area and Perimeter INSERT

Is Fair Trade Fair? ARKANSAS C3 TEACHERS HUB. 9-12th Grade Economics Inquiry. Supporting Questions

STABILITY IN THE SOCIAL PERCOLATION MODELS FOR TWO TO FOUR DIMENSIONS

Activity 2.3 Solubility test

Appendix A. Table A.1: Logit Estimates for Elasticities

The Violin Bow: Taper, Camber and Flexibility

RELATIVE EFFICIENCY OF ESTIMATES BASED ON PERCENTAGES OF MISSINGNESS USING THREE IMPUTATION NUMBERS IN MULTIPLE IMPUTATION ANALYSIS ABSTRACT

Fungicides for phoma control in winter oilseed rape

D Lemmer and FJ Kruger

An experimental study on the design method of a real-sized Mobile Bridge for a moving vehicle

Measured Adiabatic Effectiveness and Heat Transfer for Blowing From the Tip of a Turbine Blade

ANALYSIS OF THE EVOLUTION AND DISTRIBUTION OF MAIZE CULTIVATED AREA AND PRODUCTION IN ROMANIA

Guided Study Program in System Dynamics System Dynamics in Education Project System Dynamics Group MIT Sloan School of Management 1

Experiment # Lemna minor (Duckweed) Population Growth

THE ANNALS OF "DUNAREA DE JOS" UNIVERSITY OF GALATI FASCICLE III, 2003 ISSN X ELECTROTECHNICS, ELECTRONICS, AUTOMATIC CONTROL, INFORMATICS

Developing a building damage function using SAR images and post-event data after the Typhoon Haiyan in The Philippines

Biologist at Work! Experiment: Width across knuckles of: left hand. cm... right hand. cm. Analysis: Decision: /13 cm. Name

Gasoline Empirical Analysis: Competition Bureau March 2005

Applications. 38 Looking for Pythagoras. Find the missing length(s).

BIOLOGICALLY INSPIRED MULTIFUNCTIONAL COMPOSITE PANEL WITH INTEGRATED CIRCULATORY SYSTEM FOR THERMAL CONTROL

Seasonal Adjustment versus Seasonality Modelling: Effect on Tourism Demand Forecasting

APPENDIX C2: Design of Canard Aircraft

Further investigations into the rind lesion problems experienced with the Pinkerton cultivar

Transcription:

Red Green Black Trees: Extension to Red Black Trees Seyfeddine Zouana*, Djamel Eddine Zegour Laboratoire de la Communication dans les Systèmes Informatiques, Ecole nationale Supérieure d'informatique, ESI (ex:ini), Oued-Smar, Algiers, Algeria. * Corresponding autor. Email: s_zouana, d_zegour@esi.dz Manuscript submitted April 15, 2017; accepted July 5, 2017. doi: 10.17706/jcp.13.4.461-470 Abstract: Tis paper propose an extended form of Red Black trees. It presents a new explicit balancing algoritm called Red Green Black trees. Tis structure tolerates some degree of imbalance tat allows a decrease of te number of rebalancing relaxing te update operations. Troug te use of tree color nodes, te structure tolerates series of two nodes between Black nodes and defines a less balanced tree. It is interesting because te imbalance doesn't affect te update time and save te same level of performances of Red Black trees of O(log(n)). In fact, Red Green Black trees can provide better performances in environment were te restructuring is most frequent wit Red Black trees. Key words: Red black trees, balanced trees, rebalancing, restructuring. 1. Introduction Binary Searc Trees are a very important and largely used data structure to implement dictionaries mainly, but also to represent symbol tables and key indexes. Tey ave simple updating algoritms and tey can be maintained wit only a limited number of restructuring per update. Tey are also used to implement task scedulers as interval trees and priority searc trees. Binary Searc Trees sort tasks automatically for te sceduler witout te need to re-sort tem. Te keys are sorted on update, te lesser keys are inserted to te left sub-tree and te greater keys to te rigt sub-tree. Te strategy of te sceduler is described by te tree distribution. Tis distribution is more significant wen te tree is balanced. Various balanced binary searc trees are used, AVL trees and Red Black trees [1], [2] are te most suited examples. In fact, tis is due to teir almost complete balance giving ig performances for searc and update of keys. But, tese almost balanced trees become poor wen used to represent scedulers because of te great number of rebalancing tey require. Tis problem becomes more complex wen te tasks are concurrent and run wit a set of relations. To reduce te number of restructuring, te structure must be relaxed. Relaxation can be done by uncoupling te rebalancing form te update and lifting some of its cases or by tolerating some imbalance on te structure. Wile te first only postpones te rebalancing, te tolerance of some imbalance decreases majorly te number of rebalancing allowing faster updates. However, tis goes against te searc time as te eigt of te tree increases. Tis creates a big tradeoff between accelerating updates and slowing searc. Tis idea can be applied to any balanced tree. AVL trees, for instance, are defined by te condition of te difference between te eigt of te left and te rigt sub-trees must at most be 1. We can define an imbalanced AVL[n] [3] by increasing tis amount. Wereas, Red Black trees, were eac node is eiter Red or Black and defined by te two restrictions of aving te same number of Black nodes on 461

eac pat from root to leaf and te no succession of Red nodes is allowed. Te imbalance can only be defined by allowing a series of Red nodes; for te first condition omitted, all te balance of te structure is gone. Te imbalanced AVL[n] trees require te same eigt update of te perfectly balanced AVL wic implies no gain in update. However, tolerating series of Red nodes decreases te number of Black nodes and te number of rebalancing as a consequence. We propose a partially balanced binary searc tree, called Red Green Black Trees, were we tolerate up to two nodes between two Black nodes extending te Red Black Trees condition of aving at most one node between two Black nodes. Te balance of te structure is defined by te number of Black nodes on eac pat. Te formal definition of te structure is given in section 3. We discuss te different cases and restructuring of te insert/delete operations in section 4. To prove te preservation of te same level of performances, we give a little analysis of te worst case eigt of te tree in section 5. Some experimental results are given in section 6 to illustrate te effects of te generalization of RB trees. 2. Related Works Balanced Binary Searc Trees ave great importance in bot organizing and sorting data. From te beginning of teir appearance, tey give an efficient implementation to dictionaries and scedulers, toug, tey require too muc maintenance (eac update require a number of rebalance operations). Te original papers of Adel'son Velski and Landis [1], and Bayer [4] introduced two self-balancing structures giving performance of O(log(n)) level. Tese two structures give amazing sort searc and update time. However, tey require a significant number of maintenance operations. Te balance of te structure can lower te performance wen too muc rebalancing cripples te application. Te AVL trees as seen generalizing works suc as AVL[n] [3] and HB[k] [5] tat aimed to offer some control on bot te degree of balance and te maintenance frequency, tis problem as only been mentioned by Bayer in is introduction of te Symmetric Binary B-trees (SBB-trees) [6] wic are a binarization of te B-trees were e defined a generalization idea of SBB[k] trees to limit te rebalancing. But no explicit algoritm as been given. Tese trees ave been modernized by te dicromatic framework of Guibass [2] as Red Black trees. Arne Anderson [7] defined anoter generalized form of SBB trees were te black nodes limit small trees tat are bound to be AVL. Tis structure didn't take a large use because of te number of conditions it requires. And RB trees and AVL trees preserved teir position wic led to relaxation works. Arne Anderson, for instance, gave a simple form for RB trees called AA trees tat takes only te left rebalancing cases into account lifting alf of te carge. Oter works aimed to uncouple te update from te rebalancing and adapted tem to more complex environments and applications suc as: Relaxed Balanced RB trees [8] wic define a relaxed balance by interleaving te updates, and Relativistic RB trees [9] tat give a wait-free solution to te problem of aving concurrent update operations. 3. Red Green Black Trees We define a Red Green Black tree as an extension of te RB trees were we find tree node colors. Tis provokes some imbalance on te structure as te balance conditions are ligtened by te tolerance of successions of two nodes between black nodes. We preserve te condition of te same number of Black nodes on eac pat. So formally, we can define a Red Green Black tree as a tree were: Eac node as eiter a Red, Green or Black color. A nil pointer is conventionally a Red Green Black tree and is of Black color. Eac pat from Root-to-Leaf as te same number of Black nodes. A Green node can't ave a Green node son and must at least as a Red node son. A Red node must ave only Black node sons. 462

4. Maintenance Algoritms Te update operations are as simple as te Red Black trees operations. Tey are similar to any BST update operation and followed by some restructuring to ensure te preservation of te defined balance. Te insertion and delete procedures are summarized as follows: 4.1. Insertion Any new key is inserted to te tree by searcing for its place designated by te nil pointer wic makes it a leaf node. Te new node is always of Red color. As te parent may be of Red color, tis could lead to imbalance in te tree defined by two Red nodes in a row. We distinguis different cases to rebalance as follows (Fig. 1): Fig. 1. Insertion cases. Case 1: Grand Parent is Black, te new node becomes Red and te Parent Green. Case 2: Grand Parent is Green, te sibling of te Grand Parent is (nil/black). First, te Parent becomes Green. If te Parent is a left son of te Grand Parent ten, we do a simple rotation on te Black node parent to te Grand Parent. Te Grand Parent becomes Black and te previous Black node becomes Red. Case 3: Grand Parent is Green, te sibling of te Grand Parent is (nil/black). First, te Parent becomes Green. If te Parent is a rigt son of te Grand Parent ten, we do a double rotation on te Black node parent to te Grand Parent. Te Parent becomes Black and te previous Black node becomes Green. Case 4: Grand Parent is Green, te sibling of te Grand Parent is Red. First, te Parent becomes Green. If te Parent is a left son of te Grand Parent ten, we do a simple rotation on te Black node parent to te Grand Parent. Te Grand Parent becomes Black and te previous Black node becomes Green. Case 5: Grand Parent is Green, te sibling of te Grand Parent is Red. First, te Parent becomes Green. If te Parent is a rigt son of te Grand Parent ten, we do a double rotation on te Black node parent to te Grand Parent. Te Parent becomes Black and te previous Black node becomes Green. Case 6: Grand Parent is Green, Parent is Red, Grand Uncle is Green. We flip te colors so as te Grand Parent and te Grand Uncle become Black, te Black node becomes Red. Tis color flip can provoke a series of rebalancing in a cascade penomenon towards te root of te tree as it adds a Red node tat may lead to te same previous situations. 463

4.2. Delete We searc for te node to delete like in any regular Binary Searc Tree. If te node as non leaf cildren, we find te minimum element in te Rigt sub-tree. We substitute te keys. We ten remove te node wic we took its value. Tis node must ave at most one leaf cild. Ten, te delete becomes muc simpler. If te node to remove is Green, we just link its cild in its place. If te node to remove is Black and its cild is Green, we link its cild in its place and color te cild Black. If te node is Black and as no cildren, it means te node to remove is te root and te tree becomes null. If te node is Red and its Parent Green, we update te color of te Parent from Green to Red, else if te Parent was Black, we undergo some rebalancing as follows (Fig. 2): Fig. 2. Delete cases. Case 1: if te node P as Red Parent and Black sibling wit no Green cild, flip colors suc as te Parent becomes Black, P becomes Red, its sibling Green. Case 2: if te node P as Red Parent and Black sibling wit Green cild, flip colors suc as te Parent becomes Black, P becomes Red, its sibling Green, ten rotate on te Parent to eliminate te series of Green nodes (a simple or double rotation depending on te case). 464

Case 3: if te node P as a non-red Parent GP wic implies tat it as a Green/Red sibling S. We find te first Black node N on te pat by going to te oter side of te Parent GP ten crossing to te side of P from tat node until finding te Black node. Tis Black node N as a Red Parent. Te sibling S is linked to its Grand Parent. Te non-red Parent GP takes P and te found Black node N as cildren, te non-red Parent GP becomes Red and cild to te Red Parent. Te Red Parent becomes Green and we continue wit eiter case 1 or case 2. Te flip of colors of case 1 and case 2 can lead to te same situations as before. Repairing tat require furter rebalancing on te upper levels of te tree. 5. Worst Heigt of te Tree Fig. 3. Worst case tree. Let te eigt of te RGB trees be te maximal number of nodes in any pat from te root to a leaf. Ten an RGB tree Tmin() of eigt wit te minimum number of nodes is of te form Fig. 3. Notice tat =3.j were j is te number of Black nodes in eac pat from Root-to-Leaf. Notice tat eac node of te longest pat of te root small tree is linked to te root of a perfectly balanced sub-tree Tbal(/3-1) wile te last one is also linked to a sub-tree Tmin (-3). Let N(T) be te number of nodes in te tree T. Ten: N(Tmin ()) = 3 N(T bal ( - 1)) + 3 + N(Tmin ( - 3)) 3 since: N(Tbal (k)) = 20 + 21 + + 2k-1 = 2k - 1 we obtain: 1 1 N(Tmin ()) = 3 (2 3-1) + 3 + N(Tmin ( - 3)) = 3(2 3 ) + N(Tmin ( - 3)) 1 2 3 = 3(2 3 ) + 3(2 3 ) + 3(2 3 ) + + 3(20 ) = 3 i3 0 2i = 3(2 3-1) 1 So te number of nodes of te tree N(T) is bound by: 3(2 3-1) N(Tmin ()) N(T) N(Tbal ()) = 2-1 Wic implies te in-equations: 3log(N + 3) - 3log(3) and log(n + 1) 465

Te eigt of te RGB tree is at most 3log(N + 3) - 3log(3) wic is a little worse tan RB trees eigt 2log(N+2) - 2. Tis could lead to a large difference wit large ordered sets. 6. Experimentation For a set of N keys, te RGB eigt is at most 3log(N + 3) - 3log(3) preserving te O(log(N)) performances of te RB trees. However, tis cost is muc less in practice. To define te beavior of te structure, we followed two main scenarios: Scenario 1: we insert files of randomly generated/ordered keys of sizes n={50000, 100000, 200000, 500000,1000000}. Ten we delete tem. Scenario 2: we insert te same files as in Scenario 1 and ten we use tose files to ceck if eac key is in te set, we delete it. Else, we re-insert it. (a) Scenario 1 (b) Scenario 2 Fig. 4. Tree construction time. 466

(a) Number of Restructuring in te construction pase (c) Tree maximum eigt (b) Tree searc time Fig. 5. Evolution of number of rebalancing, searc time and eigt of te tree. Tose two scenarios allowed defining te performances of insert/delete operations and te beavior in a real life situation were update operations come randomly. Te results for bot scenarios are very interesting for bot RGB trees and RB trees. Wen te keys are randomly generated, RGB and RB trees ave sligtly te same construction time (Fig. 4), te average insert operation in bot trees takes about te same time wit RGB trees taking an extended portion of time. But, in RGB trees, we observed tat te number of restructuring (Fig. 5-a) is muc less tan RB trees. Tis is explained by te design of RGB trees tat allows some imbalance on te structure by tolerating a series of two Red nodes (Red and Green), wic implies a less balanced structure wit a bigger eigt and a larger searc time as a consequence. Te increase in searc time and eigt of te tree is due to te increase of te number of Red nodes in eac pat in accordance wit teory. Te maximum eigt (Fig. 5-b) increased by one tird enlarging te searc time (Fig. 5-c) wic can be considered as a limitation for RGB trees. However, te RGB trees don't lose in performance globally and te gain in restructuring comes andy in environment were restructuring are costly. On te oter and, wen te keys are ordered, wic is te worst case for RGB trees, te eigt of te tree (Fig. 5-b) grows exponentially, te searc time (Fig. 5-c) and te update time multiply because of te tolerated imbalance. Tis is not te case for RB trees tat ave almost perfect balance. We observed owever a big increase of te number of restructuring (Fig. 5-a) for RB trees comparing to te randomly generated keys case suggesting tat even te worst case RGB trees is to consider for teir large gain in restructuring. 467

Like insertion, RGB trees and RB trees ave about te same time in delete (Fig. 6). Te RGB trees preserve teir low number of restructuring (Fig. 7). We found tat RGB trees ave sligtly better time for te delete operations even wen te keys are ordered. In bot scenarios, te RGB trees delete time (Fig. 6) is about te same of te RB trees delete time toug it as a large difference in te needed number of restructuring (Fig. 7). It is interesting to note tat in te Scenario 2 neiter te time nor te number of restructuring increased. So te update time isn't affected by te order of te update operations. Generally, we observed a major decrease in restructuring (rotations/ color flips) in RGB trees. Tis decrease provokes an increase of te eigt of te tree and consequently te searc time. However, tis increase isn't too big to cange te total time of te update. Furtermore, te gain in restructuring is too significant making RGB updates very fast wen te keys are randomly generated. If te keys are ordered, owever, te update time increases gradually. Te results sow tat RGB trees and RB trees ave almost te same update time wit a big difference in restructuring. Te RGB update as a sligtly bigger searc pase wit a very small restructuring pase. Tis caracteristic makes te proposed structure more suitable wit applications were restructuring is costly and searc operations are too few. Fig. 6. Second pase time. 468

(b) Scenario 2 (a) Scenario 1 Fig. 7. Number of restructuring in pase 2. 7. Conclusion In tis paper, we proposed a new and explicit form for extending Red Black trees called Red Green Black trees (RGB trees). We detailed te insert/delete procedures to expose te different aspects and cases of te update operations. Te RGB trees propose relaxed update operations tanks to te tolerated imbalance and te decrease in te number of restructuring. Tis structure is very interesting as a mean to define a faster update RB tree. Te relaxation led to some degree of imbalance, increasing te eigt of te tree and sligtly enlarging te searc time. Te increase is explained by te number of Red nodes were te worst case eigt is 3log(N + 3) - 3log(3) and a little number of restructuring is needed log(n + 3) - log(3). Tese results are in accordance wit te conducted experiments. In fact, wen te generated keys are random, te RGB trees give very fast update witout losing muc in balance. Tis caracteristic is very useful wen implementing scedulers wic by nature ave costly restructuring. It is true tat te searc time is increased comparing to RB trees. Tis is of course because of te increased eigt of te tree tat could lead to worst case tree of te form of vines. However, tis doesn't affect te update time because of te great gain in restructuring. Furtermore, in a randomized key environment, te experiment results assured tat tis case is quite improbable. Tis caracteristic defines a major gain in te sceduler environment especially wen tere is concurrency of access and some relational condition to maintain. More investigation on tis result would be appreciated between te researc communities. Tis structure can be extended to iger number of used colors, defining a generalized form of te RB trees were we can easily control of imbalance of te structure and adapt it to various environments. Tis generalization would lead to faster updates as te number of restructuring is decreased but would also provoke a considerable slower searc time. References [1] Landis E. M., & Adelson-Velskii, G. (1962). An algoritm for te organization of information. Doklady Akademii Nauk USSR, 146(2), 263 266. [2] Guibas, L. J., & Sedgewick, R. (1978). A dicromatic framework for balanced trees. Proceedings of te 19t Annual Symposium on Foundations of Computer Science (pp. 8 21). [3] Foster, C. (1973). A generalization of avl trees. Commun. ACM, 16(8), 513 517. [4] Bayer, R., & McCreigt, E. (1970). Organization and maintenance of large ordered indices. Proceedings of te 1970 ACM SIGFIDET (Now SIGMOD) Worksop on Data Description, Access and Control, SIGFIDET '70 (pp. 107 141). 469

[5] Karlton, P. L., Fuller, S. H., Scroggs, R. E., & Kaeler, E. B. (1976). Performance of eigt-balanced trees. Commun. ACM, 19(1), 23 28. [6] Bayer, R. (1972). Symmetric binary b-trees: Data structure and maintenance algoritms. Acta Inf., 1, 290 306. [7] Andersson, A. (1993). Balanced searc trees made simple. Proceedings of te 3rd Worksop on Algoritms and Data Structures (pp. 60 71). Springer. [8] Hanke, S., Ottmann, T., & Soisalon-Soininen, E. (1997). Relaxed balanced red-black trees. Proceedings of CIAC: Vol. 1203. Lecture Notes in Computer Science (pp. 193 204). Springer. [9] Howard, P. W., & Walpole, J. (2014) Relativistic red-black trees. Concurrency and Computation: Practice and Experience, 26(16), 2684 2712. Seyfeddine Zouana is a P.d student at ig Scool of Computer Sciences, Algiers (ESI: Ecole Supérieure d Informatique), wic specializes in data structures. He graduated as a computer sciences engineer and received is master degree in 2013. Djamel Eddine Zegour is a doctor in te Paris Daupine University and a professor in Hig Scool of Computer Science, Algiers (ESI: Ecole Supérieure d Informatique), wic as tirty years of experience, specializing in data structures and programming paradigms. He is te autor of several scientific publications and educational software. 470