You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hello-algo/chapter_dynamic_programming/summary/index.html

3540 lines
85 KiB

1 year ago
<!doctype html>
<html lang="zh" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="动画图解、一键运行的数据结构与算法教程">
<meta name="author" content="Krahets">
<link rel="canonical" href="https://www.hello-algo.com/chapter_dynamic_programming/summary/">
<link rel="prev" href="../edit_distance_problem/">
1 year ago
<link rel="next" href="../../chapter_greedy/">
1 year ago
1 year ago
<link rel="icon" href="../../assets/images/favicon.png">
1 year ago
<meta name="generator" content="mkdocs-1.5.3, mkdocs-material-9.4.1">
1 year ago
1 year ago
<title>14.7   小结 - Hello 算法</title>
1 year ago
1 year ago
<link rel="stylesheet" href="../../assets/stylesheets/main.72749a73.min.css">
1 year ago
1 year ago
<link rel="stylesheet" href="../../assets/stylesheets/palette.a5377069.min.css">
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Noto+Sans+SC:300,300i,400,400i,700,700i%7CFira+Code:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Noto Sans SC";--md-code-font:"Fira Code"}</style>
<link rel="stylesheet" href="../../stylesheets/extra.css">
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
1 year ago
<link href="../../assets/stylesheets/glightbox.min.css" rel="stylesheet"/><style>
html.glightbox-open { overflow: initial; height: 100%; }
.gslide-title { margin-top: 0px; user-select: text; }
.gslide-desc { color: #666; user-select: text; }
.gslide-image img { background: white; }
.gscrollbar-fixer { padding-right: 15px; }
.gdesc-inner { font-size: 0.75rem; }
body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color);}
body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color);}
body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color);}
</style> <script src="../../assets/javascripts/glightbox.min.js"></script></head>
1 year ago
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="indigo">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
1 year ago
<a href="#147" class="md-skip">
1 year ago
跳转至
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="页眉">
<a href="../.." title="Hello 算法" class="md-header__button md-logo" aria-label="Hello 算法" data-md-component="logo">
<img src="../../assets/images/logo.png" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
1 year ago
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Hello 算法
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
1 year ago
14.7 &nbsp; 小结
1 year ago
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
1 year ago
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="indigo" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7.5 2c-1.79 1.15-3 3.18-3 5.5s1.21 4.35 3.03 5.5C4.46 13 2 10.54 2 7.5A5.5 5.5 0 0 1 7.5 2m11.57 1.5 1.43 1.43L4.93 20.5 3.5 19.07 19.07 3.5m-6.18 2.43L11.41 5 9.97 6l.42-1.7L9 3.24l1.75-.12.58-1.65L12 3.1l1.73.03-1.35 1.13.51 1.67m-3.3 3.61-1.16-.73-1.12.78.34-1.32-1.09-.83 1.36-.09.45-1.29.51 1.27 1.36.03-1.05.87.4 1.31M19 13.5a5.5 5.5 0 0 1-5.5 5.5c-1.22 0-2.35-.4-3.26-1.07l7.69-7.69c.67.91 1.07 2.04 1.07 3.26m-4.4 6.58 2.77-1.15-.24 3.35-2.53-2.2m4.33-2.7 1.15-2.77 2.2 2.54-3.35.23m1.15-4.96-1.14-2.78 3.34.24-2.2 2.54M9.63 18.93l2.77 1.15-2.53 2.19-.24-3.34Z"/></svg>
</label>
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="grey" data-md-color-accent="indigo" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7.5 2c-1.79 1.15-3 3.18-3 5.5s1.21 4.35 3.03 5.5C4.46 13 2 10.54 2 7.5A5.5 5.5 0 0 1 7.5 2m11.57 1.5 1.43 1.43L4.93 20.5 3.5 19.07 19.07 3.5m-6.18 2.43L11.41 5 9.97 6l.42-1.7L9 3.24l1.75-.12.58-1.65L12 3.1l1.73.03-1.35 1.13.51 1.67m-3.3 3.61-1.16-.73-1.12.78.34-1.32-1.09-.83 1.36-.09.45-1.29.51 1.27 1.36.03-1.05.87.4 1.31M19 13.5a5.5 5.5 0 0 1-5.5 5.5c-1.22 0-2.35-.4-3.26-1.07l7.69-7.69c.67.91 1.07 2.04 1.07 3.26m-4.4 6.58 2.77-1.15-.24 3.35-2.53-2.2m4.33-2.7 1.15-2.77 2.2 2.54-3.35.23m1.15-4.96-1.14-2.78 3.34.24-2.2 2.54M9.63 18.93l2.77 1.15-2.53 2.19-.24-3.34Z"/></svg>
</label>
</form>
1 year ago
1 year ago
<div class="md-header__option">
<div class="md-select">
<button class="md-header__button md-icon" aria-label="选择当前语言">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12.87 15.07-2.54-2.51.03-.03A17.52 17.52 0 0 0 14.07 6H17V4h-7V2H8v2H1v2h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04M18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12m-2.62 7 1.62-4.33L19.12 17h-3.24Z"/></svg>
</button>
<div class="md-select__inner">
<ul class="md-select__list">
<li class="md-select__item">
<a href="/" hreflang="zh" class="md-select__link">
中文
</a>
</li>
</ul>
</div>
</div>
</div>
1 year ago
<label class="md-header__button md-icon" for="__search">
1 year ago
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="搜索" placeholder="搜索" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
1 year ago
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
1 year ago
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</label>
<nav class="md-search__options" aria-label="查找">
<a href="javascript:void(0)" class="md-search__icon md-icon" title="分享" aria-label="分享" data-clipboard data-clipboard-text="" data-md-component="search-share" tabindex="-1">
1 year ago
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7 0-.24-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91 1.61 0 2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08Z"/></svg>
</a>
<button type="reset" class="md-search__icon md-icon" title="清空当前内容" aria-label="清空当前内容" tabindex="-1">
1 year ago
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
</button>
</nav>
<div class="md-search__suggest" data-md-component="search-suggest"></div>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
正在初始化搜索引擎
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/krahets/hello-algo" title="前往仓库" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
1 year ago
</div>
<div class="md-source__repository">
krahets/hello-algo
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
1 year ago
1 year ago
<nav class="md-nav md-nav--primary" aria-label="导航栏" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../.." title="Hello 算法" class="md-nav__button md-logo" aria-label="Hello 算法" data-md-component="logo">
<img src="../../assets/images/logo.png" alt="logo">
</a>
Hello 算法
</label>
<div class="md-nav__source">
<a href="https://github.com/krahets/hello-algo" title="前往仓库" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
1 year ago
</div>
<div class="md-source__repository">
krahets/hello-algo
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_1" >
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_preface/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 4H3a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2M3 19V6h8v13H3m18 0h-8V6h8v13m-7-9.5h6V11h-6V9.5m0 2.5h6v1.5h-6V12m0 2.5h6V16h-6v-1.5Z"/></svg>
<span class="md-ellipsis">
1 year ago
第 0 章 &nbsp; 前言
1 year ago
</span>
</a>
1 year ago
1 year ago
<label class="md-nav__link " for="__nav_1">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 0 章 &nbsp; 前言
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_preface/about_the_book/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
0.1 &nbsp; 关于本书
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_preface/suggestions/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
0.2 &nbsp; 如何使用本书
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_preface/summary/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
0.3 &nbsp; 小结
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
</ul>
</nav>
1 year ago
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_introduction/" class="md-nav__link ">
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 16H5V5h14v14M6.2 7.7h5v1.5h-5V7.7m6.8 8.1h5v1.5h-5v-1.5m0-2.6h5v1.5h-5v-1.5M8 18h1.5v-2h2v-1.5h-2v-2H8v2H6V16h2v2m6.1-7.1 1.4-1.4 1.4 1.4 1.1-1-1.4-1.4L18 7.1 16.9 6l-1.4 1.4L14.1 6 13 7.1l1.4 1.4L13 9.9l1.1 1Z"/></svg>
1 year ago
<span class="md-ellipsis">
1 year ago
第 1 章 &nbsp; 初识算法
1 year ago
</span>
</a>
1 year ago
1 year ago
<label class="md-nav__link " for="__nav_2">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 1 章 &nbsp; 初识算法
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_introduction/algorithms_are_everywhere/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
1.1 &nbsp; 算法无处不在
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_introduction/what_is_dsa/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
1.2 &nbsp; 算法是什么
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_introduction/summary/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
1.3 &nbsp; 小结
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
</ul>
</nav>
1 year ago
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_computational_complexity/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 2h12v6l-4 4 4 4v6H6v-6l4-4-4-4V2m10 14.5-4-4-4 4V20h8v-3.5m-4-5 4-4V4H8v3.5l4 4M10 6h4v.75l-2 2-2-2V6Z"/></svg>
<span class="md-ellipsis">
1 year ago
第 2 章 &nbsp; 复杂度分析
1 year ago
</span>
</a>
1 year ago
1 year ago
<label class="md-nav__link " for="__nav_3">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 2 章 &nbsp; 复杂度分析
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_computational_complexity/performance_evaluation/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
2.1 &nbsp; 算法效率评估
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_computational_complexity/iteration_and_recursion/" class="md-nav__link">
<span class="md-ellipsis">
2.2 &nbsp; 迭代与递归
</span>
1 year ago
<span class="md-status md-status--new" title="最近添加">
</span>
1 year ago
</a>
</li>
1 year ago
<li class="md-nav__item">
<a href="../../chapter_computational_complexity/time_complexity/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
2.3 &nbsp; 时间复杂度
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_computational_complexity/space_complexity/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
2.4 &nbsp; 空间复杂度
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_computational_complexity/summary/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
2.5 &nbsp; 小结
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
</ul>
</nav>
1 year ago
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_data_structure/" class="md-nav__link ">
1 year ago
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 13.5v8H3v-8h8m-2 2H5v4h4v-4M12 2l5.5 9h-11L12 2m0 3.86L10.08 9h3.84L12 5.86M17.5 13c2.5 0 4.5 2 4.5 4.5S20 22 17.5 22 13 20 13 17.5s2-4.5 4.5-4.5m0 2a2.5 2.5 0 0 0-2.5 2.5 2.5 2.5 0 0 0 2.5 2.5 2.5 2.5 0 0 0 2.5-2.5 2.5 2.5 0 0 0-2.5-2.5Z"/></svg>
1 year ago
1 year ago
<span class="md-ellipsis">
1 year ago
第 3 章 &nbsp; 数据结构
1 year ago
</span>
1 year ago
1 year ago
</a>
1 year ago
1 year ago
<label class="md-nav__link " for="__nav_4">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 3 章 &nbsp; 数据结构
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
1 year ago
<a href="../../chapter_data_structure/classification_of_data_structure/" class="md-nav__link">
<span class="md-ellipsis">
1 year ago
3.1 &nbsp; 数据结构分类
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_data_structure/basic_data_types/" class="md-nav__link">
<span class="md-ellipsis">
1 year ago
3.2 &nbsp; 基本数据类型
1 year ago
</span>
</a>
</li>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_data_structure/number_encoding/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
3.3 &nbsp; 数字编码 *
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_data_structure/character_encoding/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
3.4 &nbsp; 字符编码 *
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_data_structure/summary/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
3.5 &nbsp; 小结
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
</ul>
</nav>
1 year ago
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_array_and_linkedlist/" class="md-nav__link ">
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 5v14h17V5H3m4 2v2H5V7h2m-2 6v-2h2v2H5m0 2h2v2H5v-2m13 2H9v-2h9v2m0-4H9v-2h9v2m0-4H9V7h9v2Z"/></svg>
1 year ago
<span class="md-ellipsis">
1 year ago
第 4 章 &nbsp; 数组与链表
1 year ago
</span>
</a>
1 year ago
1 year ago
<label class="md-nav__link " for="__nav_5">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 4 章 &nbsp; 数组与链表
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_array_and_linkedlist/array/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
4.1 &nbsp; 数组
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_array_and_linkedlist/linked_list/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
4.2 &nbsp; 链表
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_array_and_linkedlist/list/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
4.3 &nbsp; 列表
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_array_and_linkedlist/summary/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
4.4 &nbsp; 小结
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
</ul>
</nav>
1 year ago
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_stack_and_queue/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.36 20.2v-5.38h1.79V22H3v-7.18h1.8v5.38h12.56M6.77 14.32l.37-1.76 8.79 1.85-.37 1.76-8.79-1.85m1.16-4.21.76-1.61 8.14 3.78-.76 1.62-8.14-3.79m2.26-3.99 1.15-1.38 6.9 5.76-1.15 1.37-6.9-5.75m4.45-4.25L20 9.08l-1.44 1.07-5.36-7.21 1.44-1.07M6.59 18.41v-1.8h8.98v1.8H6.59Z"/></svg>
<span class="md-ellipsis">
1 year ago
第 5 章 &nbsp; 栈与队列
1 year ago
</span>
</a>
1 year ago
1 year ago
<label class="md-nav__link " for="__nav_6">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 5 章 &nbsp; 栈与队列
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_stack_and_queue/stack/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
5.1 &nbsp;
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_stack_and_queue/queue/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
5.2 &nbsp; 队列
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_stack_and_queue/deque/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
5.3 &nbsp; 双向队列
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_stack_and_queue/summary/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
5.4 &nbsp; 小结
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
</ul>
</nav>
1 year ago
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_hashing/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19.3 17.89c1.32-2.1.7-4.89-1.41-6.21a4.52 4.52 0 0 0-6.21 1.41C10.36 15.2 11 18 13.09 19.3c1.47.92 3.33.92 4.8 0L21 22.39 22.39 21l-3.09-3.11m-2-.62c-.98.98-2.56.97-3.54 0-.97-.98-.97-2.56.01-3.54.97-.97 2.55-.97 3.53 0 .96.99.95 2.57-.03 3.54h.03M19 4H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5.81a6.3 6.3 0 0 1-1.31-2H5v-4h4.18c.16-.71.43-1.39.82-2H5V8h6v2.81a6.3 6.3 0 0 1 2-1.31V8h6v2a6.499 6.499 0 0 1 2 2V6a2 2 0 0 0-2-2Z"/></svg>
<span class="md-ellipsis">
1 year ago
第 6 章 &nbsp; 哈希表
1 year ago
</span>
</a>
1 year ago
1 year ago
<label class="md-nav__link " for="__nav_7">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 6 章 &nbsp; 哈希表
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_hashing/hash_map/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
6.1 &nbsp; 哈希表
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_hashing/hash_collision/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
6.2 &nbsp; 哈希冲突
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_hashing/hash_algorithm/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
6.3 &nbsp; 哈希算法
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_hashing/summary/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
6.4 &nbsp; 小结
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
</ul>
</nav>
1 year ago
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_tree/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19.5 17c-.14 0-.26 0-.39.04L17.5 13.8c.45-.45.75-1.09.75-1.8a2.5 2.5 0 0 0-2.5-2.5c-.14 0-.25 0-.4.04L13.74 6.3c.47-.46.76-1.09.76-1.8a2.5 2.5 0 0 0-5 0c0 .7.29 1.34.76 1.79L8.65 9.54c-.15-.04-.26-.04-.4-.04a2.5 2.5 0 0 0-2.5 2.5c0 .71.29 1.34.75 1.79l-1.61 3.25C4.76 17 4.64 17 4.5 17a2.5 2.5 0 0 0 0 5A2.5 2.5 0 0 0 7 19.5c0-.7-.29-1.34-.76-1.79l1.62-3.25c.14.04.26.04.39.04s.25 0 .38-.04l1.63 3.25c-.47.45-.76 1.09-.76 1.79a2.5 2.5 0 0 0 5 0A2.5 2.5 0 0 0 12 17c-.13 0-.26 0-.39.04L10 13.8c.45-.45.75-1.09.75-1.8 0-.7-.29-1.33-.75-1.79l1.61-3.25c.13.04.26.04.39.04s.26 0 .39-.04L14 10.21a2.5 2.5 0 0 0 1.75 4.29c.13 0 .25 0 .38-.04l1.63 3.25c-.47.45-.76 1.09-.76 1.79a2.5 2.5 0 0 0 5 0 2.5 2.5 0 0 0-2.5-2.5m-15 3.5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1m8.5-1c0 .55-.45 1-1 1s-1-.45-1-1 .45-1 1-1 1 .45 1 1M7.25 12c0-.55.45-1 1-1s1 .45 1 1-.45 1-1 1-1-.45-1-1M11 4.5c0-.55.45-1 1-1s1 .45 1 1-.45 1-1 1-1-.45-1-1m3.75 7.5c0-.55.45-1 1-1s1 .45 1 1-.45 1-1 1-1-.45-1-1m4.75 8.5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1Z"/></svg>
<span class="md-ellipsis">
1 year ago
第 7 章 &nbsp;
1 year ago
</span>
</a>
1 year ago
1 year ago
<label class="md-nav__link " for="__nav_8">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 7 章 &nbsp;
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_tree/binary_tree/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
7.1 &nbsp; 二叉树
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_tree/binary_tree_traversal/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
7.2 &nbsp; 二叉树遍历
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_tree/array_representation_of_tree/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
7.3 &nbsp; 二叉树数组表示
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_tree/binary_search_tree/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
7.4 &nbsp; 二叉搜索树
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_tree/avl_tree/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
7.5 &nbsp; AVL 树 *
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_tree/summary/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
7.6 &nbsp; 小结
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
</ul>
</nav>
1 year ago
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_heap/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 1a2.5 2.5 0 0 0-2.5 2.5A2.5 2.5 0 0 0 11 5.79V7H7a2 2 0 0 0-2 2v.71A2.5 2.5 0 0 0 3.5 12 2.5 2.5 0 0 0 5 14.29V15H4a2 2 0 0 0-2 2v1.21A2.5 2.5 0 0 0 .5 20.5 2.5 2.5 0 0 0 3 23a2.5 2.5 0 0 0 2.5-2.5A2.5 2.5 0 0 0 4 18.21V17h4v1.21a2.5 2.5 0 0 0-1.5 2.29A2.5 2.5 0 0 0 9 23a2.5 2.5 0 0 0 2.5-2.5 2.5 2.5 0 0 0-1.5-2.29V17a2 2 0 0 0-2-2H7v-.71A2.5 2.5 0 0 0 8.5 12 2.5 2.5 0 0 0 7 9.71V9h10v.71A2.5 2.5 0 0 0 15.5 12a2.5 2.5 0 0 0 1.5 2.29V15h-1a2 2 0 0 0-2 2v1.21a2.5 2.5 0 0 0-1.5 2.29A2.5 2.5 0 0 0 15 23a2.5 2.5 0 0 0 2.5-2.5 2.5 2.5 0 0 0-1.5-2.29V17h4v1.21a2.5 2.5 0 0 0-1.5 2.29A2.5 2.5 0 0 0 21 23a2.5 2.5 0 0 0 2.5-2.5 2.5 2.5 0 0 0-1.5-2.29V17a2 2 0 0 0-2-2h-1v-.71A2.5 2.5 0 0 0 20.5 12 2.5 2.5 0 0 0 19 9.71V9a2 2 0 0 0-2-2h-4V5.79a2.5 2.5 0 0 0 1.5-2.29A2.5 2.5 0 0 0 12 1m0 1.5a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1M6 11a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1m12 0a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1M3 19.5a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1m6 0a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1m6 0a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1m6 0a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1Z"/></svg>
<span class="md-ellipsis">
1 year ago
第 8 章 &nbsp;
1 year ago
</span>
</a>
1 year ago
1 year ago
<label class="md-nav__link " for="__nav_9">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_9">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 8 章 &nbsp;
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_heap/heap/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
8.1 &nbsp;
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_heap/build_heap/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
8.2 &nbsp; 建堆操作
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_heap/top_k/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
8.3 &nbsp; Top-K 问题
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_heap/summary/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
8.4 &nbsp; 小结
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
</ul>
</nav>
1 year ago
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_graph/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12 5.37-.44-.06L6 14.9c.24.21.4.48.47.78h11.06c.07-.3.23-.57.47-.78l-5.56-9.59-.44.06M6.6 16.53l4.28 2.53c.29-.27.69-.43 1.12-.43.43 0 .83.16 1.12.43l4.28-2.53H6.6M12 22a1.68 1.68 0 0 1-1.68-1.68l.09-.56-4.3-2.55c-.31.36-.76.58-1.27.58a1.68 1.68 0 0 1-1.68-1.68c0-.79.53-1.45 1.26-1.64V9.36c-.83-.11-1.47-.82-1.47-1.68A1.68 1.68 0 0 1 4.63 6c.55 0 1.03.26 1.34.66l4.41-2.53-.06-.45c0-.93.75-1.68 1.68-1.68.93 0 1.68.75 1.68 1.68l-.06.45 4.41 2.53c.31-.4.79-.66 1.34-.66a1.68 1.68 0 0 1 1.68 1.68c0 .86-.64 1.57-1.47 1.68v5.11c.73.19 1.26.85 1.26 1.64a1.68 1.68 0 0 1-1.68 1.68c-.51 0-.96-.22-1.27-.58l-4.3 2.55.09.56A1.68 1.68 0 0 1 12 22M10.8 4.86 6.3 7.44l.02.24c0 .71-.44 1.32-1.06 1.57l.03 5.25 5.51-9.64m2.4 0 5.51 9.64.03-5.25c-.62-.25-1.06-.86-1.06-1.57l.02-.24-4.5-2.58Z"/></svg>
<span class="md-ellipsis">
1 year ago
第 9 章 &nbsp;
1 year ago
</span>
</a>
1 year ago
1 year ago
<label class="md-nav__link " for="__nav_10">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_10">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 9 章 &nbsp;
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_graph/graph/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
9.1 &nbsp;
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_graph/graph_operations/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
9.2 &nbsp; 图基础操作
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_graph/graph_traversal/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
9.3 &nbsp; 图的遍历
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_graph/summary/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
9.4 &nbsp; 小结
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
</ul>
</nav>
1 year ago
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_searching/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m19.31 18.9 3.08 3.1L21 23.39l-3.12-3.07c-.69.43-1.51.68-2.38.68-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5c0 .88-.25 1.71-.69 2.4m-3.81.1a2.5 2.5 0 0 0 0-5 2.5 2.5 0 0 0 0 5M21 4v2H3V4h18M3 16v-2h6v2H3m0-5V9h18v2h-2.03c-1.01-.63-2.2-1-3.47-1s-2.46.37-3.47 1H3Z"/></svg>
<span class="md-ellipsis">
1 year ago
第 10 章 &nbsp; 搜索
1 year ago
</span>
</a>
1 year ago
1 year ago
<label class="md-nav__link " for="__nav_11">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_11_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_11">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 10 章 &nbsp; 搜索
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_searching/binary_search/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
10.1 &nbsp; 二分查找
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_searching/binary_search_insertion/" class="md-nav__link">
<span class="md-ellipsis">
1 year ago
10.2 &nbsp; 二分查找插入点
1 year ago
</span>
</a>
</li>
1 year ago
<li class="md-nav__item">
<a href="../../chapter_searching/binary_search_edge/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
10.3 &nbsp; 二分查找边界
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_searching/replace_linear_by_hashing/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
10.4 &nbsp; 哈希优化策略
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_searching/searching_algorithm_revisited/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
10.5 &nbsp; 重识搜索算法
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_searching/summary/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
10.6 &nbsp; 小结
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
</ul>
</nav>
1 year ago
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_sorting/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 17h3l-4 4-4-4h3V3h2M2 17h10v2H2M6 5v2H2V5m0 6h7v2H2v-2Z"/></svg>
<span class="md-ellipsis">
1 year ago
第 11 章 &nbsp; 排序
1 year ago
</span>
</a>
1 year ago
<label class="md-nav__link " for="__nav_12">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
1 year ago
1 year ago
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_12_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_12">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 11 章 &nbsp; 排序
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_sorting/sorting_algorithm/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
11.1 &nbsp; 排序算法
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_sorting/selection_sort/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
11.2 &nbsp; 选择排序
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_sorting/bubble_sort/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
11.3 &nbsp; 冒泡排序
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_sorting/insertion_sort/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
11.4 &nbsp; 插入排序
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_sorting/quick_sort/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
11.5 &nbsp; 快速排序
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_sorting/merge_sort/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
11.6 &nbsp; 归并排序
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_sorting/heap_sort/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
11.7 &nbsp; 堆排序
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_sorting/bucket_sort/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
11.8 &nbsp; 桶排序
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_sorting/counting_sort/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
11.9 &nbsp; 计数排序
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_sorting/radix_sort/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
11.10 &nbsp; 基数排序
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_sorting/summary/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
11.11 &nbsp; 小结
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
</ul>
</nav>
1 year ago
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_13" >
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_divide_and_conquer/" class="md-nav__link ">
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 7v2h5V7h-5M2 9v6h5V9H2m10 0v2H9v2h3v2l3-3-3-3m5 2v2h5v-2h-5m0 4v2h5v-2h-5Z"/></svg>
1 year ago
<span class="md-ellipsis">
1 year ago
第 12 章 &nbsp; 分治
1 year ago
</span>
</a>
1 year ago
1 year ago
<label class="md-nav__link " for="__nav_13">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_13_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_13">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 12 章 &nbsp; 分治
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_divide_and_conquer/divide_and_conquer/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
12.1 &nbsp; 分治算法
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_divide_and_conquer/binary_search_recur/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
12.2 &nbsp; 分治搜索策略
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
1 year ago
<a href="../../chapter_divide_and_conquer/build_binary_tree_problem/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
12.3 &nbsp; 构建树问题
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_divide_and_conquer/hanota_problem/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
12.4 &nbsp; 汉诺塔问题
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_divide_and_conquer/summary/" class="md-nav__link">
<span class="md-ellipsis">
1 year ago
12.5 &nbsp; 小结
1 year ago
</span>
</a>
</li>
1 year ago
</ul>
</nav>
1 year ago
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_14" >
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_backtracking/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 15a3 3 0 0 1 3 3 3 3 0 0 1-3 3 2.99 2.99 0 0 1-2.83-2H14v-2h1.17c.41-1.17 1.52-2 2.83-2m0 2a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1 1 1 0 0 0-1-1m0-9a1.43 1.43 0 0 0 1.43-1.43 1.43 1.43 0 1 0-2.86 0A1.43 1.43 0 0 0 18 8m0-5.43a4 4 0 0 1 4 4C22 9.56 18 14 18 14s-4-4.44-4-7.43a4 4 0 0 1 4-4M8.83 17H10v2H8.83A2.99 2.99 0 0 1 6 21a3 3 0 0 1-3-3c0-1.31.83-2.42 2-2.83V14h2v1.17c.85.3 1.53.98 1.83 1.83M6 17a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1 1 1 0 0 0-1-1M6 3a3 3 0 0 1 3 3c0 1.31-.83 2.42-2 2.83V10H5V8.83A2.99 2.99 0 0 1 3 6a3 3 0 0 1 3-3m0 2a1 1 0 0 0-1 1 1 1 0 0 0 1 1 1 1 0 0 0 1-1 1 1 0 0 0-1-1m5 14v-2h2v2h-2m-4-6H5v-2h2v2Z"/></svg>
<span class="md-ellipsis">
1 year ago
第 13 章 &nbsp; 回溯
1 year ago
</span>
</a>
1 year ago
1 year ago
<label class="md-nav__link " for="__nav_14">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_14_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_14">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 13 章 &nbsp; 回溯
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_backtracking/backtracking_algorithm/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
13.1 &nbsp; 回溯算法
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_backtracking/permutations_problem/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
13.2 &nbsp; 全排列问题
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_backtracking/subset_sum_problem/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
13.3 &nbsp; 子集和问题
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_backtracking/n_queens_problem/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
13.4 &nbsp; N 皇后问题
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_backtracking/summary/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
13.5 &nbsp; 小结
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
</ul>
</nav>
1 year ago
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" checked>
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M22 15h-2v3c0 1.11-.89 2-2 2h-3v2l-3-3 3-3v2h3v-3h-2l3-3 3 3m0-11v4c0 1.1-.9 2-2 2H10v10c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h16c1.1 0 2 .9 2 2M4 8h4V4H4v4m0 2v4h4v-4H4m4 10v-4H4v4h4m6-12V4h-4v4h4m6-4h-4v4h4V4Z"/></svg>
<span class="md-ellipsis">
1 year ago
第 14 章 &nbsp; 动态规划
1 year ago
</span>
</a>
1 year ago
1 year ago
<label class="md-nav__link " for="__nav_15">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_15_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_15">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 14 章 &nbsp; 动态规划
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../intro_to_dynamic_programming/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
14.1 &nbsp; 初探动态规划
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../dp_problem_features/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
14.2 &nbsp; DP 问题特性
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../dp_solution_pipeline/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
14.3 &nbsp; DP 解题思路
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../knapsack_problem/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
14.4 &nbsp; 0-1 背包问题
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../unbounded_knapsack_problem/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
14.5 &nbsp; 完全背包问题
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../edit_distance_problem/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
14.6 &nbsp; 编辑距离问题
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<a href="./" class="md-nav__link md-nav__link--active">
1 year ago
<span class="md-ellipsis">
1 year ago
14.7 &nbsp; 小结
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
</ul>
</nav>
1 year ago
</li>
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
1 year ago
<a href="../../chapter_greedy/" class="md-nav__link ">
1 year ago
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 3c3.88 0 7 3.14 7 7 0 2.8-1.63 5.19-4 6.31V21H9v-3H8c-1.11 0-2-.89-2-2v-3H4.5c-.42 0-.66-.5-.42-.81L6 9.66A7.003 7.003 0 0 1 13 3m0-2C8.41 1 4.61 4.42 4.06 8.9L2.5 11h-.03l-.02.03c-.55.76-.62 1.76-.19 2.59.36.69 1 1.17 1.74 1.32V16c0 1.85 1.28 3.42 3 3.87V23h11v-5.5c2.5-1.67 4-4.44 4-7.5 0-4.97-4.04-9-9-9m4 7.83c0 1.54-1.36 2.77-3.42 4.64L13 14l-.58-.53C10.36 11.6 9 10.37 9 8.83c0-1.2.96-2.19 2.16-2.2h.04c.69 0 1.35.31 1.8.83.45-.52 1.11-.83 1.8-.83 1.2-.01 2.2.96 2.2 2.16v.04Z"/></svg>
1 year ago
<span class="md-ellipsis">
1 year ago
第 15 章 &nbsp; 贪心
1 year ago
</span>
</a>
1 year ago
<label class="md-nav__link " for="__nav_16">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_16_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_16">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 15 章 &nbsp; 贪心
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../chapter_greedy/greedy_algorithm/" class="md-nav__link">
<span class="md-ellipsis">
1 year ago
15.1 &nbsp; 贪心算法
1 year ago
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_greedy/fractional_knapsack_problem/" class="md-nav__link">
<span class="md-ellipsis">
1 year ago
15.2 &nbsp; 分数背包问题
1 year ago
</span>
</a>
</li>
1 year ago
<li class="md-nav__item">
<a href="../../chapter_greedy/max_capacity_problem/" class="md-nav__link">
<span class="md-ellipsis">
1 year ago
15.3 &nbsp; 最大容量问题
1 year ago
</span>
</a>
</li>
1 year ago
<li class="md-nav__item">
<a href="../../chapter_greedy/max_product_cutting_problem/" class="md-nav__link">
<span class="md-ellipsis">
1 year ago
15.4 &nbsp; 最大切分乘积问题
1 year ago
</span>
</a>
</li>
1 year ago
<li class="md-nav__item">
<a href="../../chapter_greedy/summary/" class="md-nav__link">
<span class="md-ellipsis">
1 year ago
15.5 &nbsp; 小结
1 year ago
</span>
</a>
</li>
1 year ago
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_17" >
<div class="md-nav__link md-nav__container">
<a href="../../chapter_appendix/" class="md-nav__link ">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 18h2v-2h-2v2m1-16A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14a4 4 0 0 0-4 4h2a2 2 0 0 1 2-2 2 2 0 0 1 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5a4 4 0 0 0-4-4Z"/></svg>
<span class="md-ellipsis">
1 year ago
第 16 章 &nbsp; 附录
1 year ago
</span>
</a>
1 year ago
<label class="md-nav__link " for="__nav_17">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<span class="md-nav__icon md-icon"></span>
1 year ago
第 16 章 &nbsp; 附录
1 year ago
</label>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_appendix/installation/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
16.1 &nbsp; 编程环境安装
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
1 year ago
<li class="md-nav__item">
<a href="../../chapter_appendix/contribution/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
16.2 &nbsp; 一起参与创作
1 year ago
</span>
1 year ago
</a>
</li>
1 year ago
1 year ago
1 year ago
</ul>
</nav>
1 year ago
</li>
1 year ago
1 year ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_18" >
1 year ago
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_reference/" class="md-nav__link ">
<span class="md-ellipsis">
参考文献
</span>
</a>
1 year ago
1 year ago
</div>
1 year ago
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_18_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_18">
1 year ago
<span class="md-nav__icon md-icon"></span>
参考文献
</label>
<ul class="md-nav__list" data-md-scrollfix>
</ul>
</nav>
1 year ago
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="目录">
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
1 year ago
<!--
Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
-->
<!-- Tags -->
<!-- Actions -->
1 year ago
<a href="https://github.com/krahets/hello-algo/tree/main/docs/chapter_dynamic_programming/summary.md" title="编辑此页" class="md-content__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg>
</a>
1 year ago
<!--
Hack: check whether the content contains a h1 headline. If it doesn't, the
page title (or respectively site name) is used as the main headline.
-->
<!-- Page content -->
1 year ago
<h1 id="147">14.7 &nbsp; 小结<a class="headerlink" href="#147" title="Permanent link">&para;</a></h1>
1 year ago
<ul>
1 year ago
<li>动态规划对问题进行分解,并通过存储子问题的解来规避重复计算,实现高效的计算效率。</li>
1 year ago
<li>不考虑时间的前提下,所有动态规划问题都可以用回溯(暴力搜索)进行求解,但递归树中存在大量的重叠子问题,效率极低。通过引入记忆化列表,可以存储所有计算过的子问题的解,从而保证重叠子问题只被计算一次。</li>
1 year ago
<li>记忆化递归是一种从顶至底的递归式解法,而与之对应的动态规划是一种从底至顶的递推式解法,其如同“填写表格”一样。由于当前状态仅依赖于某些局部状态,因此我们可以消除 <span class="arithmatex">\(dp\)</span> 表的一个维度,从而降低空间复杂度。</li>
<li>子问题分解是一种通用的算法思路,在分治、动态规划、回溯中具有不同的性质。</li>
<li>动态规划问题的三大特性:重叠子问题、最优子结构、无后效性。</li>
<li>如果原问题的最优解可以从子问题的最优解构建得来,则它就具有最优子结构。</li>
<li>无后效性指对于一个状态,其未来发展只与该状态有关,与其所经历的过去的所有状态无关。许多组合优化问题都不具有无后效性,无法使用动态规划快速求解。</li>
1 year ago
</ul>
<p><strong>背包问题</strong></p>
<ul>
1 year ago
<li>背包问题是最典型的动态规划题目,具有 0-1 背包、完全背包、多重背包等变种问题。</li>
1 year ago
<li>0-1 背包的状态定义为前 <span class="arithmatex">\(i\)</span> 个物品在剩余容量为 <span class="arithmatex">\(c\)</span> 的背包中的最大价值。根据不放入背包和放入背包两种决策,可得到最优子结构,并构建出状态转移方程。在空间优化中,由于每个状态依赖正上方和左上方的状态,因此需要倒序遍历列表,避免左上方状态被覆盖。</li>
<li>完全背包的每种物品的选取数量无限制,因此选择放入物品的状态转移与 0-1 背包不同。由于状态依赖于正上方和正左方的状态,因此在空间优化中应当正序遍历。</li>
1 year ago
<li>零钱兑换问题是完全背包的一个变种。它从求“最大”价值变为求“最小”硬币数量,因此状态转移方程中的 <span class="arithmatex">\(\max()\)</span> 应改为 <span class="arithmatex">\(\min()\)</span> 。从求“不超过”背包容量到求“恰好”凑出目标金额,因此使用 <span class="arithmatex">\(amt + 1\)</span> 来表示“无法凑出目标金额”的无效解。</li>
1 year ago
<li>零钱兑换 II 问题从求“最少硬币数量”改为求“硬币组合数量”,状态转移方程相应地从 <span class="arithmatex">\(\min()\)</span> 改为求和运算符。</li>
1 year ago
</ul>
<p><strong>编辑距离问题</strong></p>
<ul>
1 year ago
<li>编辑距离Levenshtein 距离)用于衡量两个字符串之间的相似度,其定义为从一个字符串到另一个字符串的最小编辑步数,编辑操作包括添加、删除、替换。</li>
1 year ago
<li>编辑距离问题的状态定义为将 <span class="arithmatex">\(s\)</span> 的前 <span class="arithmatex">\(i\)</span> 个字符更改为 <span class="arithmatex">\(t\)</span> 的前 <span class="arithmatex">\(j\)</span> 个字符所需的最少编辑步数。当 <span class="arithmatex">\(s[i] \ne t[j]\)</span> 时,具有三种决策:添加、删除、替换,它们都有相应的剩余子问题。据此便可以找出最优子结构与构建状态转移方程。而当 <span class="arithmatex">\(s[i] = t[j]\)</span> 时,无须编辑当前字符。</li>
1 year ago
<li>在编辑距离中,状态依赖于其正上方、正左方、左上方的状态,因此空间优化后正序或倒序遍历都无法正确地进行状态转移。为此,我们利用一个变量暂存左上方状态,从而转化到与完全背包等价的情况,可以在空间优化后进行正序遍历。</li>
1 year ago
</ul>
1 year ago
<!-- Source file information -->
<!-- Was this page helpful? -->
<!-- Previous and next pages link -->
<nav
class="md-footer__inner md-grid"
aria-label="页脚"
1 year ago
1 year ago
>
1 year ago
1 year ago
<!-- Link to previous page -->
<a
href="../edit_distance_problem/"
class="md-footer__link md-footer__link--prev"
aria-label="上一页: 14.6 &amp;nbsp; 编辑距离问题"
rel="prev"
>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</div>
<div class="md-footer__title">
<span class="md-footer__direction">
上一页
</span>
<div class="md-ellipsis">
14.6 &nbsp; 编辑距离问题
</div>
</div>
</a>
1 year ago
1 year ago
<!-- Link to next page -->
<a
href="../../chapter_greedy/"
class="md-footer__link md-footer__link--next"
aria-label="下一页: 第 15 章 &amp;nbsp; 贪心"
rel="next"
>
<div class="md-footer__title">
<span class="md-footer__direction">
下一页
</span>
<div class="md-ellipsis">
第 15 章 &nbsp; 贪心
</div>
</div>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg>
</div>
</a>
</nav>
<!-- Comment system -->
1 year ago
1 year ago
<h5 align="center" id="__comments">欢迎在评论区留下你的见解、疑惑或建议</h5>
1 year ago
1 year ago
<!-- Insert generated snippet here -->
<script
src="https://giscus.app/client.js"
data-repo="krahets/hello-algo"
data-repo-id="R_kgDOIXtSqw"
data-category="Announcements"
data-category-id="DIC_kwDOIXtSq84CSZk_"
data-mapping="pathname"
data-strict="1"
data-reactions-enabled="1"
data-emit-metadata="0"
data-input-position="top"
data-theme="preferred_color_scheme"
data-lang="zh-CN"
crossorigin="anonymous"
async
>
</script>
<!-- Synchronize Giscus theme with palette -->
<script>
var giscus = document.querySelector("script[src*=giscus]")
/* Set palette on initial load */
var palette = __md_get("__palette")
if (palette && typeof palette.color === "object") {
1 year ago
var theme = palette.color.scheme === "slate" ? "dark_dimmed" : "light"
1 year ago
giscus.setAttribute("data-theme", theme)
}
/* Register event handlers after documented loaded */
document.addEventListener("DOMContentLoaded", function() {
var ref = document.querySelector("[data-md-component=palette]")
ref.addEventListener("change", function() {
var palette = __md_get("__palette")
if (palette && typeof palette.color === "object") {
1 year ago
var theme = palette.color.scheme === "slate" ? "dark_dimmed" : "light"
1 year ago
/* Instruct Giscus to change theme */
var frame = document.querySelector(".giscus-frame")
frame.contentWindow.postMessage(
{ giscus: { setConfig: { theme } } },
"https://giscus.app"
)
}
})
})
</script>
</article>
</div>
<script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var tab,labels=set.querySelector(".tabbed-labels");for(tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script>
</div>
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
1 year ago
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg>
回到页面顶部
</button>
</main>
1 year ago
<footer class="md-footer">
<nav class="md-footer__inner md-grid" aria-label="页脚" >
<a href="../edit_distance_problem/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 14.6 &amp;nbsp; 编辑距离问题" rel="prev">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</div>
<div class="md-footer__title">
<span class="md-footer__direction">
上一页
</span>
<div class="md-ellipsis">
14.6 &nbsp; 编辑距离问题
</div>
</div>
</a>
<a href="../../chapter_greedy/" class="md-footer__link md-footer__link--next" aria-label="下一页: 第 15 章 &amp;nbsp; 贪心" rel="next">
<div class="md-footer__title">
<span class="md-footer__direction">
下一页
</span>
<div class="md-ellipsis">
第 15 章 &nbsp; 贪心
</div>
</div>
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg>
</div>
</a>
</nav>
1 year ago
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
1 year ago
Copyright &copy; 2022 - 2023 Krahets
1 year ago
</div>
</div>
<div class="md-social">
<a href="https://github.com/krahets" target="_blank" rel="noopener" title="github.com" class="md-social__link">
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
1 year ago
</a>
<a href="https://twitter.com/krahets" target="_blank" rel="noopener" title="twitter.com" class="md-social__link">
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
1 year ago
</a>
<a href="https://leetcode.cn/u/jyd/" target="_blank" rel="noopener" title="leetcode.cn" class="md-social__link">
1 year ago
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2023 Fonticons, Inc.--><path d="M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3l89.3 89.4-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"/></svg>
1 year ago
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
1 year ago
<script id="__config" type="application/json">{"base": "../..", "features": ["content.action.edit", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "navigation.indexes", "navigation.instant", "navigation.top", "navigation.footer", "navigation.tracking", "search.highlight", "search.share", "search.suggest", "toc.follow"], "search": "../../assets/javascripts/workers/search.a264c092.min.js", "translations": {"clipboard.copied": "\u5df2\u590d\u5236", "clipboard.copy": "\u590d\u5236", "search.result.more.one": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.more.other": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 # \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.none": "\u6ca1\u6709\u627e\u5230\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.one": "\u627e\u5230 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.other": "# \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.placeholder": "\u952e\u5165\u4ee5\u5f00\u59cb\u641c\u7d22", "search.result.term.missing": "\u7f3a\u5c11", "select.version": "\u9009\u62e9\u5f53\u524d\u7248\u672c"}}</script>
1 year ago
1 year ago
<script src="../../assets/javascripts/bundle.4e0fa4ba.min.js"></script>
1 year ago
1 year ago
<script src="../../javascripts/mathjax.js"></script>
1 year ago
1 year ago
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
1 year ago
1 year ago
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
1 year ago
1 year ago
<script>document$.subscribe(() => {const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": false, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "none"});})</script></body>
1 year ago
</html>