算法设计与分析(高级) | Advanced Design and Analysis of Algorithms

بواسطة: edX

Overview

算法设计与分析是计算机科学的核心课程之一。在了解了分治策略、动态规划、贪心法、回溯和分支限界等基本的算法设计技术的基础上,通过线性规划和网络流算法的学习,可以进一步掌握两类重要问题的建模和算法设计方法。此外,面对实际问题,只有对问题的性质有着清晰的分析,才能提出有效的解决方案。需要进一步考虑的是:怎么估计这个问题的难度?最好的算法的效率有多高?这些都涉及到问题复杂度的分析与计算复杂性理论。通过本课程的学习,可以了解有关计算复杂性理论的基础知识、方法和应用,学习近似算法、随机算法等更多的算法设计技术和分析方法,进一步提高处理复杂问题的能力。

Syllabus

教学大纲:

第一周:线性规划
介绍线性规划的例子、二维线性规划的图解法和线性规划的标准形,讨论线性规划可行解的性质,给出求解线性规划的单纯形法与单纯形表。

第二周:线性规划的对偶与应用
介绍对偶线性规划、对偶单纯形法、整数线性规划的分支限界算法,讨论线性规划的应用。

第三周:最大流问题
介绍网络流及其性质、最大流与最小割的概念,讲授Ford-Fulkeson算法和Dinic算法。

第四周:最小费用流与网络流应用
介绍最小费用流与Floyd算法、最小费用流的负回路算法与最短路径算法,讨论网络流算法的应用。

第五周:问题的计算复杂度分析
介绍有关问题计算复杂度分析的基本概念,给出决策树定义并作出检索问题的时间复杂度分析、介绍冒泡排序与堆排序。

第六周:排序及选择问题的复杂度分析
介绍堆排序算法、定义排序算法的决策树,对排序问题及选最小问题进行复杂度分析、介绍通过归约估计问题难度的下界的方法。

第七周:NP完全性理论
介绍NP完全理论的基本概念:难解问题与易解问题、判定问题、NP类与P类、多项式时间变换等,Cook-Levin定理。

第八周:几个NP完全问题
介绍可满足性问题、顶点覆盖、哈密顿回路与货郎问题、恰好覆盖、子集和、0-1背包、整数线性规划等。

第九周:近似算法
介绍近似算法的设计思想及分析方法,针对多机调度、货郎问题、0-1背包等问题讨论了近似算法的设计思想与分析方法。

第十周:随机算法
介绍随机算法的设计思想和分析方法,讨论了随机快速排序与选择算法以及n后问题、主元素测试、素数测试等随机算法。

Taught by

Qu Wan Ling, Jiang Ting Ting and Wang Xiao Lin

算法设计与分析(高级) | Advanced Design and Analysis of Algorithms
الذهاب الي الدورة

算法设计与分析(高级) | Advanced Design and Analysis of Algorithms

بواسطة: edX

  • edX
  • مجانية
  • Chinese
  • متاح شهادة
  • أيام محددة
  • intermediate
  • Chinese
