
Lock-free internal binary search trees with memory management
... programs because it is often difficult to determine a safe time for memory to be deallocated. Shared memory which is concurrently accessible can be removed from the visibility of any new thread accessing the shared data, but threads executing while the shared data was still visible could still attem ...
... programs because it is often difficult to determine a safe time for memory to be deallocated. Shared memory which is concurrently accessible can be removed from the visibility of any new thread accessing the shared data, but threads executing while the shared data was still visible could still attem ...
DCell: A Scalable and Fault-Tolerant Network Structure for Data Centers
... and cannot meet the goals in DCN. We will provide detailed comparisons of these structures and our work in Section 8. We now elaborate on the three design goals we have briefly mentioned in the previous section. Scaling: Scaling requirement in DCN has three aspects. First, the physical structure has ...
... and cannot meet the goals in DCN. We will provide detailed comparisons of these structures and our work in Section 8. We now elaborate on the three design goals we have briefly mentioned in the previous section. Scaling: Scaling requirement in DCN has three aspects. First, the physical structure has ...
DCell
... complete graph. Moreover, since each DCell0 has n interDCell0 links, a DCell1 can only have n + 1 DCell0 s, as illustrated in Figure 1. For a level-2 or higher DCellk , it is constructed in the same way to the above DCell1 construction. If we have built DCellk−1 and each DCellk−1 has tk−1 servers, t ...
... complete graph. Moreover, since each DCell0 has n interDCell0 links, a DCell1 can only have n + 1 DCell0 s, as illustrated in Figure 1. For a level-2 or higher DCellk , it is constructed in the same way to the above DCell1 construction. If we have built DCellk−1 and each DCellk−1 has tk−1 servers, t ...
A Lempel-Ziv Text Index on Secondary Storage
... ` symbols surrounding the pattern occurrences; and (4) extract(T, i, j), which decompresses the substring T [i..j], for any text positions i 6 j. The use of a compressed full-text self-index may totally remove the need to use the disk. However, some texts are so large that their corresponding indexe ...
... ` symbols surrounding the pattern occurrences; and (4) extract(T, i, j), which decompresses the substring T [i..j], for any text positions i 6 j. The use of a compressed full-text self-index may totally remove the need to use the disk. However, some texts are so large that their corresponding indexe ...
C Data Structures
... Creating and maintaining dynamic data structures requires dynamic memory allocation—the ability for a program to obtain more memory space at execution time to hold new nodes, and to release space no longer needed. The limit for dynamic memory allocation can be as large as the amount of available phy ...
... Creating and maintaining dynamic data structures requires dynamic memory allocation—the ability for a program to obtain more memory space at execution time to hold new nodes, and to release space no longer needed. The limit for dynamic memory allocation can be as large as the amount of available phy ...
space-efficient data structures for collections of textual data
... The thesis is structured as follows. After a brief review of the basic concepts and tools, we present our contributions, which are summarized below. We then conclude the thesis with some directions for future work and open problems. SEMI-INDEXING TEXTUAL SEMI-STRUCTURED DATA. Semi-structured textual ...
... The thesis is structured as follows. After a brief review of the basic concepts and tools, we present our contributions, which are summarized below. We then conclude the thesis with some directions for future work and open problems. SEMI-INDEXING TEXTUAL SEMI-STRUCTURED DATA. Semi-structured textual ...
as a PDF
... (2) Is the constant factor in the fully dynamic algorithms small such that an ecient implementation is possible? New Results. This paper gives a positive answer to both questions. It presents a new technique for designing fully dynamic algorithms with polylogarithmic time per operation and applies ...
... (2) Is the constant factor in the fully dynamic algorithms small such that an ecient implementation is possible? New Results. This paper gives a positive answer to both questions. It presents a new technique for designing fully dynamic algorithms with polylogarithmic time per operation and applies ...
Creating Common Information Structures Using Lists Stored in SAS® DATA Step HASH Objects
... Since we are going to be storing our data in hash tables we have to make our keys, in an individual list, either numeric or character type. All the examples we will cover in this paper will have numeric typed keys. This is primarily because it makes sorting keys straightforward and simplifies the lo ...
... Since we are going to be storing our data in hash tables we have to make our keys, in an individual list, either numeric or character type. All the examples we will cover in this paper will have numeric typed keys. This is primarily because it makes sorting keys straightforward and simplifies the lo ...
Efficient Candidacy Reduction For Frequent Pattern Mining_ final03
... fact the PC_Miner algorithm prune the search space by using the candidate head set and it finds the most promising candidate set efficiently. This section is followed by reviewing of the data transformation technique and the PC_Tree. Then the candidate head set and its properties are explained to sh ...
... fact the PC_Miner algorithm prune the search space by using the candidate head set and it finds the most promising candidate set efficiently. This section is followed by reviewing of the data transformation technique and the PC_Tree. Then the candidate head set and its properties are explained to sh ...
Data Structures (810:052) Lecture 24 Name:_________________
... Hashing tries to achieve average constant time (i.e., O(1)) searching by using the target’s value to calculate where in the array (called the hash table) it should be located, i.e., each target value gets its own search pattern. The translation of the target value to an array index (called the targe ...
... Hashing tries to achieve average constant time (i.e., O(1)) searching by using the target’s value to calculate where in the array (called the hash table) it should be located, i.e., each target value gets its own search pattern. The translation of the target value to an array index (called the targe ...
The BoND-tree: An Efficient Indexing Method for Box Queries in Non-ordered Discrete Data Spaces, IEEE Transactions on Data and Knowledge Engineering, 2013, Changqing Chen, Alok Watve, Sakti Pramanik, Qiang Zhu
... algorithms used for splitting overflow nodes play an important role in determining the index tree’s query performance. This is because except the first node (which is created by default) in the tree, every other node is created by splitting an existing node. To reduce query I/O for box queries in th ...
... algorithms used for splitting overflow nodes play an important role in determining the index tree’s query performance. This is because except the first node (which is created by default) in the tree, every other node is created by splitting an existing node. To reduce query I/O for box queries in th ...
Creating common information structures using list's stored in data step hash objects
... Since we are going to be storing our data in hash tables we have to make our keys, in an individual list, either numeric or character type. All the examples we will cover in this paper will have numeric typed keys. This is primarily because it makes sorting keys straightforward and simplifies the lo ...
... Since we are going to be storing our data in hash tables we have to make our keys, in an individual list, either numeric or character type. All the examples we will cover in this paper will have numeric typed keys. This is primarily because it makes sorting keys straightforward and simplifies the lo ...
SpatialDataStructure..
... • 2D array of lists, each list stores elements in that grid element • Finding the grid location of an object is easy (how would you do it?) • As objects move around in the world, may need to change grid locations 11-15: Grid ...
... • 2D array of lists, each list stores elements in that grid element • Finding the grid location of an object is easy (how would you do it?) • As objects move around in the world, may need to change grid locations 11-15: Grid ...
Chapter 3 : Efficient Implementation of Fair Queueing
... A FQ server maintains, as its internal state, the finish number F α and the offset δα of each conversation α passing through it. An implementor has to make two design choices: determining the ID of a conversation, and deciding how to access the state for that conversation. The choice of the conversa ...
... A FQ server maintains, as its internal state, the finish number F α and the offset δα of each conversation α passing through it. An implementor has to make two design choices: determining the ID of a conversation, and deciding how to access the state for that conversation. The choice of the conversa ...
Wavelet Trees for All
... Operation rank was already considered by Chazelle [25], who gave a simple data structure using O(n) bits for a bitmap B[1, n], that computed rank in constant time (note that we only have to solve rank1 (B, i), since rank0 (B, i) = i − rank1 (B, i)). Jacobson [63] improved the space to n + O(n lg lg ...
... Operation rank was already considered by Chazelle [25], who gave a simple data structure using O(n) bits for a bitmap B[1, n], that computed rank in constant time (note that we only have to solve rank1 (B, i), since rank0 (B, i) = i − rank1 (B, i)). Jacobson [63] improved the space to n + O(n lg lg ...
Binary search tree
In computer science, binary search trees (BST), sometimes called ordered or sorted binary trees, are a particular type of containers: data structures that store ""items"" (such as numbers, names and etc.) in memory. They allow fast lookup, addition and removal of items, and can be used to implement either dynamic sets of items, or lookup tables that allow finding an item by its key (e.g., finding the phone number of a person by name).Binary search trees keep their keys in sorted order, so that lookup and other operations can use the principle of binary search: when looking for a key in a tree (or a place to insert a new key), they traverse the tree from root to leaf, making comparisons to keys stored in the nodes of the tree and deciding, based on the comparison, to continue searching in the left or right subtrees. On average, this means that each comparison allows the operations to skip about half of the tree, so that each lookup, insertion or deletion takes time proportional to the logarithm of the number of items stored in the tree. This is much better than the linear time required to find items by key in an (unsorted) array, but slower than the corresponding operations on hash tables.They are a special case of the more general B-tree with order equal to two.