Code Monkey home page Code Monkey logo

datastructuresandalgorithms's Introduction

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.

datastructuresandalgorithms's People

Contributors

mynameisgustavo avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

antonion313

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.