Patent ID: 6298339
Filing Date: 2001-10-02
Classification: G06F,Y10S

Abstract:
Method for managing sequences of symbols in a data structure comprising linked lists of records, characterized in that the sequences of symbols are inserted symbol-by-symbol into a double set of records:a first set of linked lists of records (A-records) which are array records of pointers with an element for each symbola second set of strings (B-records) containing the complete sequences of symbols entered, wherein initially a first A-record is defined and that all elements in said A-records are initiated to null-pointers followed by the insertion of a sequence of symbols comprising the steps of:(i) selecting a current record, which is either the first record, or a record which is pointed at by the current pointer, initially pointing at the first A-record, incrementing a depth counter, initially set to zero, by one,(ii) selecting the next symbol of the sequence of symbols to be inserted which initially will be the ""first"" symbol and later the ""current"" symbol,(iii) using the value of the current symbol as an index into the current record, finding the current pointer at the corresponding position in the record and if this pointer points at another A-record, going back to step (i),(iv) if the current pointer is null, creating a B-record and storing the full sequence of symbols in it and updating the current pointer to point at the new B-record which ends the insertion procedure, else proceeding,(v) checking if the current B-record contains the same sequence of symbols as the sequence of symbols to be inserted and if so, terminating the insertion procedure, else proceeding,(vi) creating and linking in a new A-record and incrementing the depth counter by one and making the next symbol in the sequence of symbols to be inserted the ""current"" symbol,(vii) in the current B-record, selecting the symbol corresponding to the depth counter and comparing this symbol to the current symbol in the sequence of symbols to be inserted and if these symbols are equal, go to step (vi), else proceeding,(viii) creating a new B-record, inserting the full new sequence of symbols there and inserting a pointer to the B-record at an index position in the previous A-record which corresponds to the current symbol.