Screen Shot 2018-04-13 at 5.55.59 PM.png

Search Engine

This project was done in partial fulfillment for the Advanced Computing Concepts. The aim of the project was to allow students apply the concepts learned in class to a real system such as a Web search engine. This was a group project of five (5) members, and I took the role of the lead developer.

A Search Engine that crawls through a finite number of offline web pages converted to text files using the JSoup's HTMLtoText class, and make comparisons for the words using pattern matching and build a dictionary of word frequency using a hashMap. The QuickSelect selection algorithm to sort the data stored in the hashMap in terms of the word frequencies associated each files. We also implemented a splay tree to keep track of recent searches

Technology

  • Java
  • Java SWING (GUI)
  • Ecclipse

Data Structures and Algorithms Implemented

  • Tries (Symbol tree)
  • Pattern Matching (Java regex)
  • QuickSelect (Sorting)
  • HashMap (Key, Value)
  • SplayTree