将文件中的单词放入二叉树(C)

时间:2017-01-15 16:41:21

标签: c list binary-tree

我目前正在大学学习C语,但由于某些原因,这对我来说太难了。我无法找到一个简单的一步一步的指南,互联网上的所有内容都是如此复杂,没有太多解释。 我应该写这个程序:

  

'使用二进制树和列表编写一个读取文本文件的程序,并按字母顺序将所有单词以及出现该单词的行号打印到输出文件中。'

我只是不知道如何开始它。我可以打开文件,从命令行运行它,但我不知道如何创建二叉树,从文件中获取单词并将它们放在那里,然后在二叉树中创建一个列表。我发现的所有例子都是如此不同,以至于我不知道如何重写它们以便它们适合我。 有人可以帮忙吗?即使只是几行代码可以指导我正确的方向也会有所帮助!

1 个答案:

答案 0 :(得分:0)

对于初学者来说,它是 binary-search tree ,(特殊类型的二叉树),这是给定问题所必需的。

binary search tree是一个二叉树,其中填充了可比较的对象,例如数字。给出两个数字xy的含义,可以毫不含糊地回答以下三个boolean conditions

x greater than y

x less than y

x equal to y

现在binary search tree建立在上述布尔条件的基础上。这里的类比是单词可比较,它决定典型的牛津字典中的顺序。与apple < box类似,apple按字母顺序排在box之前。

如何按字母顺序排列?

填充完树后,一个简单的 inorder traversal 将完成剩下的工作,即按字母顺序列出单词。只记得还有行号的变量,它可以在构建树的同时存储,以后可以在按顺序打印单词时检索。

将代码作为练习。