在JAVA中搜索树时返回多个结果

时间:2014-05-02 08:19:04

标签: java arrays recursion binary-tree

我有一个学校项目要求我在JAVA中构建一个包含学校课程目录的数据库模拟器。

我有一切正常但搜索。搜索方法需要首先搜索索引(这是一个BSTree ADT)并返回一个int数组(索引到数据库数组中的完整行数据),如果有的话。

如果您熟悉SQL术语,我只需要支持模仿SQL中“LIKE”说明符的搜索查询,即“LIKE'Intro%'”,它可以返回与谓词“Intro”匹配的多个结果

有没有办法以递归方式执行此操作,就像在这样遍历Tree inOrder一样?

这是我的初稿尝试:

public int[] select(IndexNode localRoot, String selectQuery, int[] resultSet) {

    if (localRoot != null) {
        resultSet = select(localRoot.getLeftChild(), selectQuery, resultSet);

        // get the nth number of characters from the data
        String thisResult = localRoot.getData().substring(0, selectQuery.length());

        // and compare it to the searchQuery
        if (selectQuery.compareToIgnoreCase(thisResult) == 0)
            // add this current local root's index to the return int array

        resultSet = select(localRoot.getRightChild(), selectQuery, resultSet);

    } // End root not null

    return resultSet;
} // End select() method

0 个答案:

没有答案