8.1.2PHP Version94.62msRequest Duration2MBMemory UsageGET ar/الدورات/{slug}Route
    • Booting (47.88ms)
    • Application (46.53ms)
    • 1 x Booting (50.6%)
      47.88ms
      1 x Application (49.18%)
      46.53ms
      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 executed6.7ms
      • select * from `courses` where `slug_ar` = '算法设计与分析(高级)-|-advanced-design-and-analysis-of-algorithms' limit 1
        5.13ms/app/Http/Controllers/CourseController.php:20corspedia
        Metadata
        Bindings
        • 0. 算法设计与分析(高级)-|-advanced-design-and-analysis-of-algorithms
        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-12 23:27:26' where `id` = 1720
        640μs/app/Http/Controllers/CourseController.php:21corspedia
        Metadata
        Bindings
        • 0. 2025-04-12 23:27:26
        • 1. 1720
        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)
        240μ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)
        150μ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 (85) and `institutions`.`deleted_at` is null
        190μ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
        170μ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` = 1711 limit 1
        180μs/app/Models/Course.php:84corspedia
        Metadata
        Bindings
        • 0. 1711
        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
        BIydOYLPbOIoAkJzibGhnlGo3Wcg9VwTDcasWU1z
        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/%E7%AE...
        _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/%E7%AE%97%E6%B3%95%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%88%86%E6%9E%90%28%E9%AB%98%E7%BA%A7%29-%7C-advanced-design-and-analysis-of-algorithms
        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" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "priority" => array:1 [ 0 => "u=0, i" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "cf-ipcountry" => array:1 [ 0 => "US" ] "cf-connecting-ip" => array:1 [ 0 => "3.144.44.164" ] "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" ] "cdn-loop" => array:1 [ 0 => "cloudflare; loops=1" ] "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.144.44.164" ] "cf-ray" => array:1 [ 0 => "92f67e8efe16cd80-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_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_PRIORITY" => "u=0, i" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "HTTP_CF_IPCOUNTRY" => "US" "HTTP_CF_CONNECTING_IP" => "3.144.44.164" "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_CDN_LOOP" => "cloudflare; loops=1" "HTTP_ACCEPT_ENCODING" => "gzip, br" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_X_FORWARDED_FOR" => "3.144.44.164" "HTTP_CF_RAY" => "92f67e8efe16cd80-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" => "29278" "REMOTE_ADDR" => "172.69.17.135" "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/%E7%AE%97%E6%B3%95%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%88%86%E6%9E%90%28%E9%AB%98%E7%BA%A7%29-%7C-advanced-design-and-analysis-of-algorithms/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/%E7%AE%97%E6%B3%95%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%88%86%E6%9E%90%28%E9%AB%98%E7%BA%A7%29-%7C-advanced-design-and-a" "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" => 1744500446.8173 "REQUEST_TIME" => 1744500446 ]
        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, 12 Apr 2025 23:27:26 GMT" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjhuaUZXaFN5b2hyYjE1TTBNYmwvdUE9PSIsInZhbHVlIjoiK0QyRXIvQldJRHZrL3F3WVQraWQwZ0srcW9Udi9WWGpYK0tncVFndWNRMFFuUUlxamkxWVBhTThBZjRvUmtaR2pTRGttYWg1UUgyc3c2cGdjZUMrSzJQMnFHek5CRFp4Um81bWxTZzRzV05LUUZnQVhKR3cyV01Fd1NkK1ZmY0EiLCJtYWMiOiI4NzYyNDU1MzE5NDZjOTQzMTlkMTYzMjI1M2JmNmQwMWU2MDcwZDQwYTljMmUzY2ZjYzIxZWM5OWE1ODU5ZDM5IiwidGFnIjoiIn0%3D; expires=Sun, 13 Apr 2025 01:27:26 GMT; Max-Age=7200; path=/; samesite=laxXSRF-TOKEN=eyJpdiI6IjhuaUZXaFN5b2hyYjE1TTBNYmwvdUE9PSIsInZhbHVlIjoiK0QyRXIvQldJRHZrL3F3WVQraWQwZ0srcW9Udi9WWGpYK0tncVFndWNRMFFuUUlxamkxWVBhTThBZjRvUmtaR2pTRGttY" 1 => "laravel_session=eyJpdiI6IkhVNFRYaFpSdmJ2REpLNEVaWHViUGc9PSIsInZhbHVlIjoiWk95dnlqcnNWL1REaWlaaGJtdUhEa01hRG1rRjg0WVJQekZTdzhyRmR1eE5DcjZ4b01takp5QU5LMHNybmZoRlFoN2ExRVNkZ1ZNZ0lEUFZVTjQ1NEhzaUllaWh5UXVYUEhhams0K3VGTm9mUEcrL2tPSlFtSmRNTFg4c3JwL1ciLCJtYWMiOiJlNTJkNWE2YWZjODNjZDg4NWY0NTE2ZGRmMTAwYTA5MmI5NjhhYmZmOGNjODU3OGU3ZWI0ODVlNDVmNTYzMzk0IiwidGFnIjoiIn0%3D; expires=Sun, 13 Apr 2025 01:27:26 GMT; Max-Age=7200; path=/; httponly; samesite=laxlaravel_session=eyJpdiI6IkhVNFRYaFpSdmJ2REpLNEVaWHViUGc9PSIsInZhbHVlIjoiWk95dnlqcnNWL1REaWlaaGJtdUhEa01hRG1rRjg0WVJQekZTdzhyRmR1eE5DcjZ4b01takp5QU5LMHNybmZoRlFo" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6IjhuaUZXaFN5b2hyYjE1TTBNYmwvdUE9PSIsInZhbHVlIjoiK0QyRXIvQldJRHZrL3F3WVQraWQwZ0srcW9Udi9WWGpYK0tncVFndWNRMFFuUUlxamkxWVBhTThBZjRvUmtaR2pTRGttYWg1UUgyc3c2cGdjZUMrSzJQMnFHek5CRFp4Um81bWxTZzRzV05LUUZnQVhKR3cyV01Fd1NkK1ZmY0EiLCJtYWMiOiI4NzYyNDU1MzE5NDZjOTQzMTlkMTYzMjI1M2JmNmQwMWU2MDcwZDQwYTljMmUzY2ZjYzIxZWM5OWE1ODU5ZDM5IiwidGFnIjoiIn0%3D; expires=Sun, 13-Apr-2025 01:27:26 GMT; path=/XSRF-TOKEN=eyJpdiI6IjhuaUZXaFN5b2hyYjE1TTBNYmwvdUE9PSIsInZhbHVlIjoiK0QyRXIvQldJRHZrL3F3WVQraWQwZ0srcW9Udi9WWGpYK0tncVFndWNRMFFuUUlxamkxWVBhTThBZjRvUmtaR2pTRGttY" 1 => "laravel_session=eyJpdiI6IkhVNFRYaFpSdmJ2REpLNEVaWHViUGc9PSIsInZhbHVlIjoiWk95dnlqcnNWL1REaWlaaGJtdUhEa01hRG1rRjg0WVJQekZTdzhyRmR1eE5DcjZ4b01takp5QU5LMHNybmZoRlFoN2ExRVNkZ1ZNZ0lEUFZVTjQ1NEhzaUllaWh5UXVYUEhhams0K3VGTm9mUEcrL2tPSlFtSmRNTFg4c3JwL1ciLCJtYWMiOiJlNTJkNWE2YWZjODNjZDg4NWY0NTE2ZGRmMTAwYTA5MmI5NjhhYmZmOGNjODU3OGU3ZWI0ODVlNDVmNTYzMzk0IiwidGFnIjoiIn0%3D; expires=Sun, 13-Apr-2025 01:27:26 GMT; path=/; httponlylaravel_session=eyJpdiI6IkhVNFRYaFpSdmJ2REpLNEVaWHViUGc9PSIsInZhbHVlIjoiWk95dnlqcnNWL1REaWlaaGJtdUhEa01hRG1rRjg0WVJQekZTdzhyRmR1eE5DcjZ4b01takp5QU5LMHNybmZoRlFo" ] ]
        session_attributes
        0 of 0
        array:5 [ "_token" => "BIydOYLPbOIoAkJzibGhnlGo3Wcg9VwTDcasWU1z" "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/%E7%AE%97%E6%B3%95%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%88%86%E6%9E%90%28%E9%AB%98%E7%BA%A7%29-%7C-advanced-design-and-analysis-of-algorithmshttps://www.corspedia.com/ar/%D8%A7%D9%84%D8%AF%D9%88%D8%B1%D8%A7%D8%AA/%E7%AE%97%E6%B3%95%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%88%86%E6%9E%90%28%E9%AB%98%E7%BA%A7%29-" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]