Giter Site home page Giter Site logo

hash_table's Introduction

Hash Table Implementation

Objectives

  • To implement a hash table.
  • Using quadratic probing to manage hash collisions.
  • To implement an incremental re-hashing algorithm
  • To lazy deletion in hash table

The application starts with a hash table of size MINPRIME. After certain criteria is reached it will switch to another table larger table and transfer all data nodes from the current table to the new one incrementally. That is once the switching happens it transfers 25% of the nodes in the old table and at every consecutive operation (insert/remove) It continues to transfer 25% more of the data from the old to table to the new table until all data is transferred.

Criteria for re-hashing

  • After an insertion, if the load factor becomes greater than 0.5.
  • After a deletion, if the number of deleted buckets is more than 80 percent of the total number of occupied buckets

During a rehashing process the deleted buckets will be removed from the system permanently. They will not be transferred to the new table

Read instructions.pdf for detailed problem statement.

To compile the code,

make all

To run the program,

./run

hash_table's People

Contributors

shackleb0lt avatar

Stargazers

 avatar

Watchers

 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.