Coder Social home page Coder Social logo

zyxwvo / queue-and-hashtable-dsa Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hoangsonww/queue-and-hashtable-dsa

0.0 0.0 0.0 75 KB

๐Ÿ”‘ This repository focuses on hash tables and priority queues, highlighting their use in text analysis, word stats generation, and managing a movie review user database. It includes techniques for efficient text tokenization, word frequency analysis, prioritized data handling, and more!

Java 100.00%

queue-and-hashtable-dsa's Introduction

WordStat and CMDb Applications of PriorityQueues and HashTables

Overview

This Java project comprises several tools and utilities for text analysis and movie database management. It features the WordStat application for analyzing word frequencies within text, the CMDb (Case Movie Database) for managing user profiles and favorite movies, and supporting utilities including a Hash Table for efficient data storage and a Priority Queue for ordered data management.

Components

WordStat

  • Functionality: Analyzes text to compute statistics like word frequencies, ranks, and collocations.
  • Use Cases: Useful for linguistic research, SEO optimization, and understanding text composition.

CMDb

  • Functionality: Manages user profiles, including movie ratings and group dynamics.
  • Use Cases: Ideal for social movie recommendation systems, user engagement analysis, and community-driven movie discussions.

Supporting Utilities

  • Hash Table: Implements separate chaining for collision resolution, offering efficient data storage and retrieval.
  • Priority Queue: Facilitates ordered management of data based on custom priority rules.

Additional Components

  • CMDbProfile: Represents user profiles, handling movie ratings and preferences.
  • Tester.java: Provides JUnit testing for the project, ensuring reliability and correctness of implementations.

Prerequisites

  • Java Development Kit (JDK) 11 or higher.

Setup and Execution

  1. Compilation: Compile the Java files using your preferred development environment or the command line.
  2. Running WordStat:
    • For file input: java WordStat "path/to/textfile.txt"
    • For direct string input: java WordStat "string1 string2 string3 ..."
  3. Running CMDb: Simply initiate the CMDb application with java CMDbGroup, and follow the interactive prompts or integrate it into a larger project.

Features and Usage

WordStat

  • Obtain word frequency reports.
  • Identify the most and least common words.
  • Analyze collocations around a base word.

CMDb

  • Register user profiles and manage movie ratings.
  • Group users and analyze collective movie preferences.
  • Recommend movies based on group favorites or random selections.

Hash Table & Priority Queue

  • Efficiently store and manage large sets of data with customizable handling for collisions (Hash Table) and data priorities (Priority Queue).

Development and Contribution

Contributions are welcome. Please adhere to conventional coding standards and provide tests for new features or bug fixes. Use pull requests for submissions.

Testing

Utilize the provided MainTester.java and Tester.java for JUnit testing, ensuring that new contributions do not break existing functionalities.

License

This project is open-source, available for modification and distribution under standard open-source licenses.

Contact

For bug reports, feature requests, or contributions, please open an issue or pull request on the project's repository.

queue-and-hashtable-dsa's People

Contributors

hoangsonww avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.