A collection of advanced data structure implementations in Java, including an extended Skip List, various hashing functions, hash tables, and a custom-designed data structure.
This project contains several major parts:
- Indexable Skip List: An extension of the classic skip list supporting efficient
rankandselectoperations. - Hashing Functions: Modular Hashing and Multiplicative Shifting Hashing implementations.
- Hash Tables: Separate chaining and open addressing (probing) methods for collision resolution.
- Custom Data Structure: Designed to support
insert,delete,contains,rank,select, andrangequeries under specific complexity constraints.
- Java 17
- Data Structures and Algorithms
- Probability-based data structures
- Hashing theory
- Runtime and space optimization
- Java 17 installed
- A terminal/command line tool
Navigate to the src/ directory and compile all Java files:
javac *.javaThis will compile all classes at once.
This project is a collection of Java classes for data structures and hashing experiments. It does not include a default Main class to run directly. You can:
- Write your own test classes that use these classes.
- Use the provided utilities (e.g., HashingExperimentUtils) to run experiments.
- Integrate these structures into other Java projects. If you want a simple test yourself, you can write a new TestMain.java with a main() function that creates and tests these classes.
- Skip List with probabilistic height generation and fast search/update.
- Hash tables with different collision strategies and performance analysis.
- Efficient and scalable data structure design.
- Emphasis on modular and clean code architecture.
- Advanced Data Structures Implementation
- Algorithm Design and Analysis
- Java Object-Oriented Programming
- Hashing Techniques
- Space-Time Tradeoff Optimization