Algorithms and Data Structures Tutorial – Full Course for Beginners

Wordpress sites

In this course you will learn about algorithms and data structures, two of the fundamental topics in computer science. There are three main parts to this course: algorithms, data structures, and a deep dive into sorting and searching algorithms.

By the end, you will understand what algorithms and data structures are, how they are measured and evaluated, and how they are used to solve problems.

This course was developed by Pasan Premaratne and Jay McGavren. It was made possible by a grant from teamtreehouse.com

⭐️ Course Contents ⭐️
⌨️ (0:00:00) Introduction to Algorithms
⌨️ (1:57:44) Introduction to Data Structures
⌨️ (4:11:02) Algorithms: Sorting and Searching

⭐️ Code Snippets for Course ⭐️
💻 Introduction to Algorithms:
⌨️ Algorithms in Code:
🔗 Linear Search Implementations:
🔗 Binary Search Implementations:

💻 Introduction to Data Structures
⌨️ Exploring Arrays:
🔗 Array Characteristics and Storage:
🔗 Operations on Arrays:

⌨️ Building a Linked List:
🔗 Singly and Doubly Linked Lists:
🔗 Linked List Operations:

⌨️ The Merge Sort Algorithm:
🔗 Merge Sort Implementations:
🔗 Alternate Versions of Merge Sort:

⌨️ Merge Sort and Linked Lists:
🔗 Implementing Merge Sort on Linked Lists:

💻 Algorithms: Sorting and Searching
⌨️ Sorting Algorithms:
🔗 Code for Bogosort:
🔗 Code for Selection Sort:
🔗 Code for Quicksort:
🔗 Code for Merge Sort:

⌨️ Searching Names:
🔗 Code for Linear Search:
🔗 Code for Binary Search:

Learn to code for free and get a developer job:

Read hundreds of articles on programming:

And subscribe for new videos on technology every day:

