Skip to content

feat: optimal binary search tree added to dynamic_programming #2951

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

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

butterpaneermasala
Copy link

Description of Change

Added the implementation of the Optimal Binary Search Tree (OBST) algorithm in C++ under the dynamic_programming namespace. The OBST algorithm constructs a binary search tree that minimizes the expected search cost given a set of keys and their search probabilities.

This implementation follows a dynamic programming approach with a time complexity of O(n³).

Checklist

  • Added description of change
  • Added file name matches File name guidelines
  • Added tests and example, test must pass
  • Added documentation so that the program is self-explanatory and educational - Doxygen guidelines
  • Relevant documentation/comments is changed or added
  • PR title follows semantic commit guidelines
  • Search previous suggestions before making a new one, as yours may be a duplicate.
  • I acknowledge that all my contributions will be made under the project's license.

Notes: Added optimal_bst.cpp with test cases and complete Doxygen-style documentation. Useful for learners studying advanced dynamic programming problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant