Data Structures

Brought by: Brilliant

Overview

The way we store and manipulate data with computers is a core part of computer science. In Data Structures, you'll start with the basics, like arrays and sorting, and build up to more complex data types and data structures.

By the end of this course, you’ll have discovered algorithms that can be used to store data quickly, rearrange it efficiently, and access it easily.

Syllabus

  • Intro to Algorithms: Learn how to store and manipulate data to efficiently answer questions.
    • Arrays: Arrays are one of the most fundamental data structures in computing.
    • Searching: Arrays are collections of data. You search when you want to know what's in the collection.
    • Insertion Sort: Transform an array into a sorted array with this classic algorithm.
    • The Speed of Algorithms: How fast does an algorithm run? Use the language computer scientists use to answer this question!
  • Recursion: We need to go deeper - with this tool for efficiency and elegance in programming.
    • Recursion: Recursion is a concept found in both nature and computer science.
    • Divide and Conquer: We can solve problems in powerful ways by splitting them into pieces first.
    • Mergesort: What's easier than sorting one big sequence? Creating a sorted sequence from two smaller sorted sequences!
    • Quicksort: Quicksort, like Mergesort, uses the divide-and-conquer strategy to quickly sort arrays.
    • Linked List: Linked lists are a recursive data structure that can be used to implement stacks and queues.
  • Stacks and Queues: One thing after another.
    • Stacks: Arrange information in a computer the same way you arrange books on your desk.
    • Queues: Many algorithms are like grocery stores: more orderly when everyone waits their turn in line.
  • Binary Trees: A look at trees (and search trees) in our quest for superior data structures.
    • Binary Trees: Binary trees are a fundamental tool for flexibly organizing data.
    • Traversals: There are many ways to work your way through a binary tree.
    • Binary Search Trees: Binary trees make data easy to store and fast to locate.
    • Tree Rotations: To keep a binary tree balanced, you'll often need to rotate some nodes around.
    • Red Black Trees: Learn a powerful technique for making sure your search trees stay balanced.
  • Heaps: A clever, efficient data structure for data types like priority queues.
    • Priority Queues: A stack or a queue won't help if you need the most important thing first. Priority queues come to the rescue!
    • Binary Heaps: Heaps implement priority queues by bringing the important things to the top of a binary tree.
    • Treaps: Take a page from heaps to easily keep your binary search trees balanced.
Data Structures
Go to course

Data Structures

Brought by: Brilliant

  • Brilliant
  • Paid
  • English
  • Certificate Not Available
  • Available at any time
  • beginner
  • N/A