50 thoughts on “Algorithms and Data Structures Tutorial – Full Course for Beginners”

  1. 2:57 what is algorithm?
    6:51 some concepts before diving into the algorithms
    12:47
    14:57 linear search algorithm
    50:56 quadratic time
    1:01:30 traveling salesman
    1:08:24 linear search algorithm with coding in python
    1:18:04 binary search algorithm with coding in python
    1:28:07 recursive binay search
    1:41:18 recursive and space complexity
    1:57:50 introduction to data structures
    2:00:42 Array
    2:23:01 linked list
    3:03:51 merge sort

  2. This is why good professor matter. I don’t even know how to code yet, but the course is so interesting, I watched 46 min without even realized it.

    1. @I’m Your Dad huh wait what was the point of ur comment did u become a programmer or were u trolling i cant get it?

    2. @RAFAEL MENNA I think we both need a professor. Yours will teach you the difference between pronoun “You” and alphabet letter ” U”.

    3. MohaMMad Cicada

      Now that I’m reading this comment only now i realised that i watched 25 minutes of this video! That’s really mind-blowing 🥳🍻

  3. Introduction to Algorithms
    ( Playing a Counting Game )
    0:25 – What Is an Algorithm?
    6:50 – Guess the Number
    12:46 – Defining an Algorithm
    21:15 – Evaluating Linear Search
    29:58 – Evaluating Binary Search

    Introduction to Algorithms
    ( Time Complexity )
    36:11 – Efficiency of an Algorithm
    42:39 – Constant and Logarithmic Time
    49:11 – Linear & Quadratic Time
    53:48 – Quasilinear Time
    56:23 – Exponential Time
    1:04:23 – Determining Complexity

    Introduction to Algorithms
    ( Algorithms in Code )
    1:08:22 – Linear Search in Code
    1:18:02 – Binary Search in Code
    1:28:06 – Recursive Binary Search

    Introduction to Algorithms
    ( Recursion and Space Complexity )
    1:41:14 – Recursive Functions
    1:46:18 – Space Complexity
    1:53:07 – Recap of Algorithms in Code

    Introduction to Data Structures
    ( Exploring Arrays )
    1:57:44 – Introduction
    2:00:40 – Array Basics
    2:06:20 – Accessing a Value in an Array
    2:13:06 – Array Search, Insert and Delete

    Introduction to Data Structures
    ( Building a Linked List )
    2:22:57 – What Is a Linked List?
    2:36:15 – Adding Nodes to a Linked List
    2:44:05 – Implementing Search
    2:48:34 – Inserting a Node
    2:55:20 – Removing a Node

    Introduction to Data Structures
    ( The Merge Sort Algorithm )
    3:03:06 – Merge Sort
    3:11:13 – Splitting Into Sublists
    3:14:27 – Recursively Merging Sublists
    3:21:34 – Ensuring the Correctness of Merge Sort
    3:28:17 – Evaluating the Runtime of Merge Sort

    Introduction to Data Structures
    ( Sorting a Linked List )
    3:35:40 – The Merge Function
    3:40:31 – The Divide Step
    3:47:56 – The Conquer Step
    4:00:11 – Evaluating the Runtime
    4:08:46 – Recap of Introduction to Data Structures

    Algorithms: Sorting and Searching
    ( Sorting Algorithms )
    4:11:02 – Sorting and Searching
    4:14:56 – Bogosort
    4:20:36 – Selection Sort
    4:27:11 – Getting the Run Time of a Program
    4:31:17 – Recursion
    4:41:18 – Quicksort
    4:47:12 – Implementing Quicksort
    4:52:34 – Merge Sort
    4:59:45 – Actual Run Time for Sorting Algorithms
    5:02:00 – Big-O Run Times of Sorting Algorithms

    Algorithms: Sorting and Searching
    ( Searching Names )
    5:07:42 – Linear Search
    5:12:04 – Sorting Names
    5:14:04 – Binary Search
    5:19:22 – Timing Our Search Scripts
    5:20:41 – Big O Runtime of Search Algorithms

    1. Ronald Maffei de Lavor

      ORAÇÕES A SANTA FILOMENA

      COROINHA DE SANTA FILOMENA

      Reza-se assim: 1 Credo… (na Medalha).

      3 Pai-Nossos (nas contas brancas) Em honra da Santíssima Trindade, por Cuja glória Santa Filomena deu a vida.

      13 Ave-Marias (nas contas Vermelhas) em louvor dos 13 anos em que viveu na terra a Virgem Mártir.

      A cada Ave-Maria acrescenta-se a Jaculatória:

      Santa Filomena, pelo sangue que derramastes por amor a Jesus Cristo, alcançai-me a graça que vos peço.
      Ou:
      Santa Filomena, pelo Vosso Amor por Jesus e Maria, rogai por nós.

      Por fim: Oração a Santa Filomena:

      Ó gloriosa Princesa da Corte Celestial, Santa Filomena, prostrado diante de Vós, rememorando as vossas virtudes
      E prodígios, minha alma engrandece
      Ao Senhor que operou em vós
      Tamanha maravilha de santidade.
      Querida Protetora venha em meu
      Auxílio para conduzir-me pelos
      Caminhos da virtude, para ser minha
      Fortaleza em face do inimigo infernal,
      Para me trazer do Coração de Jesus a
      Riqueza dos auxílios divinos que são
      Para este devoto a saúde, a paz do
      Coração, a solução de minhas
      Dificuldades, o bem-estar de minha
      Família, a consciência perfeita, fé, esperança, caridade e o consolo em toda tribulação.
      Milagrosa Santa Filomena, em Vós confio! Amém.
      Salve Rainha.

      CONSAGRAÇÃO A SANTA
      FILOMENA COMO PADROEIRA
      PARTICULAR

      Ó gloriosa Santa Filomena, Virgem,
      Mártir, esposa de Cristo, glória da
      Igreja Católica, ilustre feitora de
      Maravilhas.
      Eu, vosso indigno servo e protegido,
      Consagro-me neste dia por toda a
      Minha vida ao vosso amor e à vossa
      Devoção.
      Sim, eu vos amarei afetuosamente
      Sempre, e, depois de Jesus, Maria e
      José, carregar-vos-ei em meus
      Pensamentos, e falarei de vós a todos
      Aos que poderei levar a vos amar e a
      Devotarem-se a vós.
      Vós sereis, após Jesus, Maria e José,
      O objeto de minha afeição, minha
      Alegria e minha consolação.
      A vós, como a uma íntima e querida
      Amiga, manifestarei minhas alegrias;
      De vós, procurarei conselho para
      Minhas dúvidas, e a vós recorrerei por
      Conforto e auxílio em minhas
      Provações e tristezas.
      Dignai-vos, ó gloriosa Santa, receber-me entre o número de vossos
      Protegidos e amantes, e defendei-me a
      Todo o tempo.
      Ó minha doce Santa, querida Santa
      Filomena, eu ofereço e consagro meu
      Coração a vós hoje.
      Desejo-vos todo bem e alegria, na
      Medida em que possa eu também
      Contribuir para vossa fortuita glória.
      Em contrapartida, perdoai-me por
      Minha ousadia, querei-me bem para
      Que possa ser estabelecida entre vós e
      Eu uma corrente de afeição e amizade
      Calorosa e eterna.
      Eu jamais vos esquecerei, minha doce
      Advogada, e peço que vos lembreis de
      Mim para que possa ser vosso
      Companheiro pela eternidade no
      Paraíso. Amém.

      ATO DE CONSAGRAÇÃO A SANTA
      FILOMENA

      Ilustre Virgem e Mártir Santa Filomena,
      Cujo nome e milagres são conhecidos
      Até os confins da terra.
      Misericordiosamente deposito minha
      Confiança em vossa intercessão e
      Recomendo vossa especial proteção a
      Minha família.
      Obtenha-me a saúde da alma e do
      Corpo, pois nestes dias tenho
      Necessidade de ambas.
      Faça-me forte na palavra e no trabalho,
      Para que todo pensamento, palavra e
      Ação de minha vida procure a glória do
      Sagrado Coração de Jesus.
      Santa Filomena, rogai por nós. (3x)

      ORAÇÃO PARA ESCOLHER
      SANTA FILOMENA POR
      ADVOGADA

      Ó castíssima virgem, ó invicta mártir de
      Jesus Cristo como Ele flagelada pelos
      Algozes.
      Santa Filomena, eis-me prostrado de
      Corpo e alma diante de vós, a quem
      Escolho para minha amorosa
      Advogada, para que eu seja digno de
      Vossa intercessão junto do Altíssimo,
      Para meu proveito espiritual e
      Temporal.
      Bem sei que gozais do mais alto favor
      Junto a Deus.
      A Virgem Santíssima, faz com que
      Nada vos seja negado, nenhuma graça
      Que lhe pedis como o provam os inumeráveis prodígios que se operam
      continuamente pelo Onipotente e
      Misericordioso Deus por toda parte,
      onde se acrescenta o vosso santo
      nome Filomena.
      Ele, por sua sapientíssima providência
      vos escolheu para ser a nossa
      esperança, nosso refúgio e auxílio nas
      horas de aflição e desespero.
      Vós sois o nosso socorro neste século
      atribulado.
      Bendigo e glorifico ao Senhor pela
      glória e poder com que hoje vos coroa.
      Protegei-me, minha amada, santinha e
      fazei-me sentir os efeitos da vossa
      imensa caridade, alcançando-me a
      graça que com tanta urgência
      necessito….
      Ó Deus, sede eternamente louvado e
      bendito em Vossos Santos.
      Santa Filomena, valei-me. Amém.
      Pai Nosso e Ave Maria, em honra do
      sangue da Mártir.

      LADAINHA A SANTA
      FILOMENA

      Composta pelo Cura d’Ars, São João
      Batista Maria Vianney
      Senhor, tende piedade de nós.
      Jesus Cristo, tende piedade de nós.
      Senhor, tende piedade de nós.
      Jesus Cristo, ouvi-nos.
      Jesus Cristo, atendei-nos.
      Pai Celeste, que sois Deus, tende
      Piedade de nós.
      Filho de Deus, Redentor do Mundo que
      Sois Deus, tende piedade de nós.
      Espírito Santo, que sois Deus, tende
      Piedade de nós.
      Trindade Santa, que sois um só Deus,
      Tende piedade de nós.
      Santa Maria, Rainha das Virgens,
      Rogai por nós.
      Santa Filomena, cheia de abundantes
      Graças desde o berço, rogai por nós.
      Santa Filomena, fiel imitadora de
      Maria, rogai por nós.
      Santa Filomena, modelo das Virgens,
      Rogai por nós.
      Santa Filomena, templo da perfeita
      Humildade, rogai por nós.
      Santa Filomena, abrasada no zelo da
      Glória de Deus, rogai por nós.
      Santa Filomena, vítima do amor de
      Jesus, rogai por nós.
      Santa Filomena, exemplo de força e de
      Perseverança, rogai por nós.
      Santa Filomena, espelho das mais
      Heroicas virtudes, rogai por nós.
      Santa Filomena, firme e intrépida em
      Face dos tormentos, rogai por nós.
      Santa Filomena, flagelada como o
      Vosso Divino Esposo, rogai por nós.
      Santa Filomena, que preferistes as
      Humilhações da morte aos esplendores
      Do trono, rogai por nós.
      Santa Filomena, que convertestes as
      Testemunhas do vosso martírio, rogai
      Por nós.
      Santa Filomena, que cansastes o furor
      Dos algozes, rogai por nós.
      Santa Filomena, protetora dos
      Inocentes, rogai por nós.
      Santa Filomena, padroeira da
      Juventude, rogai por nós.
      Santa Filomena, asilo dos
      Desgraçados, rogai por nós.
      Santa Filomena, saúde dos doentes e
      Enfermos, rogai por nós.
      Santa Filomena, nova luz da Igreja
      Peregrinante, rogai por nós.
      Santa Filomena, que confundia a
      Impiedade do século, rogai por nós.
      Santa Filomena, cujo nome é glorioso
      No Céu e formidável para o inferno,
      Rogai por nós.
      Santa Filomena, ilustre pelos mais
      Esplêndidos milagres, rogai por nós.
      Santa Filomena, poderosa junto de
      Deus, rogai por nós.
      Santa Filomena que reinais na glória,
      Rogai por nós.
      Cordeiro de Deus, que tirais o pecado
      Do mundo, perdoai-nos, Senhor.
      Cordeiro de Deus, que tirais o pecado
      Do mundo, ouvi-nos, Senhor.
      Cordeiro de Deus, que tirais o pecado
      Do mundo, tende piedade de nós.
      V. Rogai por nós, santa Filomena.
      R. Para que sejamos dignos das
      Promessas de Cristo. Amém.

      Oração: Nós Vos suplicamos, Senhor,
      Que nos concedais o perdão dos
      Nossos pecados pela intercessão de
      Santa Filomena, Virgem Mártir, que foi
      Sempre agradável aos vossos olhos
      Pela sua eminente castidade e
      Exercício de todas as virtudes.
      Santa Filomena, rogai por nós.(3 Vezes)
      Cordeiro de Deus, que tirais o pecado
      Do mundo, perdoai-nos, Senhor.
      Cordeiro de Deus, que tirais o pecado
      Do mundo, ouvi-nos, Senhor
      Cordeiro de Deus, que tirais o pecado
      Do mundo, tende piedade de nós.
      V. Rogai por nós, santa Filomena.
      R. Para que sejamos dignos das
      Promessas de Cristo. Amém.
      Nós Vos suplicamos, Senhor, que nos
      Concedais o perdão dos nossos
      Pecados pela intercessão de Santa
      Filomena, Virgem Mártir, que foi
      Sempre agradável aos vossos olhos
      Pela sua eminente castidade e
      Exercício de todas as virtudes.
      Santa Filomena, rogai por nós.(3 Vezes)

  4. I’m so grateful to find this, this course is actually giving me tough time in school, but with this video an area of the course is been covered! But we’re dealing with the mathematical view of algorithm time complexity. Any one with idea where I can go check that out?

  5. I enjoyed this course and loved the way Pasan explained all the concepts.

    P.S. – verify_sorted function in Merge Sort should have this condition list[0] <= list[1] and verify_sorted(list[1:]) because with the current implementation if there are duplicates in the list, the result will return false.

  6. PythonicD 123

    You’re just such an amazing tutor! Can’t thank you enough for providing this content for free!

  7. So I’ve been going through python videos and this has REALLY HELPED me understand this concept. Algorithmic thinking is pretty fundamental to programming and this has helped me figure everything out so far.

  8. The future of clean, clear, coherent precise education starts with videos like this. More success and good wishes to people who make such videos and for free to the general public. This is one genuine and sincere way of serving humanity and educating people. Kudos and thanks for this wonderful video. Much love

    1. UNIVERSE OF SPORTS

      Broh is this complete data structure and algorithm course… Is this for beginner or for advance people also is this complete course?

    2. really amazing how these community accepted online tutorials can be better than university education

  9. My daughter has begun her coding journey and will be soaking this up really soon. Thank you for providing such excellent free education.

  10. These lessons are high quality, clear, & concise. Everyone hit the tip jar if you can. Good job.

  11. Bogdan Dumitrescu

    Great course. At 2:46:00 Inside the search function, the “else” can be removed as you have a return in the if statement. Same functionality, less code and clean code 🙂 Appreciate the effort behind the course and sharing it for free !

  12. Worts Case Scenario – 25:21
    Brute Force – 57:44
    Password – 59:37
    Linear Search – 1:09:50
    Binary Search – 1:18:10
    Binary Search2 – 1:27:58
    Recursion – 1:41:17

  13. If anyone like me lost it at the final 3 lines in merge_sort() @4:00:00, make note that ‘current’ and merge.head point to the same Node object for the first pass of while-loop. When current.next_node is reassigned to a non-None value that first time, merged.head.next_node points to the same value. Hope this helps

  14. Such an amazing video, it helped me understand way better what data structures and algorithms is. I’ll be reading Grooking algorithms next to get more familiar with this topic! The only downside to this video, is that there’s an exercise on the section: “Algorithms: Sorting and Searching”, that for some reason I couldn’t run it locally. Other than that this is an amazing video on data structures and algorithms.

  15. Cherol Phoshoko

    This is such an amazing video!! So much value, I wish most courses had this same amount of quality! Thank you for this!!!

  16. Joshua Emmanuel

    Just 12 minutes in and I’m already blown off by the simplistic strategy applied in communicating what is mostly seen as a complex part of programming.

    Kudos guys! 👍

  17. just finished this and so many things make much more sense now! also, Pasan is an excellent instructor. loved the brief intro to concept, demo and then recap of concept before moving on. thank you!

Comments are closed.