Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为了解决具有多个链接集的查询搜索过程,应该使用什么结构_Python_C++_Data Structures_Graph_Tree - Fatal编程技术网

Python 为了解决具有多个链接集的查询搜索过程,应该使用什么结构

Python 为了解决具有多个链接集的查询搜索过程,应该使用什么结构,python,c++,data-structures,graph,tree,Python,C++,Data Structures,Graph,Tree,设e={e_1,e_2,e_3,…,e_k}是一组实体 每个实体e指向两个集合。第一组是变量e-->{v_1,v_2,v_3,…,v_i}的集合。集合的大小因实体而异。第二组是事实集,其中e-->{f_1,f_2,f_3,…,f_j} 每个事实f指向一组链接f-->{l_1,l_2,l_3,…,l_m}。链接集的大小因事实而异。 实体、变体、事实和链接由字符串表示 巴黎是一个实体,其变体有巴黎希尔顿、巴黎纽约等。事实上,巴黎是一座城市,位于法国。它与美国首都华盛顿特区相连 假设我有一个查询,我想

设e={e_1,e_2,e_3,…,e_k}是一组实体

每个实体e指向两个集合。第一组是变量e-->{v_1,v_2,v_3,…,v_i}的集合。集合的大小因实体而异。第二组是事实集,其中e-->{f_1,f_2,f_3,…,f_j} 每个事实f指向一组链接f-->{l_1,l_2,l_3,…,l_m}。链接集的大小因事实而异。 实体、变体、事实和链接由字符串表示

巴黎是一个实体,其变体有巴黎希尔顿、巴黎纽约等。事实上,巴黎是一座城市,位于法国。它与美国首都华盛顿特区相连

假设我有一个查询,我想搜索前面的链接集,以查找该查询是否存在

首先,我从搜索es集合开始。我想一步一步地做。如果查询在集合e_1中不存在,那么我想搜索e_1指向的VSET。VSET中的搜索也会逐步完成。如果在v_1集合中找不到查询,则必须搜索其他v集合。如果在任何VSET中都找不到该查询,我必须转到事实集。搜索也是一步一步完成的。我从f_1系列开始。如果在f_1中找不到查询,我将向下移动到链接。如果在任何链接中都找不到查询,我会向上搜索其他事实。如果在任何事实及其链接中都找不到查询,那么我向上移动第二个实体和e_2,依此类推。 我如何为这种结构建模? 我还应该使用什么搜索策略? 我必须考虑到时间的复杂性