Algorithms

بواسطة: edX

Overview

Algorithms power the biggest web companies and the most promising startups. Interviews at tech companies start with questions that probe for good algorithm thinking.

In this computer science course, you will learn how to think about algorithms and create them using sorting techniques such as quick sort and merge sort, and searching algorithms, median finding, and order statistics.

The course progresses with Numerical, String, and Geometric algorithms like Polynomial Multiplication, Matrix Operations, GCD, Pattern Matching, Subsequences, Sweep, and Convex Hull. It concludes with graph algorithms like shortest path and spanning tree.

Topics covered:

  • Sorting and Searching
  • Numerical Algorithms
  • String Algorithms
  • Geometric Algorithms
  • Graph Algorithms

This course is part of the Fundamentals of Computer Science XSeries Program:

  • Programming Basics
  • Object-Oriented Programming
  • Foundations of Data Structures
  • Implementation of Data Structures

Taught by

Deepak B. Phatak, Ajit Diwan, Ganesh Ramakrishnan and Nagesh Karmali

Algorithms
الذهاب الي الدورة

Algorithms

بواسطة: edX

  • edX
  • مجانية
  • الإنجليزية
  • متاح شهادة
  • أيام محددة
  • intermediate
  • English
8.1.2PHP Version464msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (305ms)
    • Application (158ms)
    • 1 x Booting (65.69%)
      304.68ms
      1 x Application (34.07%)
      158.02ms
      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 executed5.73ms
      • select * from `courses` where `slug_ar` = 'algorithmseZ5' limit 1
        4.15ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. algorithmseZ5
        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-02-10 20:03:52' where `id` = 616
        290μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-02-10 20:03:52
        • 1. 616
        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)
        290μ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)
        270μ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 (67) and `institutions`.`deleted_at` is null
        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 * from `providers` where `providers`.`id` in (1) and `providers`.`deleted_at` is null
        220μ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` = 610 limit 1
        280μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 610
        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
        hUJqExMU9qOf2THOXdFI9ht8kcVhskjxDJQemexH
        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/algori...
        _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/algorithmseZ5
        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 [ "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" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "priority" => array:1 [ 0 => "u=0, i" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "cf-connecting-ip" => array:1 [ 0 => "3.15.0.233" ] "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" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "cf-visitor" => array:1 [ 0 => "{"scheme":"https"}" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "cf-ipcountry" => array:1 [ 0 => "US" ] "accept-encoding" => array:1 [ 0 => "gzip, br" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "x-forwarded-for" => array:1 [ 0 => "3.15.0.233" ] "cf-ray" => array:1 [ 0 => "90feb4776bb772eb-ORD" ] "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_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_CDN_LOOP" => "cloudflare; loops=1" "HTTP_PRIORITY" => "u=0, i" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_CF_CONNECTING_IP" => "3.15.0.233" "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_SEC_FETCH_SITE" => "none" "HTTP_CF_VISITOR" => "{"scheme":"https"}" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_X_FORWARDED_FOR" => "3.15.0.233" "HTTP_CF_RAY" => "90feb4776bb772eb-ORD" "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" => "29858" "REMOTE_ADDR" => "172.70.127.176" "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/algorithmseZ5" "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" => 1739217831.8572 "REQUEST_TIME" => 1739217831 ]
        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, 10 Feb 2025 20:03:52 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ino3RXN5U3JSRjFHT3Q2dW1UQzNocmc9PSIsInZhbHVlIjoicTVjbkJHY2FxYko2ZVZrK0RWeTVFNUxCWExLY3dpNG5MWEpTQ2ZGWFo2bU02YnJHd2o2Ujl1OS9nc3Z0T2hycFY3eGZLU2dUc3Q0a0xPcDVRYk9UcHdpRy9RcEx6dHRpcVJCZ0FBL1lJL1BjTVM1MC9Tck1aRDFVakxjcnNmc0QiLCJtYWMiOiJhNzI4ZDg2MzM5ZTA3YzUxYTNhOGZkZDNhZTU3NWNhZTllNmFkZWUwMDFiZWVhN2RhNzliZWFhNGQ3M2VhMjE2IiwidGFnIjoiIn0%3D; expires=Mon, 10 Feb 2025 22:03:52 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6Ino3RXN5U3JSRjFHT3Q2dW1UQzNocmc9PSIsInZhbHVlIjoicTVjbkJHY2FxYko2ZVZrK0RWeTVFNUxCWExLY3dpNG5MWEpTQ2ZGWFo2bU02YnJHd2o2Ujl1OS9nc3Z0T2hycFY3eGZLU" 1 => "laravel_session=eyJpdiI6Im1EUm1ja2pRSzJGd05XaFhoUmRzMFE9PSIsInZhbHVlIjoieTdnRFhrbTNhRFk2RTNQZmtIRG41djR5SVF6bmh2UFByU1c1Szh0aklDUmFaTklFeTBYVlhya05LWGZaVVBZVHpqTlB3eWNXNER1R0lyeDBiRFBNZDlhNVNLZ3daa1JnUDNmVGtwbGU5djlBenJDUm5pSkt3YVYwSEJGcy9KeTgiLCJtYWMiOiJhYjBlM2RlNGM4ZTcwYWZhMGNiMzY1YjI5ZGQ2MmYzYjUzNzBlY2RjYTU5MmQzZGI0MjJhOGQxMGNkNDA4OWEzIiwidGFnIjoiIn0%3D; expires=Mon, 10 Feb 2025 22:03:52 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6Im1EUm1ja2pRSzJGd05XaFhoUmRzMFE9PSIsInZhbHVlIjoieTdnRFhrbTNhRFk2RTNQZmtIRG41djR5SVF6bmh2UFByU1c1Szh0aklDUmFaTklFeTBYVlhya05LWGZaVVBZVHpq" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6Ino3RXN5U3JSRjFHT3Q2dW1UQzNocmc9PSIsInZhbHVlIjoicTVjbkJHY2FxYko2ZVZrK0RWeTVFNUxCWExLY3dpNG5MWEpTQ2ZGWFo2bU02YnJHd2o2Ujl1OS9nc3Z0T2hycFY3eGZLU2dUc3Q0a0xPcDVRYk9UcHdpRy9RcEx6dHRpcVJCZ0FBL1lJL1BjTVM1MC9Tck1aRDFVakxjcnNmc0QiLCJtYWMiOiJhNzI4ZDg2MzM5ZTA3YzUxYTNhOGZkZDNhZTU3NWNhZTllNmFkZWUwMDFiZWVhN2RhNzliZWFhNGQ3M2VhMjE2IiwidGFnIjoiIn0%3D; expires=Mon, 10-Feb-2025 22:03:52 GMT; path=/XSRF-TOKEN=eyJpdiI6Ino3RXN5U3JSRjFHT3Q2dW1UQzNocmc9PSIsInZhbHVlIjoicTVjbkJHY2FxYko2ZVZrK0RWeTVFNUxCWExLY3dpNG5MWEpTQ2ZGWFo2bU02YnJHd2o2Ujl1OS9nc3Z0T2hycFY3eGZLU" 1 => "laravel_session=eyJpdiI6Im1EUm1ja2pRSzJGd05XaFhoUmRzMFE9PSIsInZhbHVlIjoieTdnRFhrbTNhRFk2RTNQZmtIRG41djR5SVF6bmh2UFByU1c1Szh0aklDUmFaTklFeTBYVlhya05LWGZaVVBZVHpqTlB3eWNXNER1R0lyeDBiRFBNZDlhNVNLZ3daa1JnUDNmVGtwbGU5djlBenJDUm5pSkt3YVYwSEJGcy9KeTgiLCJtYWMiOiJhYjBlM2RlNGM4ZTcwYWZhMGNiMzY1YjI5ZGQ2MmYzYjUzNzBlY2RjYTU5MmQzZGI0MjJhOGQxMGNkNDA4OWEzIiwidGFnIjoiIn0%3D; expires=Mon, 10-Feb-2025 22:03:52 GMT; path=/; httponlylaravel_session=eyJpdiI6Im1EUm1ja2pRSzJGd05XaFhoUmRzMFE9PSIsInZhbHVlIjoieTdnRFhrbTNhRFk2RTNQZmtIRG41djR5SVF6bmh2UFByU1c1Szh0aklDUmFaTklFeTBYVlhya05LWGZaVVBZVHpq" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "hUJqExMU9qOf2THOXdFI9ht8kcVhskjxDJQemexH" "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/algorithmseZ5" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]