SEN2212 Lab Project

Search efficiently for strings in large text files.

Utilize binary search trees and linked-lists to search efficiently for strings in large text files.

Node.java

Node is a custom object used in both LinkedList and BinarySearchTree.

class Node<T extends Comparable<T>> {
    T object;
    Node<T> left;
    Node<T> right;
    
    Node(T object) { ... }
    Node(T object, Node<T> left, Node<T> right) { ... }
}


LinkedList.java

Generic linked list data structure.

class LinkedList<T extends Comparable<T>> {
    Node<T> head;
    Node<T> tail;
    int size;
    
    void append(T o) { ... }
    
    @Override
    String toString() { ... }
}


BinarySearchTree.java

Generic binary search tree data structure.

class BinarySearchTree<T extends Comparable<T>> {
    Node<T> root;
    int size;
    
    void insert(T o) { ... }
    void inOrder(Node root) { ... }
    void postOrder(Node root) { ... }
    void preOrder(Node root) { ... }

    private Node<T> createNewNode(T o) { ... }
}



Word.java