DE19743266C1 - Address management method in binary search tree - Google Patents
Address management method in binary search treeInfo
- Publication number
- DE19743266C1 DE19743266C1 DE19743266A DE19743266A DE19743266C1 DE 19743266 C1 DE19743266 C1 DE 19743266C1 DE 19743266 A DE19743266 A DE 19743266A DE 19743266 A DE19743266 A DE 19743266A DE 19743266 C1 DE19743266 C1 DE 19743266C1
- Authority
- DE
- Germany
- Prior art keywords
- entry
- search
- pointer
- level
- search tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
Abstract
Description
Der Anmeldungsgegenstand betrifft ein Verfahren zum Hinzufü gen bzw. Entfernen einer Adresse in einem teilbesetzten Suchbaum.The subject of the application relates to a method for adding or remove an address in a partially occupied Search tree.
Aus GWEHENBERGER, G.: "Digitale Suchbäume", in Angewandte In formatik 3/74, Seiten 115 bis 121 sind nicht-balancierte Binäre Bäume, die dort als digitale symmetrische Bäume bezeichnet werden, prinzipiell bekannt.From GWEHENBERGER, G .: "Digital Search Trees", in Applied In formatik 3/74, pages 115 to 121 are unbalanced binary Trees, called digital symmetrical trees there become known in principle.
Vor allem im Bereich ATM (Asynchroner Transfer Mode) und auch des Ethernet Routings muß bei einem großen Adressbereich (typ. M=2ˆ33 Adressen) schnell und effizient festgestellt werden können, ob eine Adresse gültig ist. Die Anzahl gülti ger Adressen ist hierbei mit N=2ˆ14=16000 meist relativ klein. Während somit die Speicherung der gültigen Daten mit wenigen Mbyte Speicher behandelt werden kann, ist eine Be handlung des gesamten Adressvorrates mit mehreren Gigabyte Speicher nicht wirtschaftlich möglich. In der Vermittlungs technik tritt zudem die Anforderung auf, bislang gültige Adressen zu löschen und neue gültige Adressen einzufügen.Especially in the area of ATM (Asynchronous Transfer Mode) and Ethernet routing must also be used for a large address range (typ. M = 2ˆ33 addresses) determined quickly and efficiently be able to determine whether an address is valid. The number of valid Ger addresses is usually relative with N = 2ˆ14 = 16000 small. While storing the valid data with few Mbyte of memory can be handled is a Be handling of the entire address pool with several gigabytes Storage not economically possible. In the mediation technology is also subject to the requirement that was previously valid Delete addresses and insert new valid addresses.
Ein möglicher Ansatz, der aufgezeigten Problematik zu begeg nen basiert auf einer Restriktion der Adressvergabe. Es wer den immer größere Adressbereiche auf einmal vergeben. Dies führt jedoch zu einer schlechten Ausnutzung des verfügbaren Speicherbereiches, zudem sind nachträgliche Änderungen des vergebenen Adressbereiches im nachhinein nur noch schwer, oder nicht mehr möglich.A possible approach to address the problems outlined NEN is based on a restriction of address allocation. It who which are allocating ever larger address areas at once. This however, leads to poor exploitation of the available Storage area, further changes to the given address range afterwards only with difficulty, or no longer possible.
Ein weiterer Ansatz, der aufgezeigten Problematik zu begegnen basiert auf dem Einsatz eines CAM (Content Adressable Memory) als Hardwarelösung. Dieses ASIC Element ist jedoch kein Stan dardelement und der Einsatz daher mit relativ hohen Kosten verbunden. Die derzeit verfügbaren Bausteine unterstützen meist nur einen Adressbereich für 1k bis 8k Verbindungen. Another approach to deal with the problems outlined is based on the use of a CAM (Content Addressable Memory) as a hardware solution. However, this ASIC element is not a standard dardelement and the use therefore with relatively high costs connected. Support the building blocks currently available usually only one address range for 1k to 8k connections.
Ein weiterer Ansatz, der aufgezeigten Problematik zu begegnen basiert auf dem Aufbau und der Verwendung eines Suchbaumes (Binary tree) um iterativ die Adresse zu bestimmen. Die Suchdauer ist hier von der Höhe des Baumes abhängig. Die mi nimale Anzahl von Suchzugriffen liegt proportional zu log2N. Durch Balancierung des Baumes ist eine Minimierung der Baum struktur erreichbar.Another approach to counter the problems outlined is based on the construction and use of a search tree (binary tree) to iteratively determine the address. The search time depends on the height of the tree. The minimum number of search accesses is proportional to log 2 N. By balancing the tree, the tree structure can be minimized.
Bisherige Implementierungen eines Suchverfahrens setzen auf einen Suchbaum über die Zielmenge N auf. Die erreichbare Suchdauer t=A.1,44.log2N ist zwar minimal (A Dauer eines Einzelzugriffes, 1,44 Fibonacci Zahl als Limit für AVL Bäume, 3 Zugriffe für Rotations- Dopppelrotationsschritt), die Ba lancierung benötigt jedoch maximal ca. tN=3.A.1,44.log2N=69.A.Previous implementations of a search method are based on a search tree using the target set N. The achievable search time t = A.1,44.log 2 N is minimal (A duration of a single access, 1.44 Fibonacci number as a limit for AVL trees, 3 accesses for a rotation double rotation step), but the balancing requires a maximum of approx. t N = 3.A.1,44.log 2 N = 69.A.
Eine minimale Baumstruktur weist zwar eine minimale Suchzeit auf, zur Aufrechterhaltung der minimalen Baumstruktur bei Lö schen oder Einfügen von Adressen ist eine umfangreiche Abar beitung von Algorithmen erforderlich, die mit einem entspre chenden Zeitbedarf einhergeht.A minimal tree structure has a minimal search time to maintain the minimum tree structure at Lö Adding or inserting addresses is an extensive task processing of algorithms required that correspond with a the time required.
Dem Anmeldungsgegenstand liegt das Problem zugrunde, ein Ver fahren der betreffenden Art anzugeben, das eine Optimierung von Suchen, Entfernen und Einfügen von gültigen Adressen aufweist.The subject of the application is based on the problem, a ver drive of the type concerned to indicate that an optimization of searches, removal and inserting valid addresses.
Das Problem wird bei dem Anmeldungsgegenstand durch die Merk male des Anspruchs 1 bzw. die Merkmale des Anspruchs 2 ge löst.The problem is in the subject of registration by the Merk male of claim 1 or the features of claim 2 ge solves.
Der Anmeldungsgegenstand erlaubt eine Sortierung des Suchbau mes gleichzeitig mit der Löschen/Einfügeoperation, wobei eine für vermittlungstechnische Anwendungen nicht zu überschrei tende Zeitdauer stets eingehalten wird. Der Anmeldungsgegen stand, der nicht von einer Balancierung und damit minimaler Suchtiefe (M statt N) ausgeht, weist eine minimierte Abarbei tungsfunktion auf und bietet somit eine kostengünstige Imple mentierung für Suche, Löschen, Einfügen in einfacher Hardware (ASIC oder FPGA) wobei eine Skalierung mit der jeweils ver fügbaren Technologie gegeben ist. Durch den Einsatz von RAM- Strukturen und einem benutzerdefinierbaren Vergleicher erge ben sich weitergehende Möglichkeiten zur Verknüpfung mit Sta tusbits, welche für zusätzliche Selektionskriterien verwendet werden können.The object of registration allows the search structure to be sorted mes simultaneously with the delete / insert operation, where a not to be exceeded for switching applications is always observed. The registration counter who was not balanced and therefore minimal Search depth (M instead of N) shows a minimized processing function and thus offers a cost-effective implement mentation for searching, deleting, inserting in simple hardware (ASIC or FPGA) where scaling with the ver available technology is given. By using RAM Structures and a user-definable comparator There are further options for linking with Sta tusbits, which are used for additional selection criteria can be.
Der Anmeldungsgegenstand wird im folgenden als Ausführungs beispiel in einem zum Verständnis erforderlichen Umfang an hand von Figuren näher beschrieben. Dabei zeigen:The subject of registration is hereinafter referred to as execution example to the extent necessary for understanding hand described in more detail by figures. Show:
Fig. 1 zeigt den prinzipiellen Aufbau eines Binären Feldes der Tiefe 4 mit 2ˆ4=16 Elementen, also gewissermaßen den gesamten Wertevorrat. Fig. 1 shows the basic structure of a binary field of depth 4 with 2ˆ4 = 16 elements, so to speak, the entire range of values.
Fig. 2 zeigt als Beispiel eine Anzahl von 10 gültigen Adress einträgen {0,1,2,7,8,9,11,13,15,25}. Fig. 2 shows an example of a number of 10 valid address entries {0,1,2,7,8,9,11,13,15,25}.
Fig. 3 die Adresseinträge aus Fig. 2 in Binärdarstellung. Fig. 3 shows the address entries from Fig. 2 in binary representation.
Fig. 4 zeigt den aus Fig. 2 sich ergebenden teilgefüllten Suchbaum. FIG. 4 shows the partially filled search tree resulting from FIG. 2.
Fig. 5 zeigt den minimalen, balancierten Suchbaum. Fig. 5 shows the minimum, balanced search tree.
Fig. 6 zeigt den Ersetzungsvorgang im teilgefüllten Suchbaum. Fig. 6 shows the replacement process in the partially filled search tree.
Fig. 7 zeigt eine Schaltungsanordnung zur Verkürzung des Suchvorgangs. Fig. 7 shows a circuit arrangement for shortening of the search operation.
In den Figuren bezeichnen gleiche Bezeichnungen gleiche Ele mente.In the figures, the same designations denote the same elements ment.
Fig. 1 zeigt den prinzipiellen Aufbau eines Binären Feldes mit den Leveln I, II, III und IV. Fig. 1 shows the basic structure of a binary field with levels I, II, III and IV.
Fig. 2 zeigt einen im Beispiel mit 10 gültigen Adresseinträgen {0,1,2,7,8,9,11,13,15,25} teilbesetzten Suchbaum. Durch die Verwendung des vollständigen binären Feldes ist die Position jedes Eintrages genau festgelegt. Die maximale Suchlänge ist durch die Höhe des Baumes mit H=log2M bestimmt. Fig. 2 shows a partially occupied in Example 10 with valid address entries {0,1,2,7,8,9,11,13,15,25} search tree. By using the complete binary field, the position of each entry is precisely defined. The maximum search length is determined by the height of the tree with H = log 2 M.
Fig. 3 zeigt die Adresseinträge aus Fig. 2 in Binärdarstellung. FIG. 3 shows the address entries from FIG. 2 in binary representation.
Ein Eintrag hat im Prinzip folgenden Aufbau:
In principle, an entry has the following structure:
In einem Adressraum mit M=2ˆ33 Adressen benötigt die Durch führung der Suche bei Verwendung der Binären Suche im teilbe setzten binären Feld bei typ. Anwendungen mit KM=log2M=33 Zugriffe, statt KN=log2N=16. Dennoch ist bei einer Verkür zung des Suchbaumes um z. B. C=13 Höhen (d. h. 2ˆ13=8k direkte Pointer, 4 Zugriffe für ersten Pointerzugriff) mit tMax=A/2. (4+log2(M-C))=22.A ein günstigeres worst case Zeitverhalten erreichbar.In an address space with M = 2ˆ33 addresses, performing the search using the binary search in the partially occupied binary field for typical applications with KM = log 2 M = 33 accesses instead of KN = log 2 N = 16. Nevertheless, a shortening of the search tree by z. B. C = 13 heights (ie 2ˆ13 = 8k direct pointer, 4 accesses for first pointer access) with t Max = A / 2. (4 + log 2 (MC)) = 22.A a cheaper worst case time behavior achievable.
Fig. 4 zeigt den aus Fig. 2 sich ergebenden teilgefüllten Such baum. Der Suchbaum ist zwar in der Höhe nicht minimal, jedoch ist seine maximale Höhe auf H beschränkt. FIG. 4 shows the partially filled search tree resulting from FIG. 2. The search tree is not minimal in height, but its maximum height is limited to H.
Fig. 5 zeigt den minimalen balancierten Suchbaum wie er sich für das Beispiel aus Fig. 2 ergeben würde. Der balancierte Suchbaum hat in diesem Falle eine um 1 geringere Höhe als der in Fig. 4. Um diesen Suchbaum zu erhalten müssen viele Posi tionen umsortiert werden. U ≈ N.log2N Operationen sind im schlimmsten anzunehmenden Fall (worst case) notwendig. FIG. 5 shows the minimal balanced search tree as it would result for the example from FIG. 2. In this case, the balanced search tree has a height that is 1 less than that in FIG. 4. In order to obtain this search tree, many positions have to be re-sorted. U ≈ N.log 2 N operations are necessary in the worst case.
Falls nicht alle Binärwurzeln besetzt sind, so ergibt sich als Resultat stets eine Verkürzung des maximalen Baumes.If not all binary roots are occupied, the result is as a result always a shortening of the maximum tree.
In der ersten Ebene (Level 0) mag eine Aufteilung des Such baumes nach Maßgabe des MSB (Most Signifikant Bit) 0 oder 1 gegeben sein, wobei bei der Suche nach einer Adresse in der ersten Ebene (level 0) eine Verzweigung nach Maßgabe der er sten Bitstelle der gesuchten Adresse erfolgt. Dann ist für die Entscheidung in Level 0 lediglich die (2ˆm-0) erste Bit stelle relevant. Dies macht sich insbesondere bei Einsatz ei nes Hardwarevergleichers (schaltungstechnisch ausgeführten Vergleichers), dessen Breite stark reduzierbar ist, vorteil haft bemerkbar.In the first level (level 0) there may be a division of the search tree according to the MSB (Most Significant Bit) 0 or 1 be given, when looking for an address in the first level (level 0) a branch according to the he Most bit position of the searched address occurs. Then is for the decision in level 0 is only the (2ˆm-0) first bit place relevant. This is particularly true when using egg nes hardware comparator (circuitry implemented Comparator), the width of which can be greatly reduced, is advantageous noticeably noticeable.
Für die Suche nach Eintrag {25} (Entry{25}) erfolgt der Ver gleich im i-ten Rekursionsschritt entsprechend an der Bit stelle <2ˆm-i<. Durch fehlende Einträge in der binären Liste (missing link) erfolgt hier also die Bewertung an sich an ei ner nicht zutreffenden Bitposition. Durch Einbeziehung der bereits abgearbeiteten Stellen mit fehlenden Einträgen in ei nem parallel durchgeführten Vergleich ist dies erkennbar und berücksichtigbar, wobei die Pointerselektion (P_lower, P_upper) gegebenenfalls korrigiert wird. Dies hat jedoch keinen Einfluß auf die worst case Suchgeschwindigkeit, da in diesem Falle (mindestens eine Ebene ist nicht besetzt) so zusagen der Eintrag zu früh erreicht wurde. Der parallele Vergleich über alle abgearbeiteten Bitpositionen kann eben falls "langsam" von <i< nach <i+1< erfolgen, da bei einem Missmatch in V Bitpositionen, folglich V Suchpositionen über sprungen und damit ebensoviele Vergleichsoperationen gespart wurden.For the search for entry {25} (Entry {25}) the Ver immediately in the i-th recursion step at the bit set <2ˆm-i <. Due to missing entries in the binary list (missing link), the evaluation itself is done here ner not applicable bit position. By including the already processed positions with missing entries in ei This can be seen in a parallel comparison can be taken into account, whereby the pointer selection (P_lower, P_upper) is corrected if necessary. However, this has no influence on the worst case search speed, because in in this case (at least one level is not occupied) promise the entry was reached too early. The parallel A comparison across all processed bit positions can be done if "slow" from <i <to <i + 1 <, because with a Missmatch in V bit positions, hence V search positions over jumps and thus saved as many comparison operations were.
Fig. 6 zeigt den Ersetzungsvorgang im teilgefüllten Suchbaum. Soll z. B. der Entry{7} aus einer bestehenden Liste entfernt werden, so übernimmt der nächstgrößte Entry dessen Position. Im vorliegenden Falle muß somit bis zum Entry{7} gesucht wer den, dessen Position wird gespeichert; anschließend wird un ter Entry{7} - P_upper nach dem kleinsten Entry (am weite sten links) gesucht, und Entry{15} - P_lower nun neu auf die Position von Entry{8} gesetzt (Aktion_1). Entry{8} erhält die gespeicherten Pointer auf Entry{7} - P_lower und Entry{7} - P_upper (Aktion_2), der Pointer Entry{11} - P_lower erhält gegebenenfalls noch den Wert Entry{8} - P_upper (Aktion_3). Fig. 6 shows the replacement process in the partially filled search tree. Should z. For example, if entry {7} is removed from an existing list, the next largest entry takes its position. In the present case, the entry {7} must be searched for, whose position is saved; Then the entry {7} - P_upper is searched for the smallest entry (furthest left), and Entry {15} - P_lower is now set to the position of Entry {8} (Aktion_1). Entry {8} receives the stored pointers on Entry {7} - P_lower and Entry {7} - P_upper (action_2), the pointer Entry {11} - P_lower also receives the value Entry {8} - P_upper (action_3).
Der Löschvorgang benötigt also 3 Aktionen mehr, als ein ver gleichbarer reiner Suchzugriff. The deletion process therefore requires 3 actions more than one ver comparable pure search access.
Ein anschließender Einfügevorgang für Entry{7}, mit neuem En try{7}, Aktualisierung von Entry{9}.P_lower und En try{15}.P_lower benötigt ebenfalls 3 Aktionen.A subsequent insertion process for Entry {7}, with a new En try {7}, update of Entry {9} .P_lower and En try {15} .P_lower also requires 3 actions.
Der vorgeschlagene Algorithmus erlaubt nicht nur eine Suche vergleichbar mit CAM Zugriffen, er bietet ebenso die Möglich keit sortiert z. B. gezielt auf den kleinsten oder größten Eintrag zuzugreifen. Ein erweiterter Einsatz z. B. zur Sortie rung von Datenzellen anhand von Folgenummern (Seqencenumber oder Timestamp, Ausheilen bei Random Routing) ist unterstütz bar.The proposed algorithm does not only allow a search comparable to CAM access, it also offers the possibility sorting z. B. targeting the smallest or largest Access entry. An extended use e.g. B. for sortie Data cells based on sequence numbers (sequence number or timestamp, healing with random routing) is supported bar.
Wie bereits erwähnt benötigt in einem Adressraum mit M=2ˆ33 Adressen die Durchführung der Suche bei Verwendung der Binä ren Suche im teilbesetzten binären Feld bei typ. Anwendungen mit KM=log2M=33 Zugriffe, statt KN=log2N=16.As already mentioned, in an address space with M = 2ˆ33 addresses, the search must be carried out using the binary search in the partially occupied binary field for typical applications with KM = log 2 M = 33 accesses instead of KN = log 2 N = 16.
Eine Möglichkeit zur Verkürzung des Suchvorganges ist durch eine Verkürzung der Suchtiefe gegeben. Bei einer Verkürzung des Suchbaumes um z. B. C=13 Höhen (d. h. 2ˆ13=8k direkte Poin ter, 4 Zugriffe für ersten Pointerzugriff) mit tMax=A/2. (4+log2(M-C))=22.A ist ein günstigeres worst case Zeitverhal ten erreichbar.One way to shorten the search process is to shorten the search depth. If the search tree is shortened by z. B. C = 13 heights (ie 2ˆ13 = 8k direct pointer, 4 accesses for first pointer access) with t Max = A / 2. (4 + log 2 (MC)) = 22.A, a cheaper worst-case behavior can be achieved.
Da die Anordnung sortiert erfolgt, kann z. B. der obere Teil des Suchbaumes direkt in einem RAM (Random Access Memory, Speicher mit wahlfreiem Zugriff) Bereich gemappt werden. Mit 2ˆn Einträgen muß dann die Suche erst ab Level n beginnen. Stehen beispielsweise 16k Speicherentries zur Verfügung redu ziert sich die Suchtiefe um 14. Alternativ hierzu sind in den 16k DirectMappings auch alle möglichen Entries des Levels n+1 speicherbar. Die Suchtiefe reduziert sich dann um 15; bei ei ner Suche oberhalb von Level 15 beginnt die Suche bei der Ur wurzel. Since the arrangement is sorted, z. B. the upper part the search tree directly in a RAM (Random Access Memory, Random access memory) area can be mapped. With In the case of 2 entries, the search must only begin at level n. For example, 16k memory entries are available redu the search depth is around 14. Alternatively, in the 16k DirectMappings also all possible entries of level n + 1 storable. The search depth is then reduced by 15; at egg If you search above level 15, the search starts at Ur root.
Eine weitere Möglichkeit zur Beschleunigung des Suchvorganges ist dadurch gegeben, daß das Suchprinzip auf mehr als 2 Poin ter erweitert wird. Bei Verwendung von zweckmäßigerweise 2ˆi Pointern ergibt sich eine Baumhöhe von H=log2M/i.Another way to accelerate the search is given by the fact that the search principle is expanded to more than 2 points. When using appropriately 2ˆi pointers, a tree height of H = log 2 M / i results.
Fig. 7 zeigt eine Hardwarerealisierung für eine Suche mit 4 Pointern, bei der es nicht zwingend notwendig ist, die Poin terwerte an den Vergleicher heranzuführen. Fig. 7 shows a hardware implementation for a search pointers 4, wherein it is not absolutely necessary, the poin terwerte introduce to the comparator.
Ein Entry-RAM wird über einen Tristate Bus von genau der Pointer RAM aus einer Mehrzahl von Pointer RAM's (Pointer 1 RAM. . .Pointer i RAM) adressiert, deren Ausgang über ein Chip- Selekt-Signal wirksamgeschaltet ist. Liegen P_upper und P_lower in der selben Pointer RAM, womit keine Selektion ei nes Tristate Busses über Chipselekt möglich ist, kann ein ex terner Multiplexer vorgesehen sein. Der Ausgang des Entry-RAM ist mit dem Vergleicher verbunden.An entry-RAM is driven by a tristate bus of exactly that type Pointer RAM from a plurality of Pointer RAMs (Pointer 1 R.A.M. . .Pointer i RAM) addressed, the output of which is via a chip Select signal is activated. Lying P_upper and P_lower in the same pointer RAM, which means no selection nes tristate bus via chipselekt, an ex ternal multiplexer may be provided. The exit of the entry RAM is connected to the comparator.
Beispiel: stehen wie bei STM1 64 Takte zur Auflösung eines Entries aus 8k möglichen zur Verfügung, so kann dies durch Verwendung eines 1Mbit RAMs 32k.32 erreicht werden. In 16k stehen 32k DirectMappings zur Verfügung (2 Takte); Reduzie rung der Suchtiefe um 15. Bei 3 Zugriffen zur Bewertung des Entries (Anlegen Adresse; Lesen Entry; Lesen Pointer) werden für die Suche in 17 Level 16.3=51 Takte benötigt. Verbindungs aufbau und Abbau ist in Leerzyklen möglich, maximal sollten hierfür 51+2+3=56 Takte erforderlich sein.Example: as with STM1, there are 64 cycles for the resolution of one Entries from 8k possible are available, so this can be done by Using a 1Mbit RAM 32k.32 can be achieved. In 16k 32k DirectMappings are available (2 cycles); Reduce Search depth by 15. With 3 accesses to evaluate the Entries (create address; read entry; read pointer) needed for the search in 17 level 16.3 = 51 bars. Connection assembly and disassembly is possible in empty cycles, maximum should be this requires 51 + 2 + 3 = 56 bars.
Claims (2)
- - die Position des zu entfernenden Eintrags aufgesucht und zwischengespeichert wird
- - unter dem Zeiger des zu entfernenden Eintrags, der auf den Eintrag der nächst tieferen Ebene (level I, II, III) mit dem höheren Wert verweist, der Eintrag einer tieferen Ebene aufgesucht wird, der den niedrigsten Wert hat
- - dieser Eintrag mit dem niedrigsten Wert auf die Position des zu entfernenden Eintrags gesetzt wird
- - dieser Eintrag mit dem niedrigsten Wert die Zeiger des ent fernten Eintrags übernimmt.
- - The position of the entry to be removed is sought and cached
- - under the pointer of the entry to be removed, which refers to the entry of the next lower level (level I, II, III) with the higher value, the entry of a lower level is found which has the lowest value
- - this entry with the lowest value is set to the position of the entry to be removed
- - This entry with the lowest value takes over the pointers of the removed entry.
- - die Position des hinzuzufügenden Eintrags aufgesucht wird
- - für den auf der aufgesuchten Position befindlichen Eintrag in Richtung auf die Position, die dem Wert der Adresse des zu verschiebenden Eintrags gleicht, die erste freie Position aufgesucht wird und dort abgespeichert wird
- - der hinzuzufügende Eintrag auf seiner Position abgespei chert wird, wobei er die Zeiger von dem bislang dort abge speicherten Eintrag übernimmt.
- - the position of the entry to be added is sought
- - For the entry located on the searched position in the direction of the position which is equal to the value of the address of the entry to be moved, the first free position is sought and stored there
- - The entry to be added is stored in its position, taking over the pointer from the entry previously stored there.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19743266A DE19743266C1 (en) | 1997-09-30 | 1997-09-30 | Address management method in binary search tree |
PCT/DE1998/002554 WO1999017226A1 (en) | 1997-09-30 | 1998-08-31 | Method for entering or erasing an address in an unbalanced and partially occupied binary tree |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19743266A DE19743266C1 (en) | 1997-09-30 | 1997-09-30 | Address management method in binary search tree |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19743266C1 true DE19743266C1 (en) | 1999-03-11 |
Family
ID=7844195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19743266A Expired - Fee Related DE19743266C1 (en) | 1997-09-30 | 1997-09-30 | Address management method in binary search tree |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE19743266C1 (en) |
WO (1) | WO1999017226A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010061280A1 (en) | 2010-12-16 | 2012-06-21 | Klaus Benecke | Method for technically realizable restructuring of data, involves storing contents of two components of tuples in memory as nodes of trees to be built, respectively, and outputting data structure formed from trees |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2367917A (en) | 2000-10-12 | 2002-04-17 | Qas Systems Ltd | Retrieving data representing a postal address from a database of postal addresses using a trie structure |
US7908242B1 (en) | 2005-04-11 | 2011-03-15 | Experian Information Solutions, Inc. | Systems and methods for optimizing database queries |
EP2074572A4 (en) | 2006-08-17 | 2011-02-23 | Experian Inf Solutions Inc | System and method for providing a score for a used vehicle |
US7912865B2 (en) | 2006-09-26 | 2011-03-22 | Experian Marketing Solutions, Inc. | System and method for linking multiple entities in a business database |
US8036979B1 (en) | 2006-10-05 | 2011-10-11 | Experian Information Solutions, Inc. | System and method for generating a finance attribute from tradeline data |
US8606666B1 (en) | 2007-01-31 | 2013-12-10 | Experian Information Solutions, Inc. | System and method for providing an aggregation tool |
US8285656B1 (en) | 2007-03-30 | 2012-10-09 | Consumerinfo.Com, Inc. | Systems and methods for data verification |
WO2008147918A2 (en) | 2007-05-25 | 2008-12-04 | Experian Information Solutions, Inc. | System and method for automated detection of never-pay data sets |
US9690820B1 (en) | 2007-09-27 | 2017-06-27 | Experian Information Solutions, Inc. | Database system for triggering event notifications based on updates to database records |
US8312033B1 (en) | 2008-06-26 | 2012-11-13 | Experian Marketing Solutions, Inc. | Systems and methods for providing an integrated identifier |
US9152727B1 (en) | 2010-08-23 | 2015-10-06 | Experian Marketing Solutions, Inc. | Systems and methods for processing consumer information for targeted marketing applications |
US9147042B1 (en) | 2010-11-22 | 2015-09-29 | Experian Information Solutions, Inc. | Systems and methods for data verification |
US9483606B1 (en) | 2011-07-08 | 2016-11-01 | Consumerinfo.Com, Inc. | Lifescore |
US9853959B1 (en) | 2012-05-07 | 2017-12-26 | Consumerinfo.Com, Inc. | Storage and maintenance of personal data |
US9697263B1 (en) | 2013-03-04 | 2017-07-04 | Experian Information Solutions, Inc. | Consumer data request fulfillment system |
US10102536B1 (en) | 2013-11-15 | 2018-10-16 | Experian Information Solutions, Inc. | Micro-geographic aggregation system |
US9529851B1 (en) | 2013-12-02 | 2016-12-27 | Experian Information Solutions, Inc. | Server architecture for electronic data quality processing |
US10262362B1 (en) | 2014-02-14 | 2019-04-16 | Experian Information Solutions, Inc. | Automatic generation of code for attributes |
US9576030B1 (en) | 2014-05-07 | 2017-02-21 | Consumerinfo.Com, Inc. | Keeping up with the joneses |
US10242019B1 (en) | 2014-12-19 | 2019-03-26 | Experian Information Solutions, Inc. | User behavior segmentation using latent topic detection |
WO2018039377A1 (en) | 2016-08-24 | 2018-03-01 | Experian Information Solutions, Inc. | Disambiguation and authentication of device users |
CN110383319B (en) | 2017-01-31 | 2023-05-26 | 益百利信息解决方案公司 | Large scale heterogeneous data ingestion and user resolution |
US10963434B1 (en) | 2018-09-07 | 2021-03-30 | Experian Information Solutions, Inc. | Data architecture for supporting multiple search models |
US11941065B1 (en) | 2019-09-13 | 2024-03-26 | Experian Information Solutions, Inc. | Single identifier platform for storing entity data |
US11880377B1 (en) | 2021-03-26 | 2024-01-23 | Experian Information Solutions, Inc. | Systems and methods for entity resolution |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5497485A (en) * | 1993-05-21 | 1996-03-05 | Amalgamated Software Of North America, Inc. | Method and apparatus for implementing Q-trees |
CA2117846C (en) * | 1993-10-20 | 2001-02-20 | Allen Reiter | Computer method and storage structure for storing and accessing multidimensional data |
US5644763A (en) * | 1995-06-28 | 1997-07-01 | Sybase, Inc. | Database system with improved methods for B-tree maintenance |
-
1997
- 1997-09-30 DE DE19743266A patent/DE19743266C1/en not_active Expired - Fee Related
-
1998
- 1998-08-31 WO PCT/DE1998/002554 patent/WO1999017226A1/en active Application Filing
Non-Patent Citations (1)
Title |
---|
GWEHENBERGER, G.: "Digitale Suchbäume", in Angewandte Informatik 3/74, S. 115-121 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102010061280A1 (en) | 2010-12-16 | 2012-06-21 | Klaus Benecke | Method for technically realizable restructuring of data, involves storing contents of two components of tuples in memory as nodes of trees to be built, respectively, and outputting data structure formed from trees |
Also Published As
Publication number | Publication date |
---|---|
WO1999017226A1 (en) | 1999-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19743266C1 (en) | Address management method in binary search tree | |
DE19743267C1 (en) | Address localization in partially occupied, unbalanced binary tree | |
EP0010195B1 (en) | Device for address translation in a computer | |
DE2346525C3 (en) | Virtual storage facility | |
DE3011552C2 (en) | ||
DE60026229T2 (en) | Method and apparatus for classifying data packets | |
DE602004010922T2 (en) | STORAGE AND STROMEFFICIENT MECHANISM FOR FAST TABLE HUNTING | |
DE2131066C3 (en) | Arrangement for addressing a table memory | |
DE60316696T2 (en) | Method for routing data packets and routing device | |
DE10085387T5 (en) | Longest match address search method and apparatus | |
EP0619667A1 (en) | Access method to the address characteristics of communicating partners with a first address field while sending a data packet | |
DE1956604B2 (en) | Data processing system | |
DE2231146B2 (en) | Data processing system with virtual addressing | |
DE69629540T2 (en) | Method and device for sorting elements | |
DE3518818A1 (en) | DATA PROCESSING DEVICE AND METHOD AND DEVICE FOR IMPLEMENTING DATA ELEMENTS | |
DE60309611T2 (en) | Method and device for processing data packets | |
DE60114299T2 (en) | A method and apparatus for translating IP telecommunications network addresses with a controlled leaky memory | |
DE3025167C2 (en) | Data processing device | |
DE2842288A1 (en) | DATA TRANSFER SWITCH WITH ASSOCIATIVE ADDRESS SELECTION IN A VIRTUAL MEMORY | |
DE60024611T2 (en) | LENGTH TEST COMPARISON IN PREFIX TUNING TABLE | |
EP0176939B1 (en) | Data-processing systems with virtual storage addressing for a plurality of users | |
DE3105503A1 (en) | ASSOCIATIVE ACCESS MEMORY | |
DE1487637A1 (en) | Method and arrangement for routing control in electrical connection networks constructed with switching matrices | |
DE3633227A1 (en) | Arrangement for conversion of a virtual address into a physical address for a working memory organised in pages in a data processing system | |
EP0760502B1 (en) | Ranking method for membership function values of linguistic input values in a fuzzy logic processor and device for carrying out the method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8100 | Publication of the examined application without publication of unexamined application | ||
D1 | Grant (no unexamined application published) patent law 81 | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |