https://github.com/mauriceling/copads
Collection of Python Algorithms and Data Structures
https://github.com/mauriceling/copads
algorithm data-structure mathematics python python-algorithms statistics
Last synced: about 1 month ago
JSON representation
Collection of Python Algorithms and Data Structures
- Host: GitHub
- URL: https://github.com/mauriceling/copads
- Owner: mauriceling
- Created: 2013-06-17T07:56:42.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2023-01-20T05:36:53.000Z (over 3 years ago)
- Last Synced: 2026-01-13T23:59:48.736Z (4 months ago)
- Topics: algorithm, data-structure, mathematics, python, python-algorithms, statistics
- Language: Python
- Homepage: https://github.com/mauriceling/copads/wiki
- Size: 6.03 MB
- Stars: 18
- Watchers: 3
- Forks: 19
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
COPADS - Collection of Python Algorithms and Data Structures
============================================================
[](https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://github.com/mauriceling/copads/)
The main aim of COPADS is to develop a compilation of of Python data structures and its algorithms, making it almost a purely developmental project. Personally, I look at this as a re-usable collection of tools that I can use in other projects. Therefore, this project is essentially "needs-driven", except a core subset of data structures and algorithms.
This project originated from 3 threads of thought. Firstly, while browsing through Mehta and Sahni's Handbook of Data Structures and Applications, I thought there might be utility to have a number of the listed data structures implemented in Python. Given my interest in biological data management, having a good set of data structures is always handy. The 2nd thread of thought came from Numerical Recipes. Again, I thought these algorithms will be handy to have and had started to translate some of them into Python during some overly energetic days. Finally, Python Cookbook had undergone 2 editions by 2008 and ActiveState had provided an online platform for Python Recipes which I found to be useful and can see how some of these recipes can be merged. Thus, COPADS is borned.
However, I always felt a need to be able to describe algorithms/codes in an un-ambiguity manner which can be verified. In computer science, these un-ambiguity description systems are known as formal methods. Mathematics is used to confer un-ambiguity. This makes formal methods a very useful means of asynchronous technical communication (handing over software codes from developers to maintainers).
In this respect, I designed BeSSY (Behavioural Specification System) which no more than high-school mathematics (arithmetic, sets theory, functions, and Boolean algebra) as a basis to describe software systems. Functions and logic (in the form of boolean algebra) is an important aspect of computer programming; hence, is a bridge to convert a specification to skeletal source codes.