Trees and Graphs: Basics

بواسطة: Coursera

Overview

Basic algorithms on tree data structures, binary search trees, self-balancing trees, graph data structures and basic traversal algorithms on graphs. This course also covers advanced topics such as kd-trees for spatial data and algorithms for spatial data.

Trees and Graphs: Basics can be taken for academic credit as part of CU Boulder’s Master of Science in Data Science (MS-DS) degree offered on the Coursera platform. The MS-DS is an interdisciplinary degree that brings together faculty from CU Boulder’s departments of Applied Mathematics, Computer Science, Information Science, and others. With performance-based admissions and no application process, the MS-DS is ideal for individuals with a broad range of undergraduate education and/or professional experience in computer science, information science, mathematics, and statistics. Learn more about the MS-DS program at https://www.coursera.org/degrees/master-of-science-data-science-boulder.

Syllabus

  • Binary Search Trees and Algorithms on Trees
    • In this module, you will learn about binary search trees and basic algorithms on binary search trees. We will also become familiar with the problem of balancing in binary search trees and study some solutions for balanced binary search trees such as Red-Black Trees.
  • Basics of Graphs and Graphs Traversals
    • In this module, you will learn about graphs and various basic algorithms on graphs such as depth first/breadth first traversals, finding strongly connected components, and topological sorting.
  • Union-Find Data Structures and Spanning Tree Algorithms
    • Union Find Data-structure with rank compression.
      Spanning trees and properties of spanning trees.
      Prim’s algorithm for finding minimal spanning trees.
      Kruskal’s algorithm for finding minimal spanning trees.
  • Shortest Path Algorithms
    • In this module, you will learn about:
      Shortest Path Problem: Basics.
      Bellman-Ford Algorithm for single source shortest path.
      Dijkstra’s algorithm.
      Algorithms for all-pairs shortest path problem (Floyd-Warshall Algorithm)

Taught by

Sriram Sankaranarayanan

Trees and Graphs: Basics
الذهاب الي الدورة

Trees and Graphs: Basics

بواسطة: Coursera

  • Coursera
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • متاح في أي وقت
  • الجميع
  • English, Arabic, French, Portuguese, German, Thai, Indonesian, Spanish, Kazakh, Hindi, Russian, Swedish, Korean, Greek, Italian, Chinese, Ukrainian, Japanese, Polish, Dutch, Turkish
