基于三国人物关系数据,运用c语言,构建三国人物关系图。图的顶点为三国人物。边为人物关系(如儿子、义弟、主公)。本题需要实现在图结构上做的各种人物关系查询。人物的属性包括:人名、所属国。 如刘备(刘备,蜀国) 【功能】 1.基于邻接表构建三国人物关系图,并能输出展示邻接表,保存在文件”TRKGraph.txt”中。文件格式如下: 刘备-->张飞--->关羽--->赵云 注意:图的构建,应该先整理图中的顶点数据,即要整理所有三国人物数据作为图顶点。 2.统计人物关系数量最多的前10个三国人物及其所属国。 3.输入2个人物,查找2个人物之间所有关系。基于图的深度遍历,展示关系路径。并能说明最短路径是哪条。答辩时候展示:有关系的人物。无关系的人物。 4.智能问答。输入荀彧的主公的儿子是谁?能输出关系路径,并给出答案。
时间: 2024-03-30 08:33:36 浏览: 143
好的,让我来回答你的问题。
对于第一个问题,需要使用邻接表来构建三国人物关系图,具体的实现可以使用C语言来完成。首先需要整理出所有的三国人物数据作为图顶点,然后根据人物之间的关系建立边,如儿子、义弟、主公等,最终构建出完整的图。可以通过遍历邻接表来输出展示三国人物关系图,同时将邻接表保存在文件"TRKGraph.txt"中。
对于第二个问题,需要统计人物关系数量最多的前10个三国人物及其所属国。可以通过遍历邻接表,统计每个人物的关系数量,并将结果按照关系数量降序排列,最终输出前10个人物及其所属国。
对于第三个问题,需要输入2个人物,查找2个人物之间所有关系。可以基于图的深度遍历,展示关系路径,并说明最短路径是哪条。首先需要判断输入的2个人物是否在图中存在,如果存在,则利用深度遍历算法来找到2个人物之间的所有关系路径,并输出最短路径。
对于第四个问题,需要实现智能问答功能。输入荀彧的主公的儿子是谁?程序需要能够根据输入的问题,找到荀彧、荀彧的主公、荀彧的主公的儿子之间的关系路径,并输出答案。
阅读全文