Next: Static BST Internal And Sparse Array Organized Leaf Nodes Sequence, Previous: Dynamic BST Internal And Array Organized Leaf Nodes Sequence, Up: B-tree Compressed BST Based Fixed Size Data Sequences [Index]
The B-tree external nodes are organized as plain arrays.
The B-tree internal nodes are organized as self balancing, array based BSTs. The editing of the array based BSTs has linear complexity, whereas the editing of the dynamic AVL BSTs has logarithmic complexity. Nonetheless, for their regular memory layout the array based BSTs may outperform the AVL BSTs for small enough sizes. The retrieval complexity is for the arrays based BSTs (as is for the AVL BSTs) logarithmic.
Types:
typedef struct x1f4_qsrate_type {
unsigned quarter, rate, size;
void *trans;
} x1f4_qsrate_type;
See Fixed Size Data Sequence Types.
The extra features in the struct x1f4_qsrate_type are the quarter
and rate unsigned fields, specifying quarter the maximal population
count to be stored in external B-tree nodes and log 2 the maximal population
count to be stored in internal B-tree nodes, respectively. Both fields usage
is restricted to express request and sensible default values are provided for
them.
Construction definitions:
X1f4_QSRATE_FOUR_FRAMEindicates the sequence constructor routines that the quarter the maximal
population count to be stored in external B-tree nodes specified by the
quarter field of their struct x1f4_qsrate_type * argument is to
be observed.
X1f4_QSRATE_RATE_FRAMEindicates the sequence constructor routines that the log 2 the maximal
population count to be stored in internal B-tree nodes specified by the
rate field of their struct x1f4_qsrate_type * argument is to be
observed.
General library:
See Fixed Size Data Sequence Library.
call data structure size retriever:
extern int x1f4_call_qsrate(unsigned *);
case data structure state retriever:
extern int x1f4_case_qsrate(void *);
dash data deletion routine:
extern int x1f4_dash_qsrate(void *, unsigned, unsigned);
ever record retriever:
extern int x1f4_ever_qsrate(void *, void **);
fast sequence constructor routine:
extern int x1f4_fast_qsrate(void *, unsigned, struct x1f4_qsrate_type *);
fini sequence regular destructor routine:
extern int x1f4_fini_qsrate(void **);
flat sequence destructor routine:
extern int x1f4_flat_qsrate(void *);
flip order reversal routine:
extern int x1f4_flip_qsrate(void *);
flow data structure consistency check routine:
extern int x1f4_flow_qsrate(void *);
head plain data insertion routine:
extern int x1f4_head_qsrate(void *, void **);
high data purge routine:
extern int x1f4_high_qsrate(void *);
init sequence regular constructor routine:
extern int x1f4_init_qsrate(void **, unsigned, struct x1f4_qsrate_type *);
join sequence consolidation routine:
extern int x1f4_join_qsrate(void *, void *);
lead record retriever:
extern int x1f4_lead_qsrate(void *, void **);
lime data traversal routine:
extern int x1f4_lime_qsrate(void *, void *, int (*)(void *, void *));
line data copy routine:
extern int x1f4_line_qsrate
(void *, void *, int (*)(void *, void *, const void *),
int (*)(void *, void *), void *);
mind data deletion routine:
extern int x1f4_mind_qsrate(void *);
miss plain data deletion routine:
extern int x1f4_miss_qsrate(void *, unsigned);
over data traversal routine:
extern int x1f4_over_qsrate
(void *, unsigned, unsigned, void *, int (*)(void *, void *));
peek plain data retrieval routine:
extern int x1f4_peek_qsrate(void *, unsigned, void **);
pull data deletetion routine:
extern int x1f4_pull_qsrate
(void *, unsigned, void *, int (*)(void *, void *));
push plain data insertion routine:
extern int x1f4_push_qsrate(void *, unsigned, void **);
rand data shuffling routine:
extern int x1f4_rand_qsrate(void *);
size size retriever:
extern int x1f4_size_qsrate(void *, unsigned *);
slip data deletion routine:
extern int x1f4_slip_qsrate(void *);
star sequence resizer routine:
extern int x1f4_star_qsrate(void *, unsigned);
swap data swap routine:
extern int x1f4_swap_qsrate(void *, void *);
tail plain data insertion routine:
extern int x1f4_tail_qsrate(void *, void **);
tear sequence partition routine:
extern int x1f4_tear_qsrate(void *, unsigned, void *);
text plain copy routine:
extern int x1f4_text_qsrate
(void **, void *, int (*)(void *, void *, const void *),
int (*)(void *, void *), void *);