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_graph/graph/index.html

3699 lines
91 KiB

2 years ago
<!doctype html>
<html lang="zh" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
1 year ago
<meta name="description" content="动画图解、一键运行的数据结构与算法教程">
2 years ago
<meta name="author" content="Krahets">
<link rel="canonical" href="https://www.hello-algo.com/chapter_graph/graph/">
1 year ago
<link rel="prev" href="../">
2 years ago
<link rel="next" href="../graph_operations/">
1 year ago
2 years 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">
2 years ago
1 year ago
<title>9.1   图 - Hello 算法</title>
2 years ago
1 year ago
<link rel="stylesheet" href="../../assets/stylesheets/main.72749a73.min.css">
2 years ago
1 year ago
<link rel="stylesheet" href="../../assets/stylesheets/palette.a5377069.min.css">
2 years ago
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
1 year ago
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="indigo">
2 years ago
<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">
2 years ago
<a href="#91" class="md-skip">
2 years ago
跳转至
</a>
</div>
<div data-md-component="announce">
</div>
2 years ago
<header class="md-header md-header--shadow" data-md-component="header">
2 years ago
<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
2 years 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
9.1 &nbsp;
2 years ago
</span>
</div>
</div>
</div>
1 year ago
<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
2 years ago
<label class="md-header__button md-icon" for="__search">
1 year ago
2 years 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
2 years 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
2 years 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
2 years 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
2 years 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>
2 years 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
2 years 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>
2 years ago
</div>
<div class="md-source__repository">
krahets/hello-algo
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
2 years ago
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
2 years 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>
2 years 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
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
</ul>
</nav>
2 years ago
</li>
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
2 years ago
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
2 years 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>
2 years 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
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
</ul>
</nav>
2 years ago
</li>
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
2 years ago
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
2 years 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>
2 years 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
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
</ul>
</nav>
2 years ago
</li>
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
2 years ago
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_data_structure/" class="md-nav__link ">
2 years 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>
2 years ago
1 year ago
<span class="md-ellipsis">
1 year ago
第 3 章 &nbsp; 数据结构
1 year ago
</span>
2 years ago
1 year ago
</a>
2 years 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>
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years 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>
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
</ul>
</nav>
2 years ago
</li>
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
2 years ago
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
2 years 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>
2 years 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
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
</ul>
</nav>
2 years ago
</li>
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
2 years ago
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
2 years 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>
2 years 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
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
</ul>
</nav>
2 years ago
</li>
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
2 years ago
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
2 years 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>
2 years 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
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
</ul>
</nav>
2 years ago
</li>
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
2 years ago
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
2 years 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>
2 years 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
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
</ul>
</nav>
2 years ago
</li>
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
2 years ago
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
2 years 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>
2 years 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
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
</ul>
</nav>
2 years ago
</li>
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
1 year ago
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" checked>
1 year ago
2 years 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="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>
2 years 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="true">
<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
2 years ago
1 year ago
2 years ago
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
1 year ago
<span class="md-ellipsis">
1 year ago
9.1 &nbsp;
1 year ago
</span>
2 years ago
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
1 year ago
<span class="md-ellipsis">
1 year ago
9.1 &nbsp;
1 year ago
</span>
2 years ago
</a>
<nav class="md-nav md-nav--secondary" aria-label="目录">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
目录
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
2 years ago
<a href="#911" class="md-nav__link">
1 year ago
9.1.1 &nbsp; 图常见类型与术语
2 years ago
</a>
</li>
<li class="md-nav__item">
2 years ago
<a href="#912" class="md-nav__link">
1 year ago
9.1.2 &nbsp; 图的表示
2 years ago
</a>
1 year ago
<nav class="md-nav" aria-label="9.1.2   图的表示">
2 years ago
<ul class="md-nav__list">
<li class="md-nav__item">
1 year ago
<a href="#1" class="md-nav__link">
1. &nbsp; 邻接矩阵
2 years ago
</a>
</li>
<li class="md-nav__item">
1 year ago
<a href="#2" class="md-nav__link">
2. &nbsp; 邻接表
2 years ago
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
1 year ago
<a href="#913" class="md-nav__link">
9.1.3 &nbsp; 图常见应用
2 years ago
</a>
</li>
</ul>
</nav>
</li>
1 year ago
2 years ago
1 year ago
2 years ago
<li class="md-nav__item">
<a href="../graph_operations/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
9.2 &nbsp; 图基础操作
1 year ago
</span>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years ago
<li class="md-nav__item">
<a href="../graph_traversal/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
9.3 &nbsp; 图的遍历
1 year ago
</span>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years ago
<li class="md-nav__item">
<a href="../summary/" class="md-nav__link">
1 year ago
<span class="md-ellipsis">
1 year ago
9.4 &nbsp; 小结
1 year ago
</span>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
</ul>
</nav>
2 years ago
</li>
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
2 years ago
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
2 years 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>
2 years 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
2 years ago
1 year ago
2 years ago
<li class="md-nav__item">
2 years ago
<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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
<li class="md-nav__item">
2 years ago
<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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years ago
<li class="md-nav__item">
2 years ago
<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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years ago
<li class="md-nav__item">
2 years ago
<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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years ago
<li class="md-nav__item">
2 years ago
<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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
</ul>
</nav>
2 years ago
</li>
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
1 year ago
2 years 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>
2 years ago
1 year ago
<label class="md-nav__link " for="__nav_12">
1 year ago
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<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
2 years ago
1 year ago
2 years ago
<li class="md-nav__item">
2 years ago
<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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
<li class="md-nav__item">
2 years ago
<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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years ago
<li class="md-nav__item">
2 years ago
<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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years ago
<li class="md-nav__item">
2 years ago
<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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
2 years ago
</li>
2 years ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
<li class="md-nav__item">
2 years ago
<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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
<li class="md-nav__item">
2 years ago
<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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
<li class="md-nav__item">
2 years ago
<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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
</ul>
</nav>
2 years ago
</li>
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years 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
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
2 years ago
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
2 years 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>
2 years 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
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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
2 years 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>
2 years 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>
2 years ago
</li>
1 year ago
2 years ago
1 year ago
2 years 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
2 years ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
1 year ago
1 year ago
<div class="md-nav__link md-nav__container">
<a href="../../chapter_dynamic_programming/" 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="false">
<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="../../chapter_dynamic_programming/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="../../chapter_dynamic_programming/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
1 year ago
<li class="md-nav__item">
1 year ago
<a href="../../chapter_dynamic_programming/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
1 year ago
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/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="../../chapter_dynamic_programming/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="../../chapter_dynamic_programming/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">
<a href="../../chapter_dynamic_programming/summary/" class="md-nav__link">
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" >
2 years 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>
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
2 years 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>
2 years ago
</a>
</li>
1 year ago
2 years ago
1 year ago
</ul>
</nav>
2 years ago
</li>
1 year ago
2 years ago
2 years ago
1 year ago
<li class="md-nav__item md-nav__item--nested">
2 years 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
2 years 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>
2 years 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>
2 years 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="目录">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
目录
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
2 years ago
<a href="#911" class="md-nav__link">
1 year ago
9.1.1 &nbsp; 图常见类型与术语
2 years ago
</a>
</li>
<li class="md-nav__item">
2 years ago
<a href="#912" class="md-nav__link">
1 year ago
9.1.2 &nbsp; 图的表示
2 years ago
</a>
1 year ago
<nav class="md-nav" aria-label="9.1.2   图的表示">
2 years ago
<ul class="md-nav__list">
<li class="md-nav__item">
1 year ago
<a href="#1" class="md-nav__link">
1. &nbsp; 邻接矩阵
2 years ago
</a>
</li>
<li class="md-nav__item">
1 year ago
<a href="#2" class="md-nav__link">
2. &nbsp; 邻接表
2 years ago
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
1 year ago
<a href="#913" class="md-nav__link">
9.1.3 &nbsp; 图常见应用
2 years ago
</a>
</li>
</ul>
</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 -->
2 years ago
<a href="https://github.com/krahets/hello-algo/tree/main/docs/chapter_graph/graph.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="91">9.1 &nbsp;<a class="headerlink" href="#91" title="Permanent link">&para;</a></h1>
1 year ago
<p>「图 graph」是一种非线性数据结构由「顶点 vertex」和「边 edge」组成。我们可以将图 <span class="arithmatex">\(G\)</span> 抽象地表示为一组顶点 <span class="arithmatex">\(V\)</span> 和一组边 <span class="arithmatex">\(E\)</span> 的集合。以下示例展示了一个包含 5 个顶点和 7 条边的图。</p>
2 years ago
<div class="arithmatex">\[
\begin{aligned}
V &amp; = \{ 1, 2, 3, 4, 5 \} \newline
E &amp; = \{ (1,2), (1,3), (1,5), (2,3), (2,4), (2,5), (4,5) \} \newline
G &amp; = \{ V, E \} \newline
\end{aligned}
\]</div>
1 year ago
<p>如果将顶点看作节点,将边看作连接各个节点的引用(指针),我们就可以将图看作是一种从链表拓展而来的数据结构。如图 9-1 所示,<strong>相较于线性关系(链表)和分治关系(树),网络关系(图)的自由度更高</strong>,从而更为复杂。</p>
1 year ago
<p><a class="glightbox" href="../graph.assets/linkedlist_tree_graph.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="链表、树、图之间的关系" src="../graph.assets/linkedlist_tree_graph.png" /></a></p>
1 year ago
<p align="center"> 图 9-1 &nbsp; 链表、树、图之间的关系 </p>
2 years ago
1 year ago
<h2 id="911">9.1.1 &nbsp; 图常见类型与术语<a class="headerlink" href="#911" title="Permanent link">&para;</a></h2>
1 year ago
<p>根据边是否具有方向,可分为图 9-2 所示的「无向图 undirected graph」和「有向图 directed graph」。</p>
2 years ago
<ul>
1 year ago
<li>在无向图中,边表示两顶点之间的“双向”连接关系,例如微信或 QQ 中的“好友关系”。</li>
<li>在有向图中,边具有方向性,即 <span class="arithmatex">\(A \rightarrow B\)</span><span class="arithmatex">\(A \leftarrow B\)</span> 两个方向的边是相互独立的,例如微博或抖音上的“关注”与“被关注”关系。</li>
2 years ago
</ul>
1 year ago
<p><a class="glightbox" href="../graph.assets/directed_graph.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="有向图与无向图" src="../graph.assets/directed_graph.png" /></a></p>
1 year ago
<p align="center"> 图 9-2 &nbsp; 有向图与无向图 </p>
2 years ago
1 year ago
<p>根据所有顶点是否连通,可分为图 9-3 所示的「连通图 connected graph」和「非连通图 disconnected graph」。</p>
2 years ago
<ul>
1 year ago
<li>对于连通图,从某个顶点出发,可以到达其余任意顶点。</li>
<li>对于非连通图,从某个顶点出发,至少有一个顶点无法到达。</li>
2 years ago
</ul>
1 year ago
<p><a class="glightbox" href="../graph.assets/connected_graph.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="连通图与非连通图" src="../graph.assets/connected_graph.png" /></a></p>
1 year ago
<p align="center"> 图 9-3 &nbsp; 连通图与非连通图 </p>
2 years ago
1 year ago
<p>我们还可以为边添加“权重”变量,从而得到图 9-4 所示的「有权图 weighted graph」。例如在王者荣耀等手游中系统会根据共同游戏时间来计算玩家之间的“亲密度”这种亲密度网络就可以用有权图来表示。</p>
1 year ago
<p><a class="glightbox" href="../graph.assets/weighted_graph.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="有权图与无权图" src="../graph.assets/weighted_graph.png" /></a></p>
1 year ago
<p align="center"> 图 9-4 &nbsp; 有权图与无权图 </p>
2 years ago
1 year ago
<p>图数据结构包含以下常用术语。</p>
2 years ago
<ul>
1 year ago
<li>「邻接 adjacency」当两顶点之间存在边相连时称这两顶点“邻接”。在图 9-4 中,顶点 1 的邻接顶点为顶点 2、3、5。</li>
<li>「路径 path」从顶点 A 到顶点 B 经过的边构成的序列被称为从 A 到 B 的“路径”。在图 9-4 中,边序列 1-5-2-4 是顶点 1 到顶点 4 的一条路径。</li>
1 year ago
<li>「度 degree」一个顶点拥有的边数。对于有向图「入度 In-Degree」表示有多少条边指向该顶点「出度 Out-Degree」表示有多少条边从该顶点指出。</li>
2 years ago
</ul>
1 year ago
<h2 id="912">9.1.2 &nbsp; 图的表示<a class="headerlink" href="#912" title="Permanent link">&para;</a></h2>
<p>图的常用表示方式包括“邻接矩阵”和“邻接表”。以下使用无向图进行举例。</p>
1 year ago
<h3 id="1">1. &nbsp; 邻接矩阵<a class="headerlink" href="#1" title="Permanent link">&para;</a></h3>
1 year ago
<p>设图的顶点数量为 <span class="arithmatex">\(n\)</span> ,「邻接矩阵 adjacency matrix」使用一个 <span class="arithmatex">\(n \times n\)</span> 大小的矩阵来表示图,每一行(列)代表一个顶点,矩阵元素代表边,用 <span class="arithmatex">\(1\)</span><span class="arithmatex">\(0\)</span> 表示两个顶点之间是否存在边。</p>
1 year ago
<p>如图 9-5 所示,设邻接矩阵为 <span class="arithmatex">\(M\)</span>、顶点列表为 <span class="arithmatex">\(V\)</span> ,那么矩阵元素 <span class="arithmatex">\(M[i, j] = 1\)</span> 表示顶点 <span class="arithmatex">\(V[i]\)</span> 到顶点 <span class="arithmatex">\(V[j]\)</span> 之间存在边,反之 <span class="arithmatex">\(M[i, j] = 0\)</span> 表示两顶点之间无边。</p>
1 year ago
<p><a class="glightbox" href="../graph.assets/adjacency_matrix.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="图的邻接矩阵表示" src="../graph.assets/adjacency_matrix.png" /></a></p>
1 year ago
<p align="center"> 图 9-5 &nbsp; 图的邻接矩阵表示 </p>
2 years ago
1 year ago
<p>邻接矩阵具有以下特性。</p>
2 years ago
<ul>
2 years ago
<li>顶点不能与自身相连,因此邻接矩阵主对角线元素没有意义。</li>
<li>对于无向图,两个方向的边等价,此时邻接矩阵关于主对角线对称。</li>
1 year ago
<li>将邻接矩阵的元素从 <span class="arithmatex">\(1\)</span><span class="arithmatex">\(0\)</span> 替换为权重,则可表示有权图。</li>
2 years ago
</ul>
2 years ago
<p>使用邻接矩阵表示图时,我们可以直接访问矩阵元素以获取边,因此增删查操作的效率很高,时间复杂度均为 <span class="arithmatex">\(O(1)\)</span> 。然而,矩阵的空间复杂度为 <span class="arithmatex">\(O(n^2)\)</span> ,内存占用较多。</p>
1 year ago
<h3 id="2">2. &nbsp; 邻接表<a class="headerlink" href="#2" title="Permanent link">&para;</a></h3>
1 year ago
<p>「邻接表 adjacency list」使用 <span class="arithmatex">\(n\)</span> 个链表来表示图,链表节点表示顶点。第 <span class="arithmatex">\(i\)</span> 条链表对应顶点 <span class="arithmatex">\(i\)</span> ,其中存储了该顶点的所有邻接顶点(即与该顶点相连的顶点)。图 9-6 展示了一个使用邻接表存储的图的示例。</p>
1 year ago
<p><a class="glightbox" href="../graph.assets/adjacency_list.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="图的邻接表表示" src="../graph.assets/adjacency_list.png" /></a></p>
1 year ago
<p align="center"> 图 9-6 &nbsp; 图的邻接表表示 </p>
2 years ago
2 years ago
<p>邻接表仅存储实际存在的边,而边的总数通常远小于 <span class="arithmatex">\(n^2\)</span> ,因此它更加节省空间。然而,在邻接表中需要通过遍历链表来查找边,因此其时间效率不如邻接矩阵。</p>
1 year ago
<p>观察图 9-6 <strong>邻接表结构与哈希表中的“链式地址”非常相似,因此我们也可以采用类似方法来优化效率</strong>。比如当链表较长时,可以将链表转化为 AVL 树或红黑树,从而将时间效率从 <span class="arithmatex">\(O(n)\)</span> 优化至 <span class="arithmatex">\(O(\log n)\)</span> ;还可以把链表转换为哈希表,从而将时间复杂度降低至 <span class="arithmatex">\(O(1)\)</span></p>
1 year ago
<h2 id="913">9.1.3 &nbsp; 图常见应用<a class="headerlink" href="#913" title="Permanent link">&para;</a></h2>
1 year ago
<p>如表 9-1 所示,许多现实系统都可以用图来建模,相应的问题也可以约化为图计算问题。</p>
<p align="center"> 表 9-1 &nbsp; 现实生活中常见的图 </p>
1 year ago
2 years ago
<div class="center-table">
<table>
<thead>
<tr>
<th></th>
<th>顶点</th>
<th></th>
<th>图计算问题</th>
</tr>
</thead>
<tbody>
<tr>
<td>社交网络</td>
<td>用户</td>
<td>好友关系</td>
<td>潜在好友推荐</td>
</tr>
<tr>
<td>地铁线路</td>
<td>站点</td>
<td>站点间的连通性</td>
<td>最短路线推荐</td>
</tr>
<tr>
<td>太阳系</td>
<td>星体</td>
<td>星体间的万有引力作用</td>
<td>行星轨道计算</td>
</tr>
</tbody>
</table>
</div>
1 year ago
<!-- Source file information -->
2 years ago
1 year ago
<!-- Was this page helpful? -->
2 years ago
1 year ago
<!-- Previous and next pages link -->
<nav
class="md-footer__inner md-grid"
aria-label="页脚"
>
<!-- Link to previous page -->
<a
href="../"
class="md-footer__link md-footer__link--prev"
aria-label="上一页: 第 9 章 &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">
第 9 章 &nbsp;
</div>
</div>
</a>
<!-- Link to next page -->
<a
href="../graph_operations/"
class="md-footer__link md-footer__link--next"
aria-label="下一页: 9.2 &amp;nbsp; 图基础操作"
rel="next"
>
<div class="md-footer__title">
<span class="md-footer__direction">
下一页
</span>
<div class="md-ellipsis">
9.2 &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
<h5 align="center" id="__comments">欢迎在评论区留下你的见解、疑惑或建议</h5>
2 years 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"
1 year ago
data-input-position="top"
2 years ago
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"
2 years 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"
2 years 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>
2 years ago
<button type="button" class="md-top md-icon" data-md-component="top" hidden>
1 year ago
2 years 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>
回到页面顶部
2 years ago
</button>
2 years ago
</main>
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.
-->
<!-- Footer -->
<footer class="md-footer">
<!-- Further information -->
2 years 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
2 years ago
</div>
1 year ago
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
2 years ago
</div>
1 year ago
<!-- Social links -->
2 years ago
<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>
2 years 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>
2 years 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>
2 years 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>
2 years ago
1 year ago
<script src="../../assets/javascripts/bundle.4e0fa4ba.min.js"></script>
2 years ago
1 year ago
<script src="../../javascripts/mathjax.js"></script>
2 years ago
1 year ago
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
2 years ago
1 year ago
<script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
2 years 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>
2 years ago
</html>