[英]C data structure suitable for fast search and simple add/remove
如問題標題中所述,我需要一種適合快速高效搜索的數據結構。 數據結構還應該能夠向/從數據結構內的任何位置添加/刪除元素。
目前,我正在使用鏈接列表。 但是問題是我應該遍歷列表以查找所需的元素。 常規搜索算法(二進制搜索,跳轉搜索和...)不能在鏈接列表中直接使用,因為不能隨機訪問列表元素。 對這些算法中所需的列表元素進行排序也是一個問題。 另一方面,我無法使用數組,因為很難在任何所需的索引中添加/刪除元素。
我一直在尋找鏈表中的搜索算法,然后來到了“跳過列表”。 現在,我在這里問我的情況是否有更好的數據結構,或者對於鏈表是否有更好的搜索算法。
我會使用AVL二進制搜索樹
有關二進制搜索樹的示例,請查看https://www.geeksforgeeks.org/avl-tree-set-1-insertion/和https://www.geeksforgeeks.org/avl-tree-set- 2刪除/
非常詳細,有C代碼和架構。
搜索效率很高,它允許您添加和刪除值。 它適用於數值和某些字符實現(例如字典)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.