Giter VIP home page Giter VIP logo

ds-project-bankfinder's Introduction

DS Project

This repository was created for Data Structures course (Fall 2021 held at SBU - instructed by Dr.Abin) project called BankFinder.


Bank Finder Using Data Structures

Implementing KD-Tree and Trie-Tree Data Structures in a example application

About The Project

Imagine we are living in a 2D planar world. There are a few banks in this world that are points in the plane. Each bank has a name and coordinates X and Y.

In this project a few neighborhoods and banks are given and there are some queries regarding the banks.

The program should be capable of:

  • Adding a neighborhood: Given a name and coordinates of a rectangle a neighborhood is added.
  • Adding a bank: Given the coordinates of the bank and a name the bank should be added if there has not been a bank at that coordinates before.
  • Deleting banks: Given a coordinate if there exists a bank the program should delete it.
  • Printing all banks that belong to a special neighborhood.
  • Given the name of a specific bank print all branches of the banks having the same name.
  • Given our current coordinates print the nearest bank available.
  • Given our current coordinates and a radius R print all of the banks within the circle
  • Given our current coordinates and the name of a bank print the nearest branch of that bank available
  • Printing the bank with the most number of branches

Building a KD-tree has O(N.log(N)) time complexity and nearest neighbor search has O(log(N)) time complexity. Used Trie for searching banks by their name which has O(W.L) time complexity where W is the number of the words and L is the average length of the words.

(back to top)

related linkes

K-dimensional tree in wikipedia

Trie tree in wikipedia

ds-project-bankfinder's People

Contributors

amirhossein-izadi avatar

Stargazers

Yazdan Jahedi 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.