Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bottomsnode/searching-and-sorting-python

Explore Python implementations of essential searching and sorting algorithms. From linear and graph searches to bubble, merge, and quick sort, this repository offers crucial tools for learners and practitioners, enhancing problem-solving skills and coding proficiency.
https://github.com/bottomsnode/searching-and-sorting-python

data-structures python searching-algorithms sorting-algorithms tkinter-graphic-interface

Last synced: 1 day ago
JSON representation

Explore Python implementations of essential searching and sorting algorithms. From linear and graph searches to bubble, merge, and quick sort, this repository offers crucial tools for learners and practitioners, enhancing problem-solving skills and coding proficiency.

Awesome Lists containing this project

README

        

# Searching and Sorting Algorithms

This repository contains Python implementations of various searching and sorting algorithms.

## Searching Algorithms

- **BFS (Breadth-First Search)**: Traverse a graph by exploring all neighbor nodes at the present depth prior to moving on to the nodes at the next depth level.
- **DFS (Depth-First Search)**: Traverse a graph by going as deeply as possible along each branch before backtracking.
- **Linear Search**: Sequentially check each element of a list until the desired element is found or the list is exhausted.

## Sorting Algorithms

- **Bubble Sort Algorithm**: Repeatedly step through the list, compare adjacent elements, and swap them if they are in the wrong order.
- **Heap Sort Algorithm**: Convert the array into a max heap, repeatedly remove the maximum element from the heap and rebuild the heap.
- **Insertion Sort Algorithm**: Build the final sorted array one item at a time by repeatedly picking the next item and inserting it into the correct position.
- **Merge Sort Algorithm**: Divide the unsorted list into n sublists, each containing one element, then repeatedly merge sublists to produce new sorted sublists until there is only one sublist remaining.
- **Quick Sort Algorithm**: Partition the array into two sub-arrays by selecting a pivot element and rearranging the array so that all elements less than the pivot are on the left and all elements greater are on the right, then recursively sort the sub-arrays.
- **Selection Sort Algorithm**: Repeatedly find the minimum element from the unsorted part of the array and swap it with the first element.

## Usage

Each algorithm implementation is contained within its own Python script file. Feel free to explore and run the scripts to see the algorithms in action.

## Contributing

Contributions are welcome! If you'd like to contribute to this project, please fork the repository and create a pull request with your changes.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.