8.1.2PHP Version276msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (163ms)
    • Application (112ms)
    • 1 x Booting (59.27%)
      163.32ms
      1 x Application (40.5%)
      111.59ms
      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 ar/الدورات/{slug}
      middleware
      web, localize:ar
      controller
      App\Http\Controllers\CourseController@show
      as
      ar.courses.show
      namespace
      prefix
      /ar
      where
      file
      app/Http/Controllers/CourseController.php:17-35
      7 statements were executed9.59ms
      • select * from `courses` where `slug_ar` = 'trees-and-graphs:-basics' limit 1
        3.04ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. trees-and-graphs:-basics
        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-04-28 13:51:23' where `id` = 240
        5.05ms/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-28 13:51:23
        • 1. 240
        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)
        230μ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)
        170μ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 `institutions` where `institutions`.`id` in (49) and `institutions`.`deleted_at` is null
        520μ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 `providers` where `providers`.`id` in (2) and `providers`.`deleted_at` is null
        320μ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` = 237 limit 1
        260μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 237
        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\Institution
      1
      App\Models\Topic
      1
      App\Models\Subject
      1
      App\Models\Course
      1
        _token
        LZhg7mPQ0telpgmtO9vNRUNko7KwGhm0bmi6vjHP
        locale
        ar
        _previous
        array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/trees-...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/trees-and-graphs:-basics
        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 => "3.144.39.8" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "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 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "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 => "937708b66b76edc5-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" ] "x-forwarded-for" => array:1 [ 0 => "3.144.39.8" ] "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" => "3.144.39.8" "HTTP_CDN_LOOP" => "cloudflare; loops=1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "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" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_CACHE_CONTROL" => "no-cache" "HTTP_PRAGMA" => "no-cache" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_CF_RAY" => "937708b66b76edc5-ORD" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_PRIORITY" => "u=0, i" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_X_FORWARDED_FOR" => "3.144.39.8" "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" => "30092" "REMOTE_ADDR" => "172.69.58.11" "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" => "/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/trees-and-graphs:-basics" "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" => 1745848282.9008 "REQUEST_TIME" => 1745848282 ]
        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 => "Mon, 28 Apr 2025 13:51:23 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Inl0MllibGVwRkNXZXUrb2hodTNoNFE9PSIsInZhbHVlIjoid3hCc1VtZDF2ZjZBajZiYzFiOHJOOVpKbDF0WExBT0dyWEJoczRKOUs0T1ZwMHRVNlJMemtBbU4yNG9xQS9DN2tYVFk2OVhra01CQzZxYk85S0xzbE8rbmUxUTZEM3VjSzVvQUE1VnFJYlVYNmVzVjN0TzllejVaT1lMZ2NocmEiLCJtYWMiOiIwMjIwMGU1OWZjNzMwYjg0NjAzNTE5NmJiMDU4ZDBjYTViYjY0Njk0MjY1ODFmNmQ1Zjc1OWFjNGFiZDZjYjFhIiwidGFnIjoiIn0%3D; expires=Mon, 28 Apr 2025 15:51:23 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6Inl0MllibGVwRkNXZXUrb2hodTNoNFE9PSIsInZhbHVlIjoid3hCc1VtZDF2ZjZBajZiYzFiOHJOOVpKbDF0WExBT0dyWEJoczRKOUs0T1ZwMHRVNlJMemtBbU4yNG9xQS9DN2tYVFk2O" 1 => "laravel_session=eyJpdiI6ImtFenJ6c3l2WWtXeDlIZnlwR3hkVlE9PSIsInZhbHVlIjoiS01YcGt6akljVitZbWZNbUhoaU5BTStHb0NkVEx5em1pZmRobFJ1QlRsc3VYbzh1Vkc5aHZUZEsyUGh0MFpZZ1NyMC9aRTFZcXpDdWtycjg0VFcyV2E3ZUpyWHh3SGJlOEx1N3p6dTJvcVJuaDVJS3JQdDgrT1BlVzVvWC9aeWciLCJtYWMiOiJmOWM3MDlhNGM4MTBmMGViMmIyOWI4ZWQwMWZmZWY5NGI4OGJkNWZhNDdiMGQyNzU4MDIxMjg0ODk4ODQwYTRmIiwidGFnIjoiIn0%3D; expires=Mon, 28 Apr 2025 15:51:23 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6ImtFenJ6c3l2WWtXeDlIZnlwR3hkVlE9PSIsInZhbHVlIjoiS01YcGt6akljVitZbWZNbUhoaU5BTStHb0NkVEx5em1pZmRobFJ1QlRsc3VYbzh1Vkc5aHZUZEsyUGh0MFpZZ1Ny" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Inl0MllibGVwRkNXZXUrb2hodTNoNFE9PSIsInZhbHVlIjoid3hCc1VtZDF2ZjZBajZiYzFiOHJOOVpKbDF0WExBT0dyWEJoczRKOUs0T1ZwMHRVNlJMemtBbU4yNG9xQS9DN2tYVFk2OVhra01CQzZxYk85S0xzbE8rbmUxUTZEM3VjSzVvQUE1VnFJYlVYNmVzVjN0TzllejVaT1lMZ2NocmEiLCJtYWMiOiIwMjIwMGU1OWZjNzMwYjg0NjAzNTE5NmJiMDU4ZDBjYTViYjY0Njk0MjY1ODFmNmQ1Zjc1OWFjNGFiZDZjYjFhIiwidGFnIjoiIn0%3D; expires=Mon, 28-Apr-2025 15:51:23 GMT; path=/XSRF-TOKEN=eyJpdiI6Inl0MllibGVwRkNXZXUrb2hodTNoNFE9PSIsInZhbHVlIjoid3hCc1VtZDF2ZjZBajZiYzFiOHJOOVpKbDF0WExBT0dyWEJoczRKOUs0T1ZwMHRVNlJMemtBbU4yNG9xQS9DN2tYVFk2O" 1 => "laravel_session=eyJpdiI6ImtFenJ6c3l2WWtXeDlIZnlwR3hkVlE9PSIsInZhbHVlIjoiS01YcGt6akljVitZbWZNbUhoaU5BTStHb0NkVEx5em1pZmRobFJ1QlRsc3VYbzh1Vkc5aHZUZEsyUGh0MFpZZ1NyMC9aRTFZcXpDdWtycjg0VFcyV2E3ZUpyWHh3SGJlOEx1N3p6dTJvcVJuaDVJS3JQdDgrT1BlVzVvWC9aeWciLCJtYWMiOiJmOWM3MDlhNGM4MTBmMGViMmIyOWI4ZWQwMWZmZWY5NGI4OGJkNWZhNDdiMGQyNzU4MDIxMjg0ODk4ODQwYTRmIiwidGFnIjoiIn0%3D; expires=Mon, 28-Apr-2025 15:51:23 GMT; path=/; httponlylaravel_session=eyJpdiI6ImtFenJ6c3l2WWtXeDlIZnlwR3hkVlE9PSIsInZhbHVlIjoiS01YcGt6akljVitZbWZNbUhoaU5BTStHb0NkVEx5em1pZmRobFJ1QlRsc3VYbzh1Vkc5aHZUZEsyUGh0MFpZZ1Ny" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "LZhg7mPQ0telpgmtO9vNRUNko7KwGhm0bmi6vjHP" "locale" => "ar" "_previous" => array:1 [ "url" => "https://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/trees-and-graphs:-basics" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]