Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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
Tree 如何做二叉树?_Tree_Binary Tree - Fatal编程技术网

Tree 如何做二叉树?

Tree 如何做二叉树?,tree,binary-tree,Tree,Binary Tree,我该怎么开始呢 程序应首先提示用户输入文件名。那么,打开那个 文件,并根据需要使用它来执行以下操作:使用存储在每个节点上的二进制搜索树 一个字符串和它找到的节点数量的计数。然后,检查给定的文件 (文本文件)并从第一个字母开始,将其放在树上,计数为1。那就换下一个 字符,将其推送到树上,依此类推。如果您尝试添加具有 已添加(例如,将“a”推到已具有“a”增量的树上) 该节点的计数。 完成后,再次浏览该文件并获取所有连续出现的两个字母 然后将它们推到树上。再次,如果有匹配项,则增加计数。 重复这个过

我该怎么开始呢

程序应首先提示用户输入文件名。那么,打开那个 文件,并根据需要使用它来执行以下操作:使用存储在每个节点上的二进制搜索树 一个字符串和它找到的节点数量的计数。然后,检查给定的文件 (文本文件)并从第一个字母开始,将其放在树上,计数为1。那就换下一个 字符,将其推送到树上,依此类推。如果您尝试添加具有 已添加(例如,将“a”推到已具有“a”增量的树上) 该节点的计数。 完成后,再次浏览该文件并获取所有连续出现的两个字母 然后将它们推到树上。再次,如果有匹配项,则增加计数。 重复这个过程直到你达到一个‘K’长序列。

我不会做任何编码(因为你没有说语言等)。但是我想我可以帮你做这个。我只是想让你知道C++的基础知识。 程序应首先提示用户输入文件名

这很简单(只是一些cin)

然后,打开该文件

同样,只需语言实现—只需使用fstream读取文件

使用一个二进制搜索树,该树在每个节点上存储一个字符串和它找到的该节点数量的计数

尝试按写入方式实现BST,但在每个节点中存储一些int,它是值和值作为char*重复的计数器

然后,检查给定的文件

现在逐字符扫描流字符(然后是2chars,3chars,…kchars),并在其上使用tree.add(char*)

您的树应该如下所示:

class Tree{
   Node * head;
   void Add(char*);
};
和您的节点:

class Node{
   char* data;
   Node* right;
   Node* left;
   int counter;
};
下面是程序的“伪代码”:

  • 读取文件名(字符串名)和(int k)
  • 打开文件F=打开(名称)
  • 开放流S(F),int i=1,初始树T

  • 当(我向一名CS学生寻求帮助?读一本关于树木和编程的书会很好。用你的作业打扰我们不是一个好的开始。特别是你的讲师可能会看到这一点,并对这种方法感到非常愤怒。如果你甚至不知道自己在做什么,做这个作业有什么意义?有人要去吗真的帮我开始了吗?我不是要你做这件事。这是C++。谢谢。我们能在PM中多说吗?我希望你能重写你的问题或者开始一个新的问题。你可以把你的任何代码或某些问题都贴在BSTS上。这样会很有帮助。