8.1.2PHP Version978msRequest Duration2MBMemory UsageGET en/courses/{slug}Route
    • Booting (633ms)
    • Application (343ms)
    • 1 x Booting (64.71%)
      633.17ms
      1 x Application (35.05%)
      342.91ms
      14 templates were rendered
      • public.courses.show (resources/views/public/courses/show.blade.php)3bladefile
        Params
        0
        course
        1
        links
        2
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.courses.partials.details (resources/views/public/courses/partials/details.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.breadcrumbs (resources/views/public/courses/partials/breadcrumbs.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.courses.partials.heading (resources/views/public/courses/partials/heading.blade.php)7bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        classes
      • public.layouts.main (resources/views/public/layouts/main.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.meta (resources/views/public/layouts/partials/meta.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.layouts.partials.navbar (resources/views/public/layouts/partials/navbar.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.links (resources/views/public/auth/profile/partials/links.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.auth.profile.partials.link (resources/views/public/auth/profile/partials/link.blade.php)8bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
        6
        route
        7
        title
      • public.layouts.partials.flash-session (resources/views/public/layouts/partials/flash-session.blade.php)6bladefile
        Params
        0
        __env
        1
        app
        2
        errors
        3
        course
        4
        links
        5
        config
      uri
      GET en/courses/{slug}
      middleware
      web, localize:en
      controller
      App\Http\Controllers\CourseController@show
      as
      en.courses.show
      namespace
      prefix
      /en
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      6 statements were executed12.59ms
      • select * from `courses` where `slug_en` = 'data-structuresmRL' limit 1
        11.24ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. data-structuresmRL
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:20
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • update `courses` set `visitors` = `visitors` + 1, `courses`.`updated_at` = '2025-06-21 00:41:32' where `id` = 2135
        500μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-06-21 00:41:32
        • 1. 2135
        Backtrace
        • 17. /app/Http/Controllers/CourseController.php:21
        • 18. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 19. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 20. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `topic_id`, `slug_en`, `slug_ar` from `subjects` where `subjects`.`id` in (6)
        210μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select `id`, `name_en`, `name_ar`, `slug_en`, `slug_ar` from `topics` where `topics`.`id` in (1)
        180μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 25. /app/Http/Controllers/CourseController.php:23
        • 26. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 27. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 28. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 29. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `providers` where `providers`.`id` in (40) and `providers`.`deleted_at` is null
        210μs/app/Http/Controllers/CourseController.php:23corspedia
        Metadata
        Backtrace
        • 20. /app/Http/Controllers/CourseController.php:23
        • 21. /vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54
        • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:43
        • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:260
        • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:205
      • select * from `html_files` where `html_files`.`id` = 2126 limit 1
        250μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 2126
        Backtrace
        • 21. /app/Models/Course.php:84
        • 28. view::public.courses.show:29
        • 30. /vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:125
        • 31. /vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php:58
        • 32. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:72
      App\Models\HtmlFile
      1
      App\Models\Provider
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        ckn3S3mwqtDNq3xMrsxEFEbVuYe0e2YwE3kp6P4p
        locale
        en
        _previous
        array:1 [ "url" => "https://www.corspedia.com/en/courses/data-structuresmRL" ]
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /en/courses/data-structuresmRL
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:24 [ "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "216.73.216.0" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-for" => array:1 [ 0 => "216.73.216.0" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" ] "cache-control" => array:1 [ 0 => "no-cache" ] "pragma" => array:1 [ 0 => "no-cache" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "cf-ray" => array:1 [ 0 => "952f75f5cddb55fa-ORD" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "priority" => array:1 [ 0 => "u=0, i" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "host" => array:1 [ 0 => "www.corspedia.com" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] ]
        request_server
        0 of 0
        array:50 [ "USER" => "www-data" "HOME" => "/var/www" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "216.73.216.0" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_FOR" => "216.73.216.0" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""Chromium";v="130", "HeadlessChrome";v="130", "Not?A_Brand";v="99"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "952f75f5cddb55fa-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_HOST" => "www.corspedia.com" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "corspedia.com" "SERVER_PORT" => "443" "SERVER_ADDR" => "141.95.147.152" "REMOTE_USER" => "" "REMOTE_PORT" => "18538" "REMOTE_ADDR" => "172.69.59.12" "SERVER_SOFTWARE" => "nginx/1.18.0" "GATEWAY_INTERFACE" => "CGI/1.1" "HTTPS" => "on" "REQUEST_SCHEME" => "https" "SERVER_PROTOCOL" => "HTTP/2.0" "DOCUMENT_ROOT" => "/var/www/corspedia/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/en/courses/data-structuresmRL" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "SCRIPT_FILENAME" => "/var/www/corspedia/public/index.php" "PATH_INFO" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1750466492.0616 "REQUEST_TIME" => 1750466492 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:5 [ "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ 0 => "Sat, 21 Jun 2025 00:41:32 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImlYdFprd3FoTmxXMlBVSWxsSUJ1M1E9PSIsInZhbHVlIjoiU2tIZjNjNm1aVmRUc1diYTJ6RFN0QTdza3lxY08reUxkZjI5d0V4dTZ3TTRsTUlWQTc5bDFERjVZRGtQaTltRVloZUd2OFlrT1RYUURTVCttRXJmeWxIVXlxb1c4VUNPSVJ6WXA3cWthZ0VqQjh4QU51cXltZHFUMXQ4YmdEMkEiLCJtYWMiOiJjY2Y4M2YyODEzYzNiOTI4OThiNTE2Y2ZmOWYzNTEyMjAzYTc1MGQ3NGFkMGQwYjQ2YzUxNjUyODQyYzFlZTU2IiwidGFnIjoiIn0%3D; expires=Sat, 21 Jun 2025 02:41:33 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6ImlYdFprd3FoTmxXMlBVSWxsSUJ1M1E9PSIsInZhbHVlIjoiU2tIZjNjNm1aVmRUc1diYTJ6RFN0QTdza3lxY08reUxkZjI5d0V4dTZ3TTRsTUlWQTc5bDFERjVZRGtQaTltRVloZUd2O" 1 => "laravel_session=eyJpdiI6IitDNkp6SXpNNjg3azNLcTdmQXFDeFE9PSIsInZhbHVlIjoiY1hpeUdhQSt4K0REb1RkUFBleFFOZG0vc3NIZE8zNmRWMWtRbmkvUDdnV1NGUldQM2gwb2dzVWI3MnliMHVSUzI1WUcxcllrdzBGREtzTXhvSGVFa3FzT3VWZW5JNW9Cenl1K0JQK1VhUkJmVU53ZlNXNmhrZDRwWHUrYkNYN2UiLCJtYWMiOiJkZDlhZGZiMmU4MGY5ZTA3OGJkNjJjY2QzYjczZDgwZjVmYTk3YjdjNzE0NWQ1YzQxNjk3MjcwNGE4Zjg4MDg5IiwidGFnIjoiIn0%3D; expires=Sat, 21 Jun 2025 02:41:33 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IitDNkp6SXpNNjg3azNLcTdmQXFDeFE9PSIsInZhbHVlIjoiY1hpeUdhQSt4K0REb1RkUFBleFFOZG0vc3NIZE8zNmRWMWtRbmkvUDdnV1NGUldQM2gwb2dzVWI3MnliMHVSUzI1" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImlYdFprd3FoTmxXMlBVSWxsSUJ1M1E9PSIsInZhbHVlIjoiU2tIZjNjNm1aVmRUc1diYTJ6RFN0QTdza3lxY08reUxkZjI5d0V4dTZ3TTRsTUlWQTc5bDFERjVZRGtQaTltRVloZUd2OFlrT1RYUURTVCttRXJmeWxIVXlxb1c4VUNPSVJ6WXA3cWthZ0VqQjh4QU51cXltZHFUMXQ4YmdEMkEiLCJtYWMiOiJjY2Y4M2YyODEzYzNiOTI4OThiNTE2Y2ZmOWYzNTEyMjAzYTc1MGQ3NGFkMGQwYjQ2YzUxNjUyODQyYzFlZTU2IiwidGFnIjoiIn0%3D; expires=Sat, 21-Jun-2025 02:41:33 GMT; path=/XSRF-TOKEN=eyJpdiI6ImlYdFprd3FoTmxXMlBVSWxsSUJ1M1E9PSIsInZhbHVlIjoiU2tIZjNjNm1aVmRUc1diYTJ6RFN0QTdza3lxY08reUxkZjI5d0V4dTZ3TTRsTUlWQTc5bDFERjVZRGtQaTltRVloZUd2O" 1 => "laravel_session=eyJpdiI6IitDNkp6SXpNNjg3azNLcTdmQXFDeFE9PSIsInZhbHVlIjoiY1hpeUdhQSt4K0REb1RkUFBleFFOZG0vc3NIZE8zNmRWMWtRbmkvUDdnV1NGUldQM2gwb2dzVWI3MnliMHVSUzI1WUcxcllrdzBGREtzTXhvSGVFa3FzT3VWZW5JNW9Cenl1K0JQK1VhUkJmVU53ZlNXNmhrZDRwWHUrYkNYN2UiLCJtYWMiOiJkZDlhZGZiMmU4MGY5ZTA3OGJkNjJjY2QzYjczZDgwZjVmYTk3YjdjNzE0NWQ1YzQxNjk3MjcwNGE4Zjg4MDg5IiwidGFnIjoiIn0%3D; expires=Sat, 21-Jun-2025 02:41:33 GMT; path=/; httponlylaravel_session=eyJpdiI6IitDNkp6SXpNNjg3azNLcTdmQXFDeFE9PSIsInZhbHVlIjoiY1hpeUdhQSt4K0REb1RkUFBleFFOZG0vc3NIZE8zNmRWMWtRbmkvUDdnV1NGUldQM2gwb2dzVWI3MnliMHVSUzI1" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "ckn3S3mwqtDNq3xMrsxEFEbVuYe0e2YwE3kp6P4p" "locale" => "en" "_previous" => array:1 [ "url" => "https://www.corspedia.com/en/courses/data-structuresmRL" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]