Giter Club home page Giter Club logo

dynamic-programming's Introduction

«Favorites dynamic programming problems»

Contributors

A module for Python in C that solves some dynamic programming problems.

parrot Table of content
  1. Algorithms
  2. Module
  3. Contributors
  4. License

Algorithms

The selected tasks are the following tasks.

1. 0–1 Knapsack problem
Short description

In the 0–1 Knapsack problem, we are given a set of items, each with a weight and a value, and we need to determine the number of each item to include in a collection so that the total weight is less than or equal to a given limit and the total value is as large as possible.

View full on Wiki
2. Rod Cutting Problem
Short description

Given a rod of length n and a list of prices of rods of length i, where 1 <= i <= n, find the optimal way to cut the rod into smaller rods to maximize profit.

View full on Wiki
3. Coin Change Problem
Short description

Given an unlimited supply of coins of given denominations, find the total number of distinct ways to get the desired change.

View full on Wiki
4. Coin Change-Making Problem
Short description

Given an unlimited supply of coins of given denominations, find the minimum number of coins required to get the desired change. That is, you need to find the minimum number of coins to exchange and withdraw this set.

View full on Wiki
5. The Levenshtein Distance Problem
Short description

Edit distance is a way of quantifying how different two strings are from one another by counting the minimum number of operations required to transform one string into the other.

View full on Wiki
6. Matrix Chain Multiplication Problem
Short description

Matrix chain multiplication is an optimization problem concerning the most efficient way to multiply a given sequence of matrices. The problem is not actually to perform the multiplications, but merely to decide the sequence of the matrix multiplications involved.

View full on Wiki
7. Minimum Cost to Reach Last Cell of Matrix From Its First Cell Problem
Short description

Given an M × N matrix where each cell has a cost associated with it, find the minimum cost to reach the last cell (M-1, N-1) of the matrix from its first cell (0, 0). We can only move one unit right or one unit down from any cell, i.e., from cell (i, j), we can move to (i, j+1) or (i+1, j).

View full on Wiki
8. Const Cost to Reach Last Cell of Matrix From Its First Cell Problem
Short description

Find the number of paths of a given cost from the upper left to the lower right element of the matrices.

9. Minimum Sum Partition Problem
Short description

Given a set of positive integers S, partition set S into two subsets, S1 and S2, such that the difference between the sum of elements in S1 and the sum of elements in S2 is minimized.

View full on Wiki
10. Find All N-digit Binary Strings Without Any Consecutive 1's Problem
Short description

Given a positive integer n, count all n–digit binary strings without any consecutive 1's.

View full on Wiki

Module

The task is decomposed into three modules:

  1. Change-Making Problem
  2. Knapsack Problem
  3. FDPP (other problems)

Install

$ ./run

And also you can instant test installed packages

Usage

import fdpp
import knapsack
import change_making

Contributors

egor bronnikov parrot Egor Bronnikov
roman postolnik parrot Roman Postolnik

License

dynamic-programming provided under the terms of the GPL-3.0 license. See the LICENSE files for details.

Creative Commons License


⬆️ Back to top ⬆️


👨‍💻 endygamedev

dynamic-programming's People

Contributors

arti-shok avatar endygamedev avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.