cs-self-learning/en/数据结构与算法/6.006/index.html

35 lines
60 KiB
HTML

<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content=CS自学指南><meta name=author content=PKUFlyingPig><link href=https://csdiy.wiki/en/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/ rel=canonical><link href=../Algo/ rel=prev><link href=../6.046/ rel=next><link rel=icon href=../../../images/favicon.ico><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.2"><title>MIT 6.006: Introduction to Algorithms - csdiy.wiki</title><link rel=stylesheet href=../../../assets/stylesheets/main.50c56a3b.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.06af60db.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto+Slab:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto Slab";--md-code-font:"Roboto Mono"}</style><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><script id=__analytics>function __md_analytics(){function n(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],n("js",new Date),n("config","G-KJB4RXSKZG"),document.addEventListener("DOMContentLoaded",function(){document.forms.search&&document.forms.search.query.addEventListener("blur",function(){this.value&&n("event","search",{search_term:this.value})}),document$.subscribe(function(){var a=document.forms.feedback;if(void 0!==a)for(var e of a.querySelectorAll("[type=submit]"))e.addEventListener("click",function(e){e.preventDefault();var t=document.location.pathname,e=this.getAttribute("data-md-value");n("event","feedback",{page:t,data:e}),a.firstElementChild.disabled=!0;e=a.querySelector(".md-feedback__note [data-md-value='"+e+"']");e&&(e.hidden=!1)}),a.hidden=!1}),location$.subscribe(function(e){n("config","G-KJB4RXSKZG",{page_path:e.pathname})})});var e=document.createElement("script");e.async=!0,e.src="https://www.googletagmanager.com/gtag/js?id=G-KJB4RXSKZG",document.getElementById("__analytics").insertAdjacentElement("afterEnd",e)}</script><script>"undefined"!=typeof __md_analytics&&__md_analytics()</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=light-blue data-md-color-accent=deep-purple> <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> <a href=#mit-6006-introduction-to-algorithms class=md-skip> Skip to content </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=Header> <a href=../../ title=csdiy.wiki class="md-header__button md-logo" aria-label=csdiy.wiki data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <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> csdiy.wiki </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> MIT 6.006: Introduction to Algorithms </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=light-blue data-md-color-accent=deep-purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=cyan data-md-color-accent=deep-purple aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <div class=md-header__option> <div class=md-select> <button class="md-header__button md-icon" aria-label="Select language"> <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=../../../%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/6.006/ hreflang=zh class=md-select__link> 简体中文 </a> </li> <li class=md-select__item> <a href=./ hreflang=en class=md-select__link> English </a> </li> </ul> </div> </div> </div> <label class="md-header__button md-icon" for=__search> <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=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <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> <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=Search> <a href=javascript:void(0) class="md-search__icon md-icon" title=Share aria-label=Share data-clipboard data-clipboard-text data-md-component=search-share tabindex=-1> <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=Clear aria-label=Clear tabindex=-1> <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> Initializing search </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/pkuflyingpig/cs-self-learning/ title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.5.1 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> </div> <div class=md-source__repository> cs-self-learning </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> <nav class="md-nav md-nav--primary" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../ title=csdiy.wiki class="md-nav__button md-logo" aria-label=csdiy.wiki data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg> </a> csdiy.wiki </label> <div class=md-nav__source> <a href=https://github.com/pkuflyingpig/cs-self-learning/ title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.5.1 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> </div> <div class=md-source__repository> cs-self-learning </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../ class=md-nav__link> <span class=md-ellipsis> Foreword </span> </a> </li> <li class=md-nav__item> <a href=../../%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/ class=md-nav__link> <span class=md-ellipsis> How To Use The Book </span> </a> </li> <li class=md-nav__item> <a href=../../CS%E5%AD%A6%E4%B9%A0%E8%A7%84%E5%88%92/ class=md-nav__link> <span class=md-ellipsis> Guideline </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Productivity Toolkit </span> <span class="md-nav__icon md-icon"></span> </label> <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> Productivity Toolkit </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E7%BF%BB%E5%A2%99/ class=md-nav__link> <span class=md-ellipsis> GFW </span> </a> </li> <li class=md-nav__item> <a href=../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Vim/ class=md-nav__link> <span class=md-ellipsis> Vim </span> </a> </li> <li class=md-nav__item> <a href=../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Emacs/ class=md-nav__link> <span class=md-ellipsis> Emacs </span> </a> </li> <li class=md-nav__item> <a href=../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Git/ class=md-nav__link> <span class=md-ellipsis> Git </span> </a> </li> <li class=md-nav__item> <a href=../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GitHub/ class=md-nav__link> <span class=md-ellipsis> GitHub </span> </a> </li> <li class=md-nav__item> <a href=../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/GNU_Make/ class=md-nav__link> <span class=md-ellipsis> GNU Make </span> </a> </li> <li class=md-nav__item> <a href=../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/CMake/ class=md-nav__link> <span class=md-ellipsis> CMake </span> </a> </li> <li class=md-nav__item> <a href=../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/LaTeX/ class=md-nav__link> <span class=md-ellipsis> LaTeX </span> </a> </li> <li class=md-nav__item> <a href=../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Docker/ class=md-nav__link> <span class=md-ellipsis> Docker </span> </a> </li> <li class=md-nav__item> <a href=../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/Scoop/ class=md-nav__link> <span class=md-ellipsis> Scoop </span> </a> </li> <li class=md-nav__item> <a href=../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/workflow/ class=md-nav__link> <span class=md-ellipsis> Notes Workflow </span> </a> </li> <li class=md-nav__item> <a href=../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/tools/ class=md-nav__link> <span class=md-ellipsis> Useful Tools </span> </a> </li> <li class=md-nav__item> <a href=../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/thesis/ class=md-nav__link> <span class=md-ellipsis> Thesis Writing </span> </a> </li> <li class=md-nav__item> <a href=../../%E5%BF%85%E5%AD%A6%E5%B7%A5%E5%85%B7/%E4%BF%A1%E6%81%AF%E6%A3%80%E7%B4%A2/ class=md-nav__link> <span class=md-ellipsis> Information Retrieval </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../%E5%A5%BD%E4%B9%A6%E6%8E%A8%E8%8D%90/ class=md-nav__link> <span class=md-ellipsis> Book Recommendation </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> Fundamental Mathematics </span> <span class="md-nav__icon md-icon"></span> </label> <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> Fundamental Mathematics </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITmaths/ class=md-nav__link> <span class=md-ellipsis> MIT18.01/18.02: Calculus </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/MITLA/ class=md-nav__link> <span class=md-ellipsis> MIT18.06: Linear Algebra </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%95%B0%E5%AD%A6%E5%9F%BA%E7%A1%80/information/ class=md-nav__link> <span class=md-ellipsis> MIT6.050J: Information theory and Entropy </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Advanced Mathematics </span> <span class="md-nav__icon md-icon"></span> </label> <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> Advanced Mathematics </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS70/ class=md-nav__link> <span class=md-ellipsis> UCB CS70: discrete Math and probability theory </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/CS126/ class=md-nav__link> <span class=md-ellipsis> UCB CS126: probability theory </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/6.042J/ class=md-nav__link> <span class=md-ellipsis> MIT 6.042J: Mathematics for Computer Science </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/numerical/ class=md-nav__link> <span class=md-ellipsis> MIT18.330: Introduction to numerical analysis </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/convex/ class=md-nav__link> <span class=md-ellipsis> Standford EE364A: Convex Optimization </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%95%B0%E5%AD%A6%E8%BF%9B%E9%98%B6/The_Information_Theory_Pattern_Recognition_and_Neural_Networks/ class=md-nav__link> <span class=md-ellipsis> The Information Theory, Pattern Recognition, and Neural Networks </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_8> <label class=md-nav__link for=__nav_8 id=__nav_8_label tabindex=0> <span class=md-ellipsis> Fundamental Programming </span> <span class="md-nav__icon md-icon"></span> </label> <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> Fundamental Programming </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/MIT-Missing-Semester/ class=md-nav__link> <span class=md-ellipsis> MIT-Missing-Semester </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/DeCal/ class=md-nav__link> <span class=md-ellipsis> Sysadmin DeCal </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_8_3> <label class=md-nav__link for=__nav_8_3 id=__nav_8_3_label tabindex=0> <span class=md-ellipsis> Python Language </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_8_3_label aria-expanded=false> <label class=md-nav__title for=__nav_8_3> <span class="md-nav__icon md-icon"></span> Python Language </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Python/CS61A/ class=md-nav__link> <span class=md-ellipsis> UCB CS61A: Structure and Interpretation of Computer Programs </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Python/CS50P/ class=md-nav__link> <span class=md-ellipsis> CS50P: CS50's Introduction to Programming with Python </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_8_4> <label class=md-nav__link for=__nav_8_4 id=__nav_8_4_label tabindex=0> <span class=md-ellipsis> C Language </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_8_4_label aria-expanded=false> <label class=md-nav__title for=__nav_8_4> <span class="md-nav__icon md-icon"></span> C Language </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/C/CS50/ class=md-nav__link> <span class=md-ellipsis> Harvard CS50: This is CS50x </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/C/Duke-Coursera-Intro-C/ class=md-nav__link> <span class=md-ellipsis> Duke University: Introductory C Programming Specialization </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_8_5> <label class=md-nav__link for=__nav_8_5 id=__nav_8_5_label tabindex=0> <span class=md-ellipsis> C++ Language </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_8_5_label aria-expanded=false> <label class=md-nav__title for=__nav_8_5> <span class="md-nav__icon md-icon"></span> C++ Language </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/cpp/AUT1400/ class=md-nav__link> <span class=md-ellipsis> AmirKabir University of Technology AP1400-2: Advanced Programming </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/cpp/CS106L/ class=md-nav__link> <span class=md-ellipsis> Stanford CS106L: Standard C++ Programming </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/cpp/CS106B_CS106X/ class=md-nav__link> <span class=md-ellipsis> Stanford CS106B/X </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_8_6> <label class=md-nav__link for=__nav_8_6 id=__nav_8_6_label tabindex=0> <span class=md-ellipsis> Java Language </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_8_6_label aria-expanded=false> <label class=md-nav__title for=__nav_8_6> <span class="md-nav__icon md-icon"></span> Java Language </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Java/MIT%206.092/ class=md-nav__link> <span class=md-ellipsis> MIT 6.092: Introduction To Programming In Java </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_8_7> <label class=md-nav__link for=__nav_8_7 id=__nav_8_7_label tabindex=0> <span class=md-ellipsis> Rust Language </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_8_7_label aria-expanded=false> <label class=md-nav__title for=__nav_8_7> <span class="md-nav__icon md-icon"></span> Rust Language </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/CS110L/ class=md-nav__link> <span class=md-ellipsis> Stanford CS110L: Safety in Systems Programming </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Rust/cs431/ class=md-nav__link> <span class=md-ellipsis> KAIST CS431: Concurrent Programming </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_8_8> <label class=md-nav__link for=__nav_8_8 id=__nav_8_8_label tabindex=0> <span class=md-ellipsis> Functional Programming </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_8_8_label aria-expanded=false> <label class=md-nav__title for=__nav_8_8> <span class="md-nav__icon md-icon"></span> Functional Programming </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Functional/CS3110/ class=md-nav__link> <span class=md-ellipsis> Cornell CS3110: OCaml Programming Correct + Efficient + Beautiful </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E5%85%A5%E9%97%A8/Functional/Haskell-MOOC/ class=md-nav__link> <span class=md-ellipsis> Haskell MOOC </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_9> <label class=md-nav__link for=__nav_9 id=__nav_9_label tabindex=0> <span class=md-ellipsis> Fundamental Electronics </span> <span class="md-nav__icon md-icon"></span> </label> <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> Fundamental Electronics </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/EE16/ class=md-nav__link> <span class=md-ellipsis> EE16A&B: Designing Information Devices and Systems I&II </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/signal/ class=md-nav__link> <span class=md-ellipsis> UCB EE120 : Signal and Systems </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%94%B5%E5%AD%90%E5%9F%BA%E7%A1%80/Signals_and_Systems_AVO/ class=md-nav__link> <span class=md-ellipsis> MIT 6.007 Signals and Systems </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_10 checked> <label class=md-nav__link for=__nav_10 id=__nav_10_label tabindex=0> <span class=md-ellipsis> Data Structures and Algorithms </span> <span class="md-nav__icon md-icon"></span> </label> <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> Data Structures and Algorithms </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../CS61B/ class=md-nav__link> <span class=md-ellipsis> UCB CS61B: Data Structures and Algorithms </span> </a> </li> <li class=md-nav__item> <a href=../Algo/ class=md-nav__link> <span class=md-ellipsis> Coursera: Algorithms I & II </span> </a> </li> <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> <span class=md-ellipsis> MIT 6.006: Introduction to Algorithms </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> MIT 6.006: Introduction to Algorithms </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#descriptions class=md-nav__link> <span class=md-ellipsis> Descriptions </span> </a> </li> <li class=md-nav__item> <a href=#course-resources class=md-nav__link> <span class=md-ellipsis> Course Resources </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../6.046/ class=md-nav__link> <span class=md-ellipsis> MIT 6.046: Design and Analysis of Algorithms </span> </a> </li> <li class=md-nav__item> <a href=../CS170/ class=md-nav__link> <span class=md-ellipsis> UCB CS170: Efficient Algorithms and Intractable Problems </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_11> <label class=md-nav__link for=__nav_11 id=__nav_11_label tabindex=0> <span class=md-ellipsis> Software Engineering </span> <span class="md-nav__icon md-icon"></span> </label> <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> Software Engineering </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/6031/ class=md-nav__link> <span class=md-ellipsis> MIT 6.031: Software Construction </span> </a> </li> <li class=md-nav__item> <a href=../../%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/CS169/ class=md-nav__link> <span class=md-ellipsis> UCB CS169: software engineering </span> </a> </li> <li class=md-nav__item> <a href=../../%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/17803/ class=md-nav__link> <span class=md-ellipsis> CMU 17-803: Empirical Methods </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_12> <label class=md-nav__link for=__nav_12 id=__nav_12_label tabindex=0> <span class=md-ellipsis> Computer Systems Principles </span> <span class="md-nav__icon md-icon"></span> </label> <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> Computer Systems Principles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9F%E5%9F%BA%E7%A1%80/CSAPP/ class=md-nav__link> <span class=md-ellipsis> CMU 15-213: CSAPP </span> </a> </li> <li class=md-nav__item> <a href=../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9F%E5%9F%BA%E7%A1%80/CS110/ class=md-nav__link> <span class=md-ellipsis> Stanford CS110: Principles of Computer Systems </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_13> <label class=md-nav__link for=__nav_13 id=__nav_13_label tabindex=0> <span class=md-ellipsis> Computer Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <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> Computer Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/N2T/ class=md-nav__link> <span class=md-ellipsis> Coursera: Nand2Tetris </span> </a> </li> <li class=md-nav__item> <a href=../../%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CS61C/ class=md-nav__link> <span class=md-ellipsis> UCB CS61C: Great Ideas in Computer Architecture </span> </a> </li> <li class=md-nav__item> <a href=../../%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/DDCA/ class=md-nav__link> <span class=md-ellipsis> ETHz: Digital Design and Computer Architecture </span> </a> </li> <li class=md-nav__item> <a href=../../%E4%BD%93%E7%B3%BB%E7%BB%93%E6%9E%84/CA/ class=md-nav__link> <span class=md-ellipsis> ETHz: Computer Architecture </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_14> <label class=md-nav__link for=__nav_14 id=__nav_14_label tabindex=0> <span class=md-ellipsis> Operating Systems </span> <span class="md-nav__icon md-icon"></span> </label> <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> Operating Systems </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/MIT6.S081/ class=md-nav__link> <span class=md-ellipsis> MIT 6.S081: Operating System Engineering </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/CS162/ class=md-nav__link> <span class=md-ellipsis> UCB CS162: Operating System </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/NJUOS/ class=md-nav__link> <span class=md-ellipsis> NJU OS: Operating System Design and Implementation </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/HITOS/ class=md-nav__link> <span class=md-ellipsis> HIT OS: Operating System </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_15> <label class=md-nav__link for=__nav_15 id=__nav_15_label tabindex=0> <span class=md-ellipsis> Distributed Systems </span> <span class="md-nav__icon md-icon"></span> </label> <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> Distributed Systems </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/CS149/ class=md-nav__link> <span class=md-ellipsis> CMU 15-418/Stanford CS149: Parallel Computing </span> </a> </li> <li class=md-nav__item> <a href=../../%E5%B9%B6%E8%A1%8C%E4%B8%8E%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/MIT6.824/ class=md-nav__link> <span class=md-ellipsis> MIT 6.824: Distributed System </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_16> <label class=md-nav__link for=__nav_16 id=__nav_16_label tabindex=0> <span class=md-ellipsis> Computer Security </span> <span class="md-nav__icon md-icon"></span> </label> <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> Computer Security </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CS161/ class=md-nav__link> <span class=md-ellipsis> UCB CS161: Computer Security </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.1600/ class=md-nav__link> <span class=md-ellipsis> MIT 6.1600: Foundations of Computer Security </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/MIT6.858/ class=md-nav__link> <span class=md-ellipsis> MIT 6.858: Computer System Security </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE365/ class=md-nav__link> <span class=md-ellipsis> ASU CSE365: Introduction to Cybersecurity </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/CSE466/ class=md-nav__link> <span class=md-ellipsis> ASU CSE466: Computer Systems Security </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%B3%BB%E7%BB%9F%E5%AE%89%E5%85%A8/SEEDLabs/ class=md-nav__link> <span class=md-ellipsis> SU SEED Labs </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_17> <label class=md-nav__link for=__nav_17 id=__nav_17_label tabindex=0> <span class=md-ellipsis> Computer Networking </span> <span class="md-nav__icon md-icon"></span> </label> <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> Computer Networking </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown_ustc/ class=md-nav__link> <span class=md-ellipsis> USTC Computer Networking:A Top-Down Approach </span> </a> </li> <li class=md-nav__item> <a href=../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/topdown/ class=md-nav__link> <span class=md-ellipsis> Computer Networking: A Top-Down Approach </span> </a> </li> <li class=md-nav__item> <a href=../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BD%91%E7%BB%9C/CS144/ class=md-nav__link> <span class=md-ellipsis> Stanford CS144: Computer Network </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_18> <label class=md-nav__link for=__nav_18 id=__nav_18_label tabindex=0> <span class=md-ellipsis> Database Systems </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_18_label aria-expanded=false> <label class=md-nav__title for=__nav_18> <span class="md-nav__icon md-icon"></span> Database Systems </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS186/ class=md-nav__link> <span class=md-ellipsis> UCB CS186: Introduction to Database System </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15445/ class=md-nav__link> <span class=md-ellipsis> CMU 15-445: Database Systems </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS122/ class=md-nav__link> <span class=md-ellipsis> Caltech CS122: Database System Implementation </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/CS346/ class=md-nav__link> <span class=md-ellipsis> Stanford CS346: Database System Implementation </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F/15799/ class=md-nav__link> <span class=md-ellipsis> CMU 15-799: Special Topics in Database Systems </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_19> <label class=md-nav__link for=__nav_19 id=__nav_19_label tabindex=0> <span class=md-ellipsis> Compilers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_19_label aria-expanded=false> <label class=md-nav__title for=__nav_19> <span class="md-nav__icon md-icon"></span> Compilers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/PKU-Compilers/ class=md-nav__link> <span class=md-ellipsis> PKU 编译原理实践 </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/CS143/ class=md-nav__link> <span class=md-ellipsis> Stanford CS143: Compilers </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E8%AF%91%E5%8E%9F%E7%90%86/NJU-Compilers/ class=md-nav__link> <span class=md-ellipsis> NJU 编译原理 </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_20> <label class=md-nav__link for=__nav_20 id=__nav_20_label tabindex=0> <span class=md-ellipsis> Programming Language Design and Analysis </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_20_label aria-expanded=false> <label class=md-nav__title for=__nav_20> <span class="md-nav__icon md-icon"></span> Programming Language Design and Analysis </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%88%86%E6%9E%90/CS242/ class=md-nav__link> <span class=md-ellipsis> Stanford CS242: Programming Languages </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%88%86%E6%9E%90/NJU-SoftwareAnalysis/ class=md-nav__link> <span class=md-ellipsis> NJU Software Analysis </span> </a> </li> <li class=md-nav__item> <a href=../../%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E8%AE%BE%E8%AE%A1%E4%B8%8E%E5%88%86%E6%9E%90/PKU-SoftwareAnalysis/ class=md-nav__link> <span class=md-ellipsis> PKU Software Analysis </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_21> <label class=md-nav__link for=__nav_21 id=__nav_21_label tabindex=0> <span class=md-ellipsis> Computer Graphics </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_21_label aria-expanded=false> <label class=md-nav__title for=__nav_21> <span class="md-nav__icon md-icon"></span> Computer Graphics </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES101/ class=md-nav__link> <span class=md-ellipsis> GAMES101 </span> </a> </li> <li class=md-nav__item> <a href=../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES202/ class=md-nav__link> <span class=md-ellipsis> GAMES202 </span> </a> </li> <li class=md-nav__item> <a href=../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/GAMES103/ class=md-nav__link> <span class=md-ellipsis> GAMES103 </span> </a> </li> <li class=md-nav__item> <a href=../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/CS148/ class=md-nav__link> <span class=md-ellipsis> Stanford CS148 </span> </a> </li> <li class=md-nav__item> <a href=../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/15462/ class=md-nav__link> <span class=md-ellipsis> CMU 15-462 </span> </a> </li> <li class=md-nav__item> <a href=../../%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%9B%BE%E5%BD%A2%E5%AD%A6/USTC%20ComputerGraphics/ class=md-nav__link> <span class=md-ellipsis> USTC CG </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_22> <label class=md-nav__link for=__nav_22 id=__nav_22_label tabindex=0> <span class=md-ellipsis> Web Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_22_label aria-expanded=false> <label class=md-nav__title for=__nav_22> <span class="md-nav__icon md-icon"></span> Web Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../Web%E5%BC%80%E5%8F%91/mitweb/ class=md-nav__link> <span class=md-ellipsis> MIT web development course </span> </a> </li> <li class=md-nav__item> <a href=../../Web%E5%BC%80%E5%8F%91/CS142/ class=md-nav__link> <span class=md-ellipsis> Stanford CS142: Web Applications </span> </a> </li> <li class=md-nav__item> <a href=../../Web%E5%BC%80%E5%8F%91/fullstackopen/ class=md-nav__link> <span class=md-ellipsis> University of Helsinki: Full Stack open 2022 </span> </a> </li> <li class=md-nav__item> <a href=../../Web%E5%BC%80%E5%8F%91/CS571/ class=md-nav__link> <span class=md-ellipsis> CS571 Building UI (React & React Native) </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_23> <label class=md-nav__link for=__nav_23 id=__nav_23_label tabindex=0> <span class=md-ellipsis> Data Science </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_23_label aria-expanded=false> <label class=md-nav__title for=__nav_23> <span class="md-nav__icon md-icon"></span> Data Science </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E6%95%B0%E6%8D%AE%E7%A7%91%E5%AD%A6/Data100/ class=md-nav__link> <span class=md-ellipsis> UCB Data100: Principles and Techniques of Data Science </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_24> <label class=md-nav__link for=__nav_24 id=__nav_24_label tabindex=0> <span class=md-ellipsis> Artificial Intelligence </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_24_label aria-expanded=false> <label class=md-nav__title for=__nav_24> <span class="md-nav__icon md-icon"></span> Artificial Intelligence </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS50/ class=md-nav__link> <span class=md-ellipsis> Harvard CS50's Introduction to AI with Python </span> </a> </li> <li class=md-nav__item> <a href=../../%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/CS188/ class=md-nav__link> <span class=md-ellipsis> UCB CS188: Introduction to Artificial Intelligence </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_25> <label class=md-nav__link for=__nav_25 id=__nav_25_label tabindex=0> <span class=md-ellipsis> Machine Learning </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_25_label aria-expanded=false> <label class=md-nav__title for=__nav_25> <span class="md-nav__icon md-icon"></span> Machine Learning </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/ML/ class=md-nav__link> <span class=md-ellipsis> Coursera: Machine Learning </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS229/ class=md-nav__link> <span class=md-ellipsis> Stanford CS229: Machine Learning </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/CS189/ class=md-nav__link> <span class=md-ellipsis> UCB CS189: Introduction to Machine Learning </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_26> <label class=md-nav__link for=__nav_26 id=__nav_26_label tabindex=0> <span class=md-ellipsis> Machine Learning Systems </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_26_label aria-expanded=false> <label class=md-nav__title for=__nav_26> <span class="md-nav__icon md-icon"></span> Machine Learning Systems </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/AICS/ class=md-nav__link> <span class=md-ellipsis> Intelligent Computing Systems </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/CMU10-414/ class=md-nav__link> <span class=md-ellipsis> CMU 10-414/714: Deep Learning Systems </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E7%B3%BB%E7%BB%9F/MLC/ class=md-nav__link> <span class=md-ellipsis> Machine Learning Compilation </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_27> <label class=md-nav__link for=__nav_27 id=__nav_27_label tabindex=0> <span class=md-ellipsis> Deep Learning </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_27_label aria-expanded=false> <label class=md-nav__title for=__nav_27> <span class="md-nav__icon md-icon"></span> Deep Learning </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/EECS498-007/ class=md-nav__link> <span class=md-ellipsis> UMich EECS 498-007 / 598-005: Deep Learning for Computer Vision </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS230/ class=md-nav__link> <span class=md-ellipsis> Coursera: Deep Learning </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/LHY/ class=md-nav__link> <span class=md-ellipsis> NTU Machine Learning </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS231/ class=md-nav__link> <span class=md-ellipsis> Stanford CS231n: CNN for Visual Recognition </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224n/ class=md-nav__link> <span class=md-ellipsis> Stanford CS224n: Natural Language Processing </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS224w/ class=md-nav__link> <span class=md-ellipsis> Stanford CS224w: Machine Learning with Graphs </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/CS285/ class=md-nav__link> <span class=md-ellipsis> UCB CS285: Deep Reinforcement Learning </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_28> <label class=md-nav__link for=__nav_28 id=__nav_28_label tabindex=0> <span class=md-ellipsis> Advanced Machine Learning </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_28_label aria-expanded=false> <label class=md-nav__title for=__nav_28> <span class="md-nav__icon md-icon"></span> Advanced Machine Learning </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/roadmap/ class=md-nav__link> <span class=md-ellipsis> Roadmap </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CMU10-708/ class=md-nav__link> <span class=md-ellipsis> CMU 10-708: Probabilistic Graphical Models </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STAT8201/ class=md-nav__link> <span class=md-ellipsis> Columbia STAT 8201: Deep Generative Models </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/STA4273/ class=md-nav__link> <span class=md-ellipsis> U Toronto STA 4273 Winter 2021: Minimizing Expectations </span> </a> </li> <li class=md-nav__item> <a href=../../%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E8%BF%9B%E9%98%B6/CS229M/ class=md-nav__link> <span class=md-ellipsis> Stanford STATS214 / CS229M: Machine Learning Theory </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../%E5%90%8E%E8%AE%B0/ class=md-nav__link> <span class=md-ellipsis> Postscript </span> </a> </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="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#descriptions class=md-nav__link> <span class=md-ellipsis> Descriptions </span> </a> </li> <li class=md-nav__item> <a href=#course-resources class=md-nav__link> <span class=md-ellipsis> Course Resources </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=mit-6006-introduction-to-algorithms>MIT 6.006: Introduction to Algorithms</h1> <h2 id=descriptions>Descriptions</h2> <ul> <li>Offered by: MIT</li> <li>Prerequisites: Introductory level courses of programming (CS50/CS61A/CS106A or equivalent)</li> <li>Programming Languages: Python</li> <li>Difficulty: 🌟🌟🌟🌟🌟</li> <li>Class Hour: 100 hours+</li> </ul> <p>Probably the most precious course from the EECS department of MIT. Taught by Erik Demaine, one of the geniuses in Algorithms.</p> <p>Compared with CS106B/X (Data structures and algorithms using C++), 6.006 emphasizes the algorithms more. It also covers several classical data structures such as AVL trees. You may use it to learn more about algorithms after CS106B/X.</p> <h2 id=course-resources>Course Resources</h2> <ul> <li>Course Website: <a href=https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-fall-2011/ >Fall 2011</a></li> <li>Recordings: <a href=https://www.bilibili.com/video/BV1b7411e7ZP>Fall 2011</a></li> <li>Textbooks: Introduction to Algorithms (CLRS)</li> <li>Assignments: <a href=https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-fall-2011/pages/assignments/ >Fall 2011</a></li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1-2.1-2M12.5 7v5.2l4 2.4-1 1L11 13V7h1.5M11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2v1.8Z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date">May 8, 2024</span> </span> </aside> <!-- Insert generated snippet here --> <script src=https://giscus.app/client.js data-repo=PKUFlyingPig/cs-self-learning data-repo-id=R_kgDOGP67ng data-category=Announcements data-category-id=DIC_kwDOGP67ns4COM9Q data-mapping=title data-reactions-enabled=1 data-emit-metadata=0 data-input-position=top data-theme=light_protanopia data-lang=zh-CN data-loading=lazy 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") {
var theme = palette.color.scheme === "slate"
? "dark_protanopia"
: "light_protanopia"
// Instruct Giscus to set theme
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") {
var theme = palette.color.scheme === "slate"
? "dark_protanopia"
: "light_protanopia"
// 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 target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <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> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright &copy; 2021-present <a href=https://github.com/PKUFlyingPig target=_blank rel="noopener noreferrer">PKUFlyingPig</a> </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/pkuflyingpig/cs-self-learning/ target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.5.1 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> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["header.autohide", "navigation.tracking", "navigation.top", "search.highlight", "search.share", "search.suggest", "content.code.annotate"], "search": "../../../assets/javascripts/workers/search.f886a092.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.d7c377c4.min.js></script> </body> </html>