PyDSAlgo


NamePyDSAlgo JSON
Version 1.1.0 PyPI version JSON
download
home_pagehttps://github.com/sattyamjjain/pyDSAlgo
SummaryPython Package for Data structure and algorithms implementation with its proper explanation
upload_time2023-08-06 10:56:56
maintainer
docs_urlNone
authorSattyam Jain
requires_python>=3.9
license
keywords pydsa pydsalgodsa data structure algo algorithm ds python data structure
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# pyDSAlgo: Your One-Stop Solution for Data Structures and Algorithms in Python

`pyDSAlgo` is a comprehensive Python library offering robust implementations of numerous data structures and algorithms. It serves as a reliable tool for educators, students, developers, and anyone keen on mastering or utilizing these foundational computer science concepts.

## ๐Ÿ“‹ Table of Contents

- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Testing](#testing)
- [Contributing](#contributing)
- [Credits](#credits)
- [License](#license)
- [Contact](#contact)

## ๐ŸŒŸ Features

### Data Structures:

- **Graph**: Traverse complex networks. 
  - `PyGraph.py`
  - `PyLinkedGraph.py`
  
- **Heap**: Efficient data management.
  - `PyMaxHeap.py`
  - `PyMinHeap.py`
  
- **LinkedList**: Flexible data storage.
  - `PyCircularLinkedList.py`
  - `PyDoublyCircularLinkedList.py`
  - `PyDoublyLinkedList.py`
  - `PyHeaderLinkedList.py`
  - `PyLinkedList.py`
  - `PySkipLinkedList.py`
  
- **Queue**: FIFO data handling.
  - `PyCircularQueue.py`
  - `PyDeque.py`
  - `PyPriorityQueue.py`
  - `PyQueue.py`
  
- **Stack**: LIFO data access.
  - `PyStack.py`
  - `pyLinkedStack.py`
  
- **Tree**: Hierarchical data modeling.
  - `PyAVLTree.py`
  - `PyBTree.py`
  - `PyBinarySearchTree.py`
  - `PyBinaryTree.py`
  - `PyGenericTree.py`
  
- **Trie**: Rapid text retrieval.
  - `PyTrie.py`

### Algorithms:

#### Searching:

- **Binary Search**: `PyBinarySearch.py`
- **Jump Search**: `PyJumpSearch.py`
- **Linear Search**: `PyLinearSearch.py`
- **Fibonacci Search**: `PyFibonacciSearch.py`
- **Exponential Search**: `PyExponentialSearch.py`
- **Ternary Search**: `PyTernarySearch.py`
- **Meta Binary Search**: `PyMetaBinarySearch.py`
- **Sentinel Linear Search**: `PySentinelLinearSearch.py`
- **Interpolation Search**: `PyInterpolationSearch.py`

#### Sorting:

- **BogoSort**: `PyBogoSort.py`
- **Odd-Even Sort**: `PyOddEvenSort.py`
- **Sleep Sort**: `PySleepSort.py`
- **Insertion Sort**: `PyInsertionSort.py`
- **Tree Sort**: `PyTreeSort.py`
- **Pigeonhole Sort**: `PyPigeonholeSort.py`
- **3-Way Merge Sort**: `Py3WayMergeSort.py`
- **Cycle Sort**: `PyCycleSort.py`
- **Stooge Sort**: `PyStoogeSort.py`
- **Merge Sort**: `PyMergeSort.py`
- **Comb Sort**: `PyCombSort.py`
- **Tag Sort**: `PyTagSort.py`
- **Cocktail Sort**: `PyCocktailSort.py`
- **Radix Sort**: `PyRadixSort.py`
- **Bubble Sort**: `PyBubbleSort.py`
- **Selection Sort**: `PySelectionSort.py`
- **Bingo Sort**: `PyBingoSort.py`
- **QuickSort**: `PyQuickSort.py`
- **Counting Sort**: `PyCountingSort.py`
- **Bucket Sort**: `PyBucketSort.py`
- **Gnome Sort**: `PyGnomeSort.py`
- **HeapSort**: `PyHeapSort.py`
- **Bitonic Sort**: `PyBitonicSort.py`
- **Strand Sort**: `PyStrandSort.py`
- **Shell Sort**: `PyShellSort.py`
- **TimSort**: `PyTimSort.py`
- **Pancake Sort**: `PyPancakeSort.py`

## ๐Ÿ”ง Installation

```bash
pip install pyDSAlgo
```

## ๐Ÿš€ Usage

### Data Structures:

```python
from pyDSAlgo.DS.Stack.PyStack import PyStack

# Create a new stack
stack = PyStack()

# Push elements onto the stack
stack.push(1)
stack.push(2)
stack.push(3)

# Pop an element from the stack
print(stack.pop())  # Output: 3
```

### Algorithms:

```python
from pyDSAlgo.Algo.Sorting.PyBubbleSort import PyBubbleSort

# Sample list to be sorted
sample_list = [64, 34, 25, 12, 22, 11, 90]

# Apply bubble sort
sorted_list = PyBubbleSort(arr=sample_list).sort()
print(sorted_list)  # Output: [11, 12, 22, 25, 34, 64, 90]
```

## ๐Ÿงช Testing

All implementations come with corresponding test files located in the `tests` directory, ensuring reliability and correctness.

## ๐Ÿค Contributing

We welcome and value contributions from the open-source community. Your input, whether it's a bug fix, feature addition, or documentation improvement, helps enhance `pyDSAlgo`.

## ๐Ÿ‘ Credits

Crafted with โค๏ธ by [Sattyam Jain](https://www.linkedin.com/in/sattyamjain/).

## ๐Ÿ“œ License

Licensed under the [MIT License](https://github.com/sattyamjjain/pyDSAlgo/blob/main/LICENSE).

## ๐Ÿ“ž Contact

For feedback or queries, [contact us](https://www.linkedin.com/in/sattyamjain/). We're always eager to connect!

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/sattyamjjain/pyDSAlgo",
    "name": "PyDSAlgo",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "pydsa,pydsalgodsa,data structure,algo,algorithm,ds,python data structure",
    "author": "Sattyam Jain",
    "author_email": "sattyamjain96@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/8b/cd/c2a4b0444524fee49a4433b18f0c6baef9608b765662372e64d0d0cfae45/PyDSAlgo-1.1.0.tar.gz",
    "platform": null,
    "description": "\n# pyDSAlgo: Your One-Stop Solution for Data Structures and Algorithms in Python\n\n`pyDSAlgo` is a comprehensive Python library offering robust implementations of numerous data structures and algorithms. It serves as a reliable tool for educators, students, developers, and anyone keen on mastering or utilizing these foundational computer science concepts.\n\n## \ud83d\udccb Table of Contents\n\n- [Features](#features)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Testing](#testing)\n- [Contributing](#contributing)\n- [Credits](#credits)\n- [License](#license)\n- [Contact](#contact)\n\n## \ud83c\udf1f Features\n\n### Data Structures:\n\n- **Graph**: Traverse complex networks. \n  - `PyGraph.py`\n  - `PyLinkedGraph.py`\n  \n- **Heap**: Efficient data management.\n  - `PyMaxHeap.py`\n  - `PyMinHeap.py`\n  \n- **LinkedList**: Flexible data storage.\n  - `PyCircularLinkedList.py`\n  - `PyDoublyCircularLinkedList.py`\n  - `PyDoublyLinkedList.py`\n  - `PyHeaderLinkedList.py`\n  - `PyLinkedList.py`\n  - `PySkipLinkedList.py`\n  \n- **Queue**: FIFO data handling.\n  - `PyCircularQueue.py`\n  - `PyDeque.py`\n  - `PyPriorityQueue.py`\n  - `PyQueue.py`\n  \n- **Stack**: LIFO data access.\n  - `PyStack.py`\n  - `pyLinkedStack.py`\n  \n- **Tree**: Hierarchical data modeling.\n  - `PyAVLTree.py`\n  - `PyBTree.py`\n  - `PyBinarySearchTree.py`\n  - `PyBinaryTree.py`\n  - `PyGenericTree.py`\n  \n- **Trie**: Rapid text retrieval.\n  - `PyTrie.py`\n\n### Algorithms:\n\n#### Searching:\n\n- **Binary Search**: `PyBinarySearch.py`\n- **Jump Search**: `PyJumpSearch.py`\n- **Linear Search**: `PyLinearSearch.py`\n- **Fibonacci Search**: `PyFibonacciSearch.py`\n- **Exponential Search**: `PyExponentialSearch.py`\n- **Ternary Search**: `PyTernarySearch.py`\n- **Meta Binary Search**: `PyMetaBinarySearch.py`\n- **Sentinel Linear Search**: `PySentinelLinearSearch.py`\n- **Interpolation Search**: `PyInterpolationSearch.py`\n\n#### Sorting:\n\n- **BogoSort**: `PyBogoSort.py`\n- **Odd-Even Sort**: `PyOddEvenSort.py`\n- **Sleep Sort**: `PySleepSort.py`\n- **Insertion Sort**: `PyInsertionSort.py`\n- **Tree Sort**: `PyTreeSort.py`\n- **Pigeonhole Sort**: `PyPigeonholeSort.py`\n- **3-Way Merge Sort**: `Py3WayMergeSort.py`\n- **Cycle Sort**: `PyCycleSort.py`\n- **Stooge Sort**: `PyStoogeSort.py`\n- **Merge Sort**: `PyMergeSort.py`\n- **Comb Sort**: `PyCombSort.py`\n- **Tag Sort**: `PyTagSort.py`\n- **Cocktail Sort**: `PyCocktailSort.py`\n- **Radix Sort**: `PyRadixSort.py`\n- **Bubble Sort**: `PyBubbleSort.py`\n- **Selection Sort**: `PySelectionSort.py`\n- **Bingo Sort**: `PyBingoSort.py`\n- **QuickSort**: `PyQuickSort.py`\n- **Counting Sort**: `PyCountingSort.py`\n- **Bucket Sort**: `PyBucketSort.py`\n- **Gnome Sort**: `PyGnomeSort.py`\n- **HeapSort**: `PyHeapSort.py`\n- **Bitonic Sort**: `PyBitonicSort.py`\n- **Strand Sort**: `PyStrandSort.py`\n- **Shell Sort**: `PyShellSort.py`\n- **TimSort**: `PyTimSort.py`\n- **Pancake Sort**: `PyPancakeSort.py`\n\n## \ud83d\udd27 Installation\n\n```bash\npip install pyDSAlgo\n```\n\n## \ud83d\ude80 Usage\n\n### Data Structures:\n\n```python\nfrom pyDSAlgo.DS.Stack.PyStack import PyStack\n\n# Create a new stack\nstack = PyStack()\n\n# Push elements onto the stack\nstack.push(1)\nstack.push(2)\nstack.push(3)\n\n# Pop an element from the stack\nprint(stack.pop())  # Output: 3\n```\n\n### Algorithms:\n\n```python\nfrom pyDSAlgo.Algo.Sorting.PyBubbleSort import PyBubbleSort\n\n# Sample list to be sorted\nsample_list = [64, 34, 25, 12, 22, 11, 90]\n\n# Apply bubble sort\nsorted_list = PyBubbleSort(arr=sample_list).sort()\nprint(sorted_list)  # Output: [11, 12, 22, 25, 34, 64, 90]\n```\n\n## \ud83e\uddea Testing\n\nAll implementations come with corresponding test files located in the `tests` directory, ensuring reliability and correctness.\n\n## \ud83e\udd1d Contributing\n\nWe welcome and value contributions from the open-source community. Your input, whether it's a bug fix, feature addition, or documentation improvement, helps enhance `pyDSAlgo`.\n\n## \ud83d\udc4f Credits\n\nCrafted with \u2764\ufe0f by [Sattyam Jain](https://www.linkedin.com/in/sattyamjain/).\n\n## \ud83d\udcdc License\n\nLicensed under the [MIT License](https://github.com/sattyamjjain/pyDSAlgo/blob/main/LICENSE).\n\n## \ud83d\udcde Contact\n\nFor feedback or queries, [contact us](https://www.linkedin.com/in/sattyamjain/). We're always eager to connect!\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Python Package for Data structure and algorithms implementation with its proper explanation",
    "version": "1.1.0",
    "project_urls": {
        "Bug Reports": "https://github.com/sattyamjjain/pyDSAlgo",
        "Homepage": "https://github.com/sattyamjjain/pyDSAlgo",
        "Source": "https://github.com/sattyamjjain/pyDSAlgo"
    },
    "split_keywords": [
        "pydsa",
        "pydsalgodsa",
        "data structure",
        "algo",
        "algorithm",
        "ds",
        "python data structure"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b77c02eb1a65c9b1a930aa79bcb769f7781ec191bcc59ebdbb8a38e7ea061e95",
                "md5": "b566be7edba247564fa0073b8aa61535",
                "sha256": "f2fd3e1fda294f7df6a8a4e7bcded2dc4624551fd6789b6f595a5271a3594596"
            },
            "downloads": -1,
            "filename": "PyDSAlgo-1.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b566be7edba247564fa0073b8aa61535",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 31895,
            "upload_time": "2023-08-06T10:56:54",
            "upload_time_iso_8601": "2023-08-06T10:56:54.576520Z",
            "url": "https://files.pythonhosted.org/packages/b7/7c/02eb1a65c9b1a930aa79bcb769f7781ec191bcc59ebdbb8a38e7ea061e95/PyDSAlgo-1.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8bcdc2a4b0444524fee49a4433b18f0c6baef9608b765662372e64d0d0cfae45",
                "md5": "76b261b51d96c070ed28a2a168abffef",
                "sha256": "ef856e9dd4bf8071d5e840430b9271fa50a4b7d9e1ad949fab38c7fca5236aad"
            },
            "downloads": -1,
            "filename": "PyDSAlgo-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "76b261b51d96c070ed28a2a168abffef",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 15699,
            "upload_time": "2023-08-06T10:56:56",
            "upload_time_iso_8601": "2023-08-06T10:56:56.128114Z",
            "url": "https://files.pythonhosted.org/packages/8b/cd/c2a4b0444524fee49a4433b18f0c6baef9608b765662372e64d0d0cfae45/PyDSAlgo-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-06 10:56:56",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sattyamjjain",
    "github_project": "pyDSAlgo",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "pydsalgo"
}
        
Elapsed time: 0.10051s