|
b-tree-plus-alpha
|
A dynamic data structure supporting range search [Unchecked AI's Comment]. More...
#include <dynamic_wavelet_tree_for_range_search.hpp>
Classes | |
| class | XRankIterator |
| class | YRankIterator |
Public Member Functions | |
| void | clear () |
| uint64_t | get_node_x_pos_in_bit_sequence (int64_t h, uint64_t h_node_id) const |
| uint64_t | rank0_in_bit_sequence_of_node (uint64_t h, uint64_t h_node_id, uint64_t node_x_pos_in_bit_sequence, uint64_t i) const |
| uint64_t | rank1_in_bit_sequence_of_node (uint64_t h, uint64_t h_node_id, uint64_t node_x_pos_in_bit_sequence, uint64_t i) const |
| void | recursive_add (int64_t h, uint64_t h_node_id, uint64_t x_rank, uint64_t y_rank, std::vector< uint64_t > &output_path) |
| void | add (uint64_t x_rank, uint64_t y_rank) |
| void | remove (uint64_t y_rank) |
| uint64_t | get_upper_size_of_internal_node (uint64_t h) const |
| uint64_t | get_lower_size_of_internal_node (uint64_t h) const |
| void | build_h_bit_sequence (uint64_t h, const std::vector< uint64_t > &rank_elements, std::vector< uint64_t > &output_next_rank_elements, std::vector< uint64_t > &output_next_length_seq) |
| void | rebuild_h_bit_sequence (uint64_t h, uint64_t first_node_id, uint64_t local_h_node_count, const std::vector< uint64_t > &rank_elements, std::vector< uint64_t > &output_next_rank_elements, std::vector< uint64_t > &output_next_length_seq) |
| void | build (const std::vector< uint64_t > &rank_elements, int message_paragraph=stool::Message::NO_MESSAGE) |
| uint64_t | get_bit_count_in_node (uint64_t h, uint64_t h_node_id) const |
| bool | is_unbalanced_node (uint8_t h, uint64_t h_node_id) const |
| void | rebuild_internal_node (uint8_t h, uint64_t h_node_id) |
| void | swap (DynamicWaveletTreeForRangeSearch &item) |
| int64_t | height () const |
| uint64_t | size () const |
| uint64_t | access_x_rank (uint64_t y_rank) const |
| uint64_t | find_leaf_index (uint64_t x_rank) const |
| uint64_t | access_y_rank (uint64_t x_rank) const |
| std::vector< bool > | get_bit_sequence (uint64_t h, uint64_t node_id) const |
| bool | verify () const |
| std::vector< uint64_t > | to_local_rank_elements_in_y_order (uint64_t h, uint64_t node_id) const |
| std::vector< uint64_t > | to_rank_elements_in_y_order () const |
| std::vector< uint64_t > | to_rank_elements_in_x_order () const |
| uint64_t | compute_local_x_rank (uint64_t node_y, uint64_t node_id, uint64_t local_y_rank) const |
| template<typename APPENDABLE_VECTOR > | |
| uint64_t | local_range_report_on_internal_node (uint64_t h, uint64_t node_id, uint64_t x_rank_gap, uint64_t hy_min, uint64_t hy_max, APPENDABLE_VECTOR &out) const |
| template<typename APPENDABLE_VECTOR > | |
| uint64_t | recursive_range_report_on_internal_nodes (uint64_t h, uint64_t node_id, uint64_t node_x_pos, int64_t x_min, int64_t x_max, uint64_t hy_min, uint64_t hy_max, APPENDABLE_VECTOR &out) const |
| template<typename APPENDABLE_VECTOR > | |
| uint64_t | range_report (uint64_t x_min, uint64_t x_max, uint64_t y_min, uint64_t y_max, APPENDABLE_VECTOR &out) const |
| XRankIterator | x_rank_begin () const |
| XRankIterator | x_rank_end () const |
| YRankIterator | y_rank_begin () const |
| YRankIterator | y_rank_end () const |
| void | print_tree () const |
| uint64_t | size_in_bytes (bool only_extra_bytes=false) const |
| std::vector< std::string > | get_memory_usage_info (int message_paragraph=stool::Message::SHOW_MESSAGE) const |
Static Public Member Functions | |
| static uint64_t | _get_upper_size_of_root (uint64_t H) |
| static uint64_t | _get_upper_size_of_internal_node (uint64_t h, uint64_t H) |
| static void | store_to_file (DynamicWaveletTreeForRangeSearch &item, std::ofstream &os) |
| static void | store_to_bytes (DynamicWaveletTreeForRangeSearch &item, std::vector< uint8_t > &output, uint64_t &pos) |
| static DynamicWaveletTreeForRangeSearch | load_from_file (std::ifstream &ifs) |
| static DynamicWaveletTreeForRangeSearch | load_from_bytes (const std::vector< uint8_t > &data, uint64_t &pos) |
A dynamic data structure supporting range search [Unchecked AI's Comment].