Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suffix Tree Data Structure Implementation #11555

Closed
wants to merge 42 commits into from

Conversation

Ramy-Badr-Ahmed
Copy link
Member

Describe your change:

This pull request adds an implementation of the Suffix Tree data structure along with related functionalities, such as pattern searches.

Definition: The Suffix Tree is a compressed trie of all the suffixes of a given text used for for substring search and various other string-processing operations. (URL: Suffix Tree).

Implementation Details:

  • suffix_tree_node.py: Defines the SuffixTreeNode class, representing nodes in the suffix tree.
  • build_suffix_tree.py: Builds a suffix tree from the given text and apply pattern searche for a pattern in the built suffix tree.

Example Usage:

  • example_usage.py: Demonstrates how to use the Suffix Tree implementation with a predefined text and searches for various patterns.

Unit Tests:

  • test_suffix_tree.py: Validates the correctness of the Suffix Tree implementation, including tests for building the tree and searching for patterns.

Ramy-Badr-Ahmed and others added 30 commits August 28, 2024 13:09
…into feature/kd-tree-implementation

# Conflicts:
#	data_structures/kd_tree/nearest_neighbour_search.py
Co-authored-by: Christian Clauss <cclauss@me.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
…into feature/kd-tree-implementation

# Conflicts:
#	data_structures/kd_tree/tests/test_kdtree.py
@algorithms-keeper
Copy link

Closing this pull request as invalid

@Ramy-Badr-Ahmed, this pull request is being closed as none of the checkboxes have been marked. It is important that you go through the checklist and mark the ones relevant to this pull request. Please read the Contributing guidelines.

If you're facing any problem on how to mark a checkbox, please read the following instructions:

  • Read a point one at a time and think if it is relevant to the pull request or not.
  • If it is, then mark it by putting a x between the square bracket like so: [x]

NOTE: Only [x] is supported so if you have put any other letter or symbol between the brackets, that will be marked as invalid. If that is the case then please open a new pull request with the appropriate changes.

@algorithms-keeper algorithms-keeper bot closed this Sep 7, 2024
@algorithms-keeper algorithms-keeper bot added the awaiting reviews This PR is ready to be reviewed label Sep 7, 2024
Copy link
Member Author

@Ramy-Badr-Ahmed Ramy-Badr-Ahmed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed, got it reopened : #11554

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting reviews This PR is ready to be reviewed invalid
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants