微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Pascal二进制搜索树,其中包含链接列表

如何解决Pascal二进制搜索树,其中包含链接列表

我需要使用递归函数搜索内容,因此它会返回布尔响应,具体取决于是否找到我读取的值。我不知道如何使它工作。这是我定义的树的类型:

  text=string[30];
  list=^nodeL;
  nodeL=record
    title:text;
    ISBN:text;
    next:list;
  end;
  tree=^nodeT;
  nodeT=record
    cod:text;
    l:list;
    LC:tree;
    RC:tree;
  end;

解决方法

这看起来像是“请为我完成我的任务”,我不会这样做。我会尽力帮助您完成任务。

我不清楚您的任务是什么,所以我将不得不做出一些猜测。

我认为您的任务是编写一个递归函数,该函数将搜索树并根据是否找到值(函数的输入)返回布尔响应。

我不知道树是如何获得其内容的。您说的是,您定义了树类型,所以我猜这意味着您没有得到已经包含内容的树。因此,至少出于测试目的,您将必须编写代码以将内容添加到树中(以便可以对其进行搜索)。

我不知道您应该创建哪种树。通常,树有关于项目如何在树中排列的规则。常见的树类型是二叉树,其中对于每个节点,左节点(如果存在)中的项目“小于”右节点(如果存在)中的项目。在向树中添加项目(即内容)时,您可能会需要此。

我认为您需要更改树节点nodeT的定义(我可能错了)。树是一种链表,它通常不包含链表。通常,每个树节点都包含一个数据项(而不是一个项列表)。

如果我正在做此作业(并学习用Pascal编程),我将按照以下顺序进行以下操作:

  1. 确保我了解链表(至少是单链链表)。编写至少一个程序以将数据添加到链接列表,然后搜索 (不要使用递归)。

  2. 确保我了解递归。阅读一些有关递归的教程(不使用链表或树)。例如“ First Textbook Examples of Recursion”。编写至少一个使用递归的程序(不要使用链接列表或树)。

  3. 确保我了解树木。阅读有关树的一些教程。例如,“ Binary Search Trees

  4. 执行任务。

P.S。您可能希望将文本类型的名称从“文本”更改为,因为在Pascal中,“文本”是文本文件的预定义类型的名称。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。