pydatastructs icon indicating copy to clipboard operation
pydatastructs copied to clipboard

Add B+ tree data structures

Open robotjellyzone opened this issue 4 years ago • 19 comments

Description of the problem

Example of the problem

References/Other comments

[1] https://en.wikipedia.org/wiki/B%2B_tree

robotjellyzone avatar Mar 13 '20 12:03 robotjellyzone

I would like to work on this issue.

poojasrinivass avatar Mar 14 '20 06:03 poojasrinivass

Hi @poojasrinivass Feel free to start work on this issue. Please see our issue policy to get to know how to work on issues. As you will be adding a new data structure, please go through https://github.com/codezonediitj/pydatastructs/wiki/Plan-of-Action-for-the-Projects for the steps.

czgdp1807 avatar Mar 14 '20 18:03 czgdp1807

@czgdp1807 I would like to participate in gsoc2020 but I can't find the organization's name in the gsoc organizations list.

faizan2700 avatar Mar 27 '20 15:03 faizan2700

is this repository part of gsoc 2020.

faizan2700 avatar Mar 27 '20 15:03 faizan2700

If yes then I will soon submit My API design for this.

faizan2700 avatar Mar 27 '20 15:03 faizan2700

@faizan2700 Are you talking about Google Summer of Code, 2020 or GirlsScript Summer of Code, 2020?

czgdp1807 avatar Mar 27 '20 15:03 czgdp1807

@czgdp1807 google summer of code 2020

faizan2700 avatar Mar 27 '20 15:03 faizan2700

We are not participating in GSoC, 2020 as the organization isn't mature enough. Though we are participating in RGSoC, 2020, the applications for which are open till 30th March, 23:00 UTCA.

czgdp1807 avatar Mar 27 '20 15:03 czgdp1807

@czgdp1807 well RGSOC is for girls. I still want to contribute in this repository ( without any gsoc or rgsoc programme) this repository seems really interesting.

faizan2700 avatar Mar 27 '20 15:03 faizan2700

Sure, you can contribute to this repository. For this issue, some use cases are needed to check if B+ trees are feasible for implementation in Python.

czgdp1807 avatar Mar 27 '20 16:03 czgdp1807

hi i am from girlscript sumer of code 2020 and i wnat to work on this issue. @robotjellyzone

Amitsharma45 avatar Apr 05 '20 08:04 Amitsharma45

Hi @Amitsharma45 yes, you can work on this issue but please discuss the API/your solution first here and send the PR according to PR policy.

robotjellyzone avatar Apr 10 '20 16:04 robotjellyzone

@czgdp1807 Is anybody still working on this?

Disha5harma avatar Apr 12 '20 02:04 Disha5harma

Hi @Disha5harma since there is no reply from @Amitsharma45 so, you can begin to work on this issue. Before that, don't forget to share you API or solution here and also, follow all the PR rules before making a PR

robotjellyzone avatar Apr 12 '20 03:04 robotjellyzone

@robotjellyzone Okay.Thanks.

Disha5harma avatar Apr 12 '20 03:04 Disha5harma

My API design is as follows: leaf_node: This class is to perform operations on leaf nodes attributes:

  • previous_node: for keeping track of previous linked list node in leaf
  • next_node: for keeping track of next linked list node in leaf
  • parent: for keeping track of parent of the respective node
  • order: order of the b+ tree

methods:

  • align : sorts the elements of leaf and splits if required
  • find : to return the elements at specified key
  • split : to split the nodes of leaf if required at specified index
  • delete_item : deletes the element specified at particular key
  • balance : to balance the tree acc. to the order.
  • is_root : checks if the element is parent or not
  • size : returns the size of the leaf

node: for parent nodes or internal nodes almost same functions as for above attributes:

  • previous_node
  • next_node
  • keys
  • children
  • parent
  • order

methods

  • manipulate
  • find
  • add_child
  • change_key
  • split
  • delete_item
  • balance
  • is_root
  • size

class b_plus_tree: for performing operations on whole tree using above functions and classes attributes:

  • order
  • leaves
  • root methods
  • size
  • split
  • align
  • find
  • delete_item

Kindly if this API is suitable for this PR

Disha5harma avatar Apr 18 '20 14:04 Disha5harma

It looks good to me, you can simultaneously propose the PR @Disha5harma , if you are still working on this

robotjellyzone avatar May 06 '20 11:05 robotjellyzone

hi @Disha5harma are you still working on it ! any update ?

robotjellyzone avatar May 30 '20 09:05 robotjellyzone

hello, I am a GSSoC'21 participant can I work on this issue.

mrunalvilas avatar Mar 17 '21 15:03 mrunalvilas