Skip to content

cRED-f/Data-structures-and-Algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Data Structures and Algorithms

Table of Contents

  1. Introduction
  2. Data Structures
  3. Algorithms

Data Structures

Linked List

The linked list is a linear data structure where elements are stored in nodes, and each node points to the next one in the sequence.

Stack

A stack is a Last In, First Out (LIFO) data structure where elements are added and removed from the same end, known as the top.

Queue

A queue is a First In, First Out (FIFO) data structure where elements are added to the back and removed from the front.

Tree

A tree is a hierarchical data structure with a root element and a collection of child elements.

Graph

A graph is a collection of nodes and edges, where nodes represent entities, and edges represent relationships between those entities.

Hash Table

A hash table is a data structure that stores key-value pairs, allowing for efficient retrieval and insertion of data.

Algorithms

Sorting

Bubble Sort

Bubble sort is a simple sorting algorithm that repeatedly steps through the list, compares adjacent elements, and swaps them if they are in the wrong order.

Merge Sort

Merge sort is a divide-and-conquer algorithm that divides an array into two halves, sorts each half, and then merges the sorted halves.

Quick Sort

Quick sort is another divide-and-conquer algorithm that selects a 'pivot' element and partitions the other elements into two sub-arrays according to whether they are less than or greater than the pivot.

Searching

Linear Search

Linear search is a simple search algorithm that finds the position of a target value within a list by checking each element in sequence.

Binary Search

Binary search is a more efficient search algorithm that works on sorted arrays. It repeatedly divides the search interval in half until the target value is found.

Recursion

Recursion is a programming technique where a function calls itself in order to solve smaller instances of a problem.

Dynamic Programming

Dynamic programming is a method for solving complex problems by breaking them down into simpler, overlapping subproblems.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published