@@ -0,0 +1,1061 @@
+package seedu.address.model.datastructure;%0A%0Aimport java.util.HashSet;%0Aimport java.util.Set;%0A%0A/**%0A * This class will handle the partial search algorithm and the search function itself%0A */%0Apublic class PartialSearch %7B%0A%0A    private final Set%3CString%3E infixes = new HashSet%3C%3E();%0A%0A    private String itemToSearch;%0A%0A    public PartialSearch(String itemToSearch) %7B%0A        this.itemToSearch = itemToSearch;%0A        prepareSearch();%0A    %7D%0A%0A    /**%0A     * This method prepares the infix set for search%0A     */%0A    public void prepareSearch() %7B%0A        for (int i = 0; i %3C itemToSearch.length(); i++) %7B%0A            for (int j = i + 1; j %3C= itemToSearch.length(); j++) %7B%0A                infixes.add(itemToSearch.substring(i, j).toLowerCase());%0A            %7D%0A        %7D%0A    %7D%0A%0A    /**%0A     * This method does the search by matching the hash set for match%0A     * @param searchString%0A     * @return true if exist and false if otherwise%0A     */%0A    public boolean search(String searchString) %7B // O(1) search%0A        return infixes.contains(searchString.toLowerCase());%0A    %7D%0A%7D%0A

Add partial search algorithm and data structure