This project primarily aims at providing the solutions to the data structure and algorithm problems using cPython programming language. We cover python in-built data structures , data structure and algorithms extensively in this repository. Also, we are going to provide the pythonic solutions to common software design problems. . All the code written here are simple,concise, clean and follows Pep-8 standard.
- Python language is an interpreted language. Python program runs directly from the source code. It converts the source code that is written by the programmer into an intermediate language, which is again translated into machine language that has to be executed.
- Python is a programming language with objects, modules, threads, exceptions and automatic memory management. The benefits of pythons are that it is simple and easy, portable, extensible, build-in data structure and it is an open source. Python comprises of a huge standard library for most Internet platforms like Email, HTML, etc. and is very rich with machine learning and data analytics modules.
- In Python, every name introduced has a place where it lives and can be hooked for. This is known as namespace. It is like a box where a variable name is mapped to the object placed. Whenever the variable is searched out, this box will be searched, to get corresponding object.
- Python does not require explicit memory management as the interpreter itself allocates the memory to new variables and free them automatically Provide easy readability due to use of square brackets Easy-to-learn for beginners Having the built-in data types saves programming time and effort from declaring variables.
- Python memory is managed by Python private heap space. All Python objects and data structures are located in a private heap. The programmer does not have an access to this private heap and interpreter takes care of this Python private heap. The allocation of Python heap space for Python objects is done by Python memory manager. The core API gives access to some tools for the programmer to code. Python also have an inbuilt garbage collector, which recycles objects.
- Note: Few of the above points are referenced from https://www.linkedin.com/in/drangshu/.
I recommend you to learn in the following sequence:
- python language
- data structure
- algorithms
- pytest sample project
- design patterns
- python generic utilities
I recommend to install following software in your system:
- python 3.7.x or Higher
- pip3 to install python 3 software modules and packages.
- Pycharm - Community Version (if you want free)
pip3 install -r docs/requirements.txt
git clone git@github.com:Indu-sharma/python-data_structure-algorithms.git
TBD
All the code checked-in should follow PEP-8 standards.
1. If you are using Pycharm, turn the PEP-8 syntax checks and correct using format
(yellow bulb appears by default) before commiting the code.
2. Try to write the code in more Pythonic way.
Ex- you may use list comrehension against for loop if possible or Lambda functions.
TBD
TBD
- Indu Sharma - Initial work - basic-to-advanced-python3
- See also the list of contributors who participated in this project.
- More than 12 Years of experience as Quality Engineering and DevOps expert in various IT industry.
- A Technical Leader, with interest in Python, Shell scripting, Bigdata analytics, Security, DevOps and Virtualisation/Cloud technologies.
- Email : [indu.sharma.acharya@gmail.com]
- LinkedIn : Connect with me
- Every Sunday(12PM to 1PM) conduct classes to students or professionals whose job is impacted with Covid-19 , please join to the telegram group: https://t.me/Indu_sharma
This project is created for learners. Anyone is free to use the code.