Skip to content

MyNameIsGustavo/DataStructuresAndAlgorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Data Structures And Algorithms Repository 📰

Welcome to my Data Structures repository! Here you will find implementations of various commonly used data structures in the field of programming. The goal of this repository is to provide practical and clear examples of how to use these structures, as well as offer search and sorting algorithms.

Hash Tables

The "Hash Tables" directory contains implementations of hash tables, also known as hash maps. This data structure is efficient for searching, inserting, and deleting elements based on a key. In this directory, you will find examples of how to create and use hash tables in different scenarios.

Linear Lists

The "Linear Lists" directory contains implementations of different types of linear lists. Linear lists are data structures that store elements sequentially. In this directory, you will find implementations of:

  • Contiguous Lists: Lists that store elements in a single contiguous region of memory.
  • Linked Lists: Lists where each element is stored in a node that has a pointer to the next element in the list.
  • Queues: Lists where element insertion occurs at the end and removal occurs at the beginning (FIFO - First-In, First-Out).
  • Stacks: Lists where element insertion occurs at the top and removal also occurs at the top (LIFO - Last-In, First-Out).
Explore this directory to learn how to work with these different types of linear lists and their fundamental operations.

Searches

The "Searches" directory contains search algorithms such as linear search, binary search, and search in binary trees. These algorithms are used to find specific elements in data structures. In this directory, you will find implementations of these algorithms along with usage examples.

  • Binary Search: Efficient search algorithm that works on sorted data.
  • Linear Search: Simple search algorithm that checks each element in a data structure.

Sorting

In the "Sorting" directory, you will find sorting algorithms such as insertion sort, selection sort, and bubble sort. These algorithms are essential for efficiently organizing data in ascending or descending order. Explore this directory to learn how to implement and use these sorting algorithms.

  • Stable Algorithms: Stable algorithms preserve the relative order of equal elements.
    • Bubble Sort: Simple sorting algorithm that repeatedly steps through the list, compares adjacent elements and swaps them if they are in the wrong order.
    • Insertion Sort: Simple sorting algorithm that builds the final sorted array one item at a time.
  • Unstable Algorithms: Unstable algorithms do not preserve the relative order of equal elements.
    • Selection Sort: Simple sorting algorithm that selects the smallest element from the unsorted portion of the list and swaps it with the leftmost unsorted element.

Binary Trees

The "Binary Trees" directory contains implementations of binary trees, including binary search trees and AVL trees. These hierarchical data structures are useful for efficient organization of data, allowing for fast searches and other important operations. Explore this directory to understand how to construct and use binary trees.

  • Level Binary Tree: Implementation of level order traversal in a binary tree.
  • Orders Binary Tree: Implementation of different tree traversal orders, such as in-order, pre-order, and post-order.
  • Functions Binary Tree: Implementation of various functions for binary trees, such as finding the height.
  • Text Binary Tree: Implementation of a binary tree to store and manipulate text data.

Contribution

If you would like to contribute to this repository, feel free to fork it and submit your improvements through pull requests. Your contribution is highly appreciated! I hope this repository is helpful to you in learning and exploring different data structures. Feel free to use the code and adapt it to your needs. If you have any questions or suggestions, please don't hesitate to contact me. Enjoy exploring the world of data structures!

- Text generated by ChatGPT.

Releases

No releases published

Packages

No packages published

Languages