0

我试图使用调用这两种方法来恢复和保存,以在 ADD、DELETE、FIND 和 process() 的接口之后将二叉搜索树保存到文件中是处理这些操作的方法。我是如何尝试进行这两个恢复和保存的。

我完全迷失了如何实施我发现的这个解决方案:

http://leetcode.com/2010/09/saving-binary-search-tree-to-file.html

                     private Menu() {
                Interface_1();
            // restore();
            process();
            // save();
               }


    private BinarySearchTree<Person, String> phoneBook;


     private void add(String takeName, String takePhone) {
            if (pBook.add(takeName, takePhone)) {
            System.out.println(String.format("add(%s, %s) Operation Succeded.",
                            takeName, takePhone));
                    } else {
                        System.out.println(String.format("add(%s, %s) Operation Failed.",
                    takeName, takePhone));
    }
}


           private void add(String takeName, String takePhone) {
    if (pBook.add(takeName, takePhone)) {
        System.out.println(String.format("add(%s, %s) Operation Succeded.",
                takeName, takePhone));
    } else {
        System.out.println(String.format("add(%s, %s) Operation Failed.",
                takeName, takePhone));
    }
}
4

1 回答 1

0

请原谅我的理解,但是您面临的问题是如何在其他地方重建您的树?如果是这样,那么您可以使用 Inorder 和 Postorder/Preorder 遍历将树保存在文件中,然后再重建它。这是一个通用过程,甚至可以用于二叉树,因此 BST 甚至可以以相同的方式重建。为此,进行中序和前序遍历并将它们保存到某个文件中,然后重构。您可以查看以下示例,了解如何重构

http://www.geeksforgeeks.org/construct-tree-from-given-inorder-and-preorder-traversal/

希望能帮助到你。

BR,应该克服。

于 2013-11-09T18:08:27.227 回答