Giter Site home page Giter Site logo

mvarbanov97 / data-structures-and-algorithms Goto Github PK

View Code? Open in Web Editor NEW

This project forked from emiliya93/data-structures-and-algorithms

0.0 1.0 0.0 6.7 MB

Repository for the Data Structures and Algorithms course

License: MIT License

HTML 17.61% JavaScript 0.40% C# 82.00%

data-structures-and-algorithms's Introduction

Data-Structures-and-Algorithms

Repository for the Data Structures and Algorithms course

Course program

Course introduction

  • Course program
  • Trainers
  • Resources
  • Examination

Algorithms complexity

  • Data Structures Overview
    • Linear Structures, Trees, Hash Tables, Others
  • Algorithms Overview
    • Sorting and Searching, Combinatorics, Dynamic Programming, Graphs, Others
  • Algorithms Complexity
    • Time and Memory Complexity
    • Mean, Average and Worst Case
    • Asymptotic Notation O(g)

Linear data Structures

  • Lists
    • Static and Linked Implementation
    • List and LinkedList
  • Stacks
    • Static and Linked Implementation
    • The Stack Class
  • Queues
    • Circular and Linked Implementation
    • The Queue Class

Trees and Tree Traversals

  • Tree-like Data Structures
    • Trees and Related Terminology
  • Implementing Trees
  • Traversing Trees
  • DFS and BFS Traversals
  • Balanced Search Trees
  • Balanced Trees in .NET

Hash tables

  • Dictionaries
  • Hash Tables
  • Dictionary<TKey, TValue> Class
  • Sets: HashSet and SortedSet

Advanced Data Structures

  • Standard .NET Data Structures
  • Special .NET Collections
  • Wintellect Power Collections
    • Installation
    • Power Collection Classes
  • Implementing Priority Queue
  • C5 Collections
  • Other Advanced Data Structures
    • Suffix trees, interval trees, ropes, tries, etc.

Data Structures Efficiency

  • Fundamental Data Structures – Comparison
    • Arrays
    • Lists
    • Trees
    • Hash-Tables
    • Sets
    • Bags
  • Choosing Proper Data Structure

Recursion

  • What is Recursion?
  • Recursion with Examples
    • Calculating Factorial Recursively
    • Generating All 0/1 Vectors Recursively
    • Finding All Paths in a Labyrinth Recursively
  • Recursion or Iteration?
  • Harmful Recursion
  • Optimizing Bad Recursion
  • Memoization

Sorting Algorithms

  • Sorting and classifications
  • Review of the most popular sorting algorithms:
    • Bubble sort
    • Quick sort
    • Merge sort
    • Heap sort
  • Shuffling algorithms

Searching Algorithms

  • Searing algorithms
    • Linear search
    • Binary search
    • Interpolation search

Combinatorics

  • Definitions in Combinatorics
  • Permutations
  • Combinations
    • Pascal's Triangle
  • Binary Vectors
  • Resources

Dynamic Programming

  • Minimum and Maximum
  • Divide-and-Conquer
  • Dynamic programming Concepts
  • Dynamic programming with Examples:
    • Fibonacci numbers
    • Longest increasing subsequence
    • Longest common subsequence

Graphs

  • Graph Definitions and Terminology
  • Representing Graphs in C#

Graph Algorithms

  • Graph Traversal Algorithms
  • Connectivity
  • Dijkstra’s Algorithm
  • Topological sorting
  • Prim and Kruskal

Strings and string algorithms

  • Naive search
  • Rabin-Karp
  • Hashing
  • Knuth-Morris-Pratt

State machines

Regular expressions

  • Regular Expression Overview
  • Regex syntax
  • Using regular expression in C#

Computational Geometry

  • Convex hull
  • Vectors
    • Line segment intersection
  • Closest pair of points

Problem solving skills

data-structures-and-algorithms's People

Contributors

cuklev avatar evlogihr avatar minkov avatar nikolayit avatar

Watchers

 avatar

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.