pydatastructs icon indicating copy to clipboard operation
pydatastructs copied to clipboard

Adding suffix tree

Open Arvind-raj06 opened this issue 4 years ago • 39 comments

Suffix Tree

References to other Issues or PRs or Relevant literature

"Fixes #290". See https://github.com/codezonediitj/pydatastructs/issues/290

Brief description of what is fixed or changed

Addition of suffix tree with reference to the pypi project.

Other comments

The code works fine to me, the PR is in count of SWOC and if you find any bug pls ping me.

Arvind-raj06 avatar Jan 31 '21 13:01 Arvind-raj06

Codecov Report

Merging #323 (e3586fa) into master (bcf9753) will decrease coverage by 0.181%. The diff coverage is 95.312%.

@@              Coverage Diff              @@
##            master      #323       +/-   ##
=============================================
- Coverage   98.550%   98.369%   -0.181%     
=============================================
  Files           25        26        +1     
  Lines         3243      3435      +192     
=============================================
+ Hits          3196      3379      +183     
- Misses          47        56        +9     
Impacted Files Coverage Δ
pydatastructs/utils/__init__.py 100.000% <ø> (ø)
pydatastructs/strings/suffix_tree.py 94.230% <94.230%> (ø)
pydatastructs/strings/__init__.py 100.000% <100.000%> (ø)
pydatastructs/utils/misc_util.py 99.019% <100.000%> (+0.189%) :arrow_up:

Impacted file tree graph

codecov[bot] avatar Jan 31 '21 14:01 codecov[bot]

There are several uncovered lines in https://codecov.io/gh/codezonediitj/pydatastructs/pull/323/diff (see red). Use steps in https://github.com/codezonediitj/pydatastructs#testing for checking the coverage for your patch locally and add tests accordingly to fully cover your code by tests.

czgdp1807 avatar Feb 01 '21 08:02 czgdp1807

Thank you for informing me, I haven't noticed these a while

Arvind-raj06 avatar Feb 01 '21 09:02 Arvind-raj06

I have added some test to cover that area, I can't get it to max but given my level best

Arvind-raj06 avatar Feb 02 '21 06:02 Arvind-raj06

@czgdp1807 any more corrections needed!?

Arvind-raj06 avatar Feb 02 '21 09:02 Arvind-raj06

Please add documentation for public methods (the ones which don't start with _).

czgdp1807 avatar Feb 05 '21 04:02 czgdp1807

Please add documentation for public methods (the ones which don't start with _).

No issue found that

Arvind-raj06 avatar Feb 05 '21 05:02 Arvind-raj06

@czgdp1807 They are requesting the leaderboard update at SWoC, today is the last date

Arvind-raj06 avatar Feb 05 '21 05:02 Arvind-raj06

Done.

czgdp1807 avatar Feb 05 '21 07:02 czgdp1807

I am a bit busy these days. There might be a delay in reviews.

czgdp1807 avatar Feb 05 '21 07:02 czgdp1807

I am a bit busy these days. There might be a delay in reviews.

Yeah sure take your time

Arvind-raj06 avatar Feb 05 '21 08:02 Arvind-raj06

Done.

Thank you 😉

Arvind-raj06 avatar Feb 05 '21 08:02 Arvind-raj06

You can continue with your other PRs. I will finalize all of these on Saturday, next week.

czgdp1807 avatar Feb 07 '21 13:02 czgdp1807

You can continue with your other PRs. I will finalize all of these on Saturday, next week.

Yeah 👍

Arvind-raj06 avatar Feb 07 '21 13:02 Arvind-raj06

There are too many private methods (starting with _). Please add a one line description in each of these to explain the purpose more clearly.

czgdp1807 avatar Feb 13 '21 07:02 czgdp1807

There are too many private methods (starting with _). Please add a one line description in each of these to explain the purpose more clearly.

Yes @czgdp1807

Arvind-raj06 avatar Feb 13 '21 08:02 Arvind-raj06

Just let me know when is the last date for participants to submit PRs and obtain socres.

czgdp1807 avatar Feb 14 '21 06:02 czgdp1807

Last date for PR submission is 28 Feb and I hope it's the last date for scores too. Winners and results announcement be 15th march

Arvind-raj06 avatar Feb 14 '21 08:02 Arvind-raj06

10th march is the last date for leaderboard submission by PA

Arvind-raj06 avatar Feb 14 '21 11:02 Arvind-raj06

I will make some changes to it in due time and then will merge it.

czgdp1807 avatar Feb 15 '21 06:02 czgdp1807

I will make some changes to it in due time and then will merge it.

Yeah

Arvind-raj06 avatar Feb 15 '21 06:02 Arvind-raj06

I hope that you might have gone through the changes I made to your SkipList PR. Would request to make this better by learning from there. The code you write works correctly and efficiently but a bit of consistency (both in APIs and docs) is needed with respect to the existing things in master. For example, in your code of SkipList.insert(num) was the API but for every other insert method in master, a key value and an optional data value is taken as input.

czgdp1807 avatar Feb 23 '21 15:02 czgdp1807

I hope that you might have gone through the changes I made to your SkipList PR. Would request to make this better by learning from there. The code you write works correctly and efficiently but a bit of consistency (both in APIs and docs) is needed with respect to the existing things in master. For example, in your code of SkipList.insert(num) was the API but for every other insert method in master, a key value and an optional data value is taken as input.

Yeah It was like literally wow! I have studied it and got some good idea on consistency, Thank you Yes later having seen the test change it's clear, I think it will take practice for me to obtain that consistency!

Arvind-raj06 avatar Feb 23 '21 16:02 Arvind-raj06

Shall I resolve the conflicts out here

Arvind-raj06 avatar Feb 24 '21 03:02 Arvind-raj06

Shall I resolve the conflicts out here

Preferrable resolve the conflicts locally. When you will update your master and try to merge it into Allgood branch, git will raise conflicts. If you are using VSCode then it will highlight the files of conflict and the changes you want to accept. After doing that just make a commit and conflicts will be resolved.

czgdp1807 avatar Feb 26 '21 14:02 czgdp1807

Shall I resolve the conflicts out here

Preferrable resolve the conflicts locally. When you will update your master and try to merge it into Allgood branch, git will raise conflicts. If you are using VSCode then it will highlight the files of conflict and the changes you want to accept. After doing that just make a commit and conflicts will be resolved.

No worries I'm using atom which will also do the same. I had the experience of same in my previous PR this time will try to implement it perfectly.

Arvind-raj06 avatar Feb 26 '21 14:02 Arvind-raj06

Have you implemented this algorithm?

czgdp1807 avatar Feb 28 '21 14:02 czgdp1807

Note this PR will not be counted towards SWoC but it will be counted for GSSoC. This needs some more work both at the design level and at the implementation level.

czgdp1807 avatar Feb 28 '21 14:02 czgdp1807

Yeah sure then

Arvind-raj06 avatar Feb 28 '21 16:02 Arvind-raj06

I'm back did you find anything to be added to make code better! PS you can change the label to GSSoC

Arvind-raj06 avatar Mar 11 '21 13:03 Arvind-raj06