Skip to content

Simple implementation of quad tree and queries such as knn, range query, bulkloading.

Notifications You must be signed in to change notification settings

kushrm2803/Quad_Tree

 
 

Repository files navigation

Quad_Tree

Team Members

  • Dhruv Gupta (2022CSB1079)
  • Kush Mahajan (2022CSB1089)
  • Nishant Patil (2022CSB1097)

Instructor : Dr. Anil Shukla

Mentoring TA : Soumya Sarkar

project name : QuadTree With Optimizations

Summary

In our project, we learned a special type of data structure called a Quadtree.Think of it as a tree where each branch has exactly four smaller branches. We use Quadtrees to divide a two-dimensional space into four parts. This helps us organize and find things efficiently in space-related tasks.This helps us organize and find things efficiently in space-related tasks.The structure pf QuadTree enables efficient spatial indexing and is particularly valuable in applications requiring spatial representation.in our project we also learned some applications of QuadTree like image compression,spatial indexing.

We focused on three main things in our project:

1.Range Query : This involve searching for points within a specific area. By using this we can find all the points within a certain space.

2.Nearest Neighbor Search : This helps us find what's closest to a specific point on a map.

3.Bulk Loading Algorithm : This algorithms help to make quadtree work Fast. By using this algorithm we can create Quadtrees structures that are balanced and use torage space effectively, making our searches faster and more efficient. This is important for making Quadtree-based applications work well.

Our project basically explores working of QuadTree and how Quadtrees can be super helpful in organizing maps and quickly finding stuff on them.

How to run

1.open the terminal or command prompt.
2.Navigate to the directory containing your source code files.
3.Compile the main.cpp file in terminal using command "g++ main.c"
4.After successful compilation, run the program by using the command "./a.out".
5.After running the programe, Follow the on-screen prompts to perform various operations with the quad tree
6.You can use following command for doing various oprations in QuadTree :

    	i      for Inserting a single point.
	mi     for Performing bulk insertion.
	rand   for Inserting 10 random points.
	rquery for Performing a range query.
	knn    for Performing a k-Nearest Neighbor search.
	help   for Displaying the list of available commands.	
	exit  for Quit the program

About

Simple implementation of quad tree and queries such as knn, range query, bulkloading.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 100.0%