Skip to content

Implementation of classic search algorithms in C, including Linear, Binary, Exponential, and Jump Search. The repository provides detailed explanations, pseudocode, and complexity analysis to offer a deep understanding of different search methods and their applications in various scenarios.

Notifications You must be signed in to change notification settings

oEmanuelFirmino/DataStructuresAndAlgorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Algorithms and Data Structures

This repository contains a collection of implementations of algorithms and data structures in C. The goal is to provide an educational resource to understand and analyze key algorithms and data structures, along with their time and space complexity.

Table of Contents

Overview

This repository demonstrates various algorithms and data structures commonly used in computer science. It includes implementations of searching algorithms (such as Binary Search, Linear Search, Exponential Search, and Jump Search) and foundational data structures like Arrays, Linked Lists, Stacks, and Trees.

Each algorithm and data structure implementation is accompanied by a performance analysis, including a comparison of the number of operations performed and the time taken for execution.

Search Algorithms

The repository features implementations of the following search algorithms:

  • Linear Search
  • Binary Search
  • Exponential Search
  • Jump Search

These algorithms are commonly used to locate elements within arrays, and their performance varies depending on the type of data being searched.

Data Structures

The repository includes implementations of fundamental data structures:

  • Arrays
  • Linked Lists
  • Stacks
  • Queues
  • Trees

These structures are essential for organizing and storing data in ways that allow for efficient access and modification.

Complexity Analysis

For each algorithm and data structure, time and space complexity are analyzed using Big O Notation. This helps assess the efficiency of the algorithm in terms of the input size.

Directory Structure

/TypesOfSearch ├── SearchPerformance.c ├── /output
/data_structures ├── arrays.c ├── linked_list.c ├── stack.c ├── queue.c ├── tree.c

yaml Copiar Editar

  • /search_algorithms contains the code for different searching algorithms.
  • /data_structures contains the implementations of common data structures.

Contributing

Contributions are welcome! If you'd like to contribute to this repository, feel free to fork the repository, create a branch, and submit a pull request. Please make sure to write clear comments and explain your changes.


License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Implementation of classic search algorithms in C, including Linear, Binary, Exponential, and Jump Search. The repository provides detailed explanations, pseudocode, and complexity analysis to offer a deep understanding of different search methods and their applications in various scenarios.

Topics

Resources

Stars

Watchers

Forks

Languages