[英]Should data in B+Tree be ordered and how much data should I be loading at a time?
在我的 B+Tree 中,我在葉級別對鍵進行了排序,並帶有指向單獨數據文件的數據指針。 這個問題指的是這個數據文件中的數據順序。 正如我所見,訂購時: 讀取時將所有數據加載到塊中更容易,因為數據與其鍵的存儲順序相同,因此您只需檢查相鄰數據指針是否在同一塊中。 訪問大量相鄰數據或執行范圍時 ...
[英]Should data in B+Tree be ordered and how much data should I be loading at a time?
在我的 B+Tree 中,我在葉級別對鍵進行了排序,並帶有指向單獨數據文件的數據指針。 這個問題指的是這個數據文件中的數據順序。 正如我所見,訂購時: 讀取時將所有數據加載到塊中更容易,因為數據與其鍵的存儲順序相同,因此您只需檢查相鄰數據指針是否在同一塊中。 訪問大量相鄰數據或執行范圍時 ...
[英]OutOfMemoryError when trying to add elements from a B+Tree to an ArrayList
我正在嘗試遍歷 B+ 樹並將葉子中的元素添加到 ArrayList 中,代碼如下: 它的作用是檢查節點是內部節點還是葉節點的實例。 如果它是一個內部節點,它會遞歸地調用 function 及其每個子節點。 如果它是葉節點,則它將值添加到 ArrayList 中。 但是,在運行此功能時,我最終得到了 ...
[英]How to store array index (an integer) as keys in a B+tree?
我已經查看了 GitHub 上 JavaScript 中B+樹的每個示例,並嘗試將其中的一個簡化為半可讀代碼。 但是我仍然不明白每個內部節點的keys數組的結構是什么。 鑰匙長什么樣? 您如何在 get/insert/remove 算法中使用它們? 特別是對於這個問題,我想將 B+tree 視為外 ...
[英]Is this a bug in Database System Concepts 6th edition-Figure 11.11 Querying a B+-tree.-procedure printAll(value V)?
在 Database System Concepts,第 6 版,第 11 章,在“圖 11.11 查詢 B+-樹”中,有一個過程printAll procedure printAll(value V) 。 它用於打印搜索鍵值為V的所有記錄(可以有重復)。 它調用find(V) ,它返回具有鍵V的 ...
[英]The problem of designing, inserting and deleting of the B+ tree values
我有關於我的作業的問題: 1)首先,假設4個指針可能適合一個內部節點,每個葉子節點可以存儲4個鍵值,B+樹應該用以下值構造: 2、3、5、7、11、17、19、23、29、31。 通過 該站點,我收到了下面的樹。 我不確定它是否正確,因為在葉子節點中,可能有三個鍵值: 問題從插入和刪除開始。 ...
[英]why we are not saving the parent pointer in B+ Tree for easy upward traversal in tree?
如果在拆分和插入過程中添加指向父節點的指針以簡化操作,這會影響很多。 然后,通用節點將看起來像這樣- class BPTreeNode{ bool leaf; BPTreeNode *next; BPTreeNode *parent; //add-on std ...
[英]Will key in the index be removed after deletion in B Plus tree?
我對B +樹中的刪除有些困惑。 我在Google中進行了大量搜索,發現要刪除的鍵出現在索引中時,有兩種實現方式: 刪除索引中的鍵 將密鑰保留在索引中 來自https://www.javatpoint.com/b-plus-tree-deletion的算法使用第一種方法 ...
[英]Optimized B+ tree implementation
我正在開發一個高性能的單線程 java 應用程序。 我的項目依賴於 B+ 樹。 因為性能非常關鍵,我寧願不自己實現它,而是使用優化的公共實現。 通過這種方式,我更加確信實現是完全優化的。 但是我在 Github 或任何其他類似的在線資源上找不到合適的實現。 哪里可以找到寫得很好的java B+樹代 ...
[英]Can B+tree search perform better than Binary Search Tree search where all keys-data of the leaf nodes are in the memory?
假設我們正在內存中實現一個B +樹,鍵在內部節點上,而鍵數據對在葉節點上。 如果B + tree的扇出為f,則表示B +樹的高度為log_f N,其中N為鍵的數量,而相應的BST的高度為log_2N。如果我們不進行任何磁盤讀取並寫入,B + tree搜索性能能否優於Binary Search ...
[英]CSharpTest.Net.Collections.BPlusTree RecentCache bug?
我使用B Plus Tree的這種實現已有一段時間了。 我注意到“最近”緩存存在錯誤。 錯誤產生的方式如下: 我添加一些KVP,並提交樹。 我添加了一些KVP並回滾了樹。 我再添加一些KVP並提交樹。 我重新啟動我的應用程序並重復步驟1,2和3 重新 ...
[英]Protobuf-net asking for TypeModel.CS when used with Generics for deserialization
我有數十億個對象試圖在序列化為HDD的B + Tree中構造它們。 我將BPlusTree庫用於數據結構,並將protobuf-net用於序列化/反序列化。 在這方面,我將類定義為: 並且我定義我的序列化器/反序列化器如下: 然后,我將它們全部用於B + Tree( 此庫 ) ...
[英]What is a B* tree and how does it differ from a B tree and a B+ tree?
我似乎找不到B *樹是什么的可靠答案。 我知道B樹在其內部節點和葉節點中存儲密鑰和數據,而B +樹在其內部節點中將密鑰存儲和葉節點中存儲數據,但是B *樹有何不同? ...
[英]Fast Random file access in java
我已經在一個文件偏移量為我的葉子節點值的數據文件上建立了一個類似於非聚集B +樹索引(在字段K)上的數據結構。 現在,對於任何查找,我需要從文件的隨機點讀取。 據我了解,Java上的大多數I / O方法都針對批量查找進行了優化。 但是由於我已經在另一個字段上有了聚集索引,所以對K進行排序不 ...
[英]Is this B+ Tree Valid?
在B +樹中,是否可以存在一個非葉節點,以便其鍵值被刪除? 這意味着B +樹在其中間非葉節點中具有一個值,但在其任何葉節點中均沒有。 考慮以下結構。 我在研究B +樹時碰到了這個問題。 在該結構13中不是葉節點。 但這是一個非葉節點。 (實際上,它已在前面的說明中刪除。 圖片的鏈 ...
[英]Fully Persistent B+ Tree
我正在嘗試實現B +樹(在C語言中),每個鍵都是一些數據(int / float / string),相應的值是一個列表,其大小不固定。 我想將此樹存儲在一個文件中,並在需要時稍后訪問。 您可以考慮實施如下: 每個搜索關鍵字對應於文件中的頁面和 每個頁面都包含與該鍵對應 ...