mirror of
https://github.com/krahets/hello-algo.git
synced 2026-11-04 12:12:45 +08:00
Load homepage 3D directly and preload below-fold media (#2014)
This commit is contained in:
+137
-48
@@ -1,8 +1,8 @@
|
||||
<!-- Generated from the shared homepage template and locale configuration. -->
|
||||
<link href="assets/home/ad8bb1cc4c28091c/hero-motion.css" rel="stylesheet"/>
|
||||
<link href="assets/home/8e54cf1d70453241/hero-motion.css" rel="stylesheet"/>
|
||||
<noscript>
|
||||
<style>
|
||||
[data-home-src], video[data-home-poster] { display: none; }
|
||||
[data-home-src], video[data-home-poster], [data-hero-fallback] { display: none; }
|
||||
</style>
|
||||
</noscript>
|
||||
<section class="home-div home-universe-bg" data-md-color-primary="grey" data-md-color-scheme="slate">
|
||||
@@ -11,88 +11,127 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="hero-div" data-home-layout="universe">
|
||||
<img alt="" data-hero-asset="ground" data-source-height="380" data-source-width="881" height="380" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/567306c070a6a7e2/ground.webp" style="position: absolute; width: auto; height: 26.445%; left: 28.211%; top: 54.145%;" width="881"/>
|
||||
<img alt="" data-hero-asset="links" data-source-height="1134" data-source-width="1562" height="1134" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/3e50f38a325c1cb5/links.webp" style="position: absolute; width: auto; height: 78.751%; left: 10.545%; top: 7.326%;" width="1562"/>
|
||||
<img alt="" data-hero-asset="ground" data-source-height="380" data-source-width="881" height="380" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/567306c070a6a7e2/ground.webp" style="position: absolute; width: auto; height: 26.445%; left: 28.211%; top: 54.145%;; aspect-ratio: 881 / 380" width="881"/>
|
||||
<img alt="" data-hero-asset="links" data-source-height="1134" data-source-width="1562" height="1134" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/3e50f38a325c1cb5/links.webp" style="position: absolute; width: auto; height: 78.751%; left: 10.545%; top: 7.326%;; aspect-ratio: 1562 / 1134" width="1562"/>
|
||||
<a href="chapter_introduction/">
|
||||
<img alt="" data-hero-asset="astronaut" data-source-height="672" data-source-width="515" height="672" src="assets/home/ad8bb1cc4c28091c/../shared/images/8e5eb3b3e3ebd9f7/astronaut.webp" style="height: 46.673%; left: 35.413%; top: 24.343%;" width="515"/>
|
||||
<img alt="" data-hero-asset="astronaut" data-source-height="672" data-source-width="515" height="672" src="assets/home/8e54cf1d70453241/../shared/images/8e5eb3b3e3ebd9f7/astronaut.webp" style="height: 46.673%; left: 35.413%; top: 24.343%;; aspect-ratio: 515 / 672" width="515"/>
|
||||
<span style="left: 52.244%; top: 20.919%;">
|
||||
初识算法
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_computational_complexity/">
|
||||
<img alt="" data-hero-asset="chapter_computational_complexity" data-source-height="178" data-source-width="113" height="178" src="assets/home/ad8bb1cc4c28091c/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" style="height: 12.347%; left: 36.267%; top: 37.653%;" width="113"/>
|
||||
<img alt="" data-hero-asset="chapter_computational_complexity" data-hero-fallback="assets/home/8e54cf1d70453241/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" data-source-height="178" data-source-width="113" height="178" style="height: 12.347%; left: 36.267%; top: 37.653%;; aspect-ratio: 113 / 178" width="113"/>
|
||||
<noscript>
|
||||
<img alt="" height="178" src="assets/home/8e54cf1d70453241/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" style="height: 12.347%; left: 36.267%; top: 37.653%;" width="113"/>
|
||||
</noscript>
|
||||
<span style="left: 39.244%; top: 33.919%;">
|
||||
复杂度
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_array_and_linkedlist/">
|
||||
<img alt="" data-hero-asset="chapter_array_and_linkedlist" data-source-height="319" data-source-width="468" height="319" src="assets/home/ad8bb1cc4c28091c/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" style="height: 22.242%; left: 73.242%; top: 52.481%;" width="468"/>
|
||||
<img alt="" data-hero-asset="chapter_array_and_linkedlist" data-hero-fallback="assets/home/8e54cf1d70453241/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" data-source-height="319" data-source-width="468" height="319" style="height: 22.242%; left: 73.242%; top: 52.481%;; aspect-ratio: 468 / 319" width="468"/>
|
||||
<noscript>
|
||||
<img alt="" height="319" src="assets/home/8e54cf1d70453241/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" style="height: 22.242%; left: 73.242%; top: 52.481%;" width="468"/>
|
||||
</noscript>
|
||||
<span style="left: 90.897%; top: 76.259%;">
|
||||
数组与链表
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_stack_and_queue/">
|
||||
<img alt="" data-hero-asset="chapter_stack_and_queue" data-source-height="204" data-source-width="204" height="204" src="assets/home/ad8bb1cc4c28091c/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" style="height: 14.302%; left: 62.646%; top: 77.875%;" width="204"/>
|
||||
<img alt="" data-hero-asset="chapter_stack_and_queue" data-hero-fallback="assets/home/8e54cf1d70453241/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" data-source-height="204" data-source-width="204" height="204" style="height: 14.302%; left: 62.646%; top: 77.875%;; aspect-ratio: 204 / 204" width="204"/>
|
||||
<noscript>
|
||||
<img alt="" height="204" src="assets/home/8e54cf1d70453241/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" style="height: 14.302%; left: 62.646%; top: 77.875%;" width="204"/>
|
||||
</noscript>
|
||||
<span style="left: 77.571%; top: 91.25%;">
|
||||
栈与队列
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_hashing/">
|
||||
<img alt="" data-hero-asset="chapter_hashing" data-source-height="218" data-source-width="218" height="218" src="assets/home/ad8bb1cc4c28091c/../shared/images/b108d70a537714cb/chapter_hashing.webp" style="height: 15.266%; left: 63.281%; top: 27.933%;" width="218"/>
|
||||
<img alt="" data-hero-asset="chapter_hashing" data-hero-fallback="assets/home/8e54cf1d70453241/../shared/images/b108d70a537714cb/chapter_hashing.webp" data-source-height="218" data-source-width="218" height="218" style="height: 15.266%; left: 63.281%; top: 27.933%;; aspect-ratio: 218 / 218" width="218"/>
|
||||
<noscript>
|
||||
<img alt="" height="218" src="assets/home/8e54cf1d70453241/../shared/images/b108d70a537714cb/chapter_hashing.webp" style="height: 15.266%; left: 63.281%; top: 27.933%;" width="218"/>
|
||||
</noscript>
|
||||
<span style="left: 68.862%; top: 46.292%;">
|
||||
哈希表
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_tree/">
|
||||
<img alt="" data-hero-asset="chapter_tree" data-source-height="281" data-source-width="280" height="281" src="assets/home/ad8bb1cc4c28091c/../shared/images/8138bb0acecedec4/chapter_tree.webp" style="height: 19.615%; left: 80.137%; top: 26.678%;" width="280"/>
|
||||
<img alt="" data-hero-asset="chapter_tree" data-hero-fallback="assets/home/8e54cf1d70453241/../shared/images/8138bb0acecedec4/chapter_tree.webp" data-source-height="281" data-source-width="280" height="281" style="height: 19.615%; left: 80.137%; top: 26.678%;; aspect-ratio: 280 / 281" width="280"/>
|
||||
<noscript>
|
||||
<img alt="" height="281" src="assets/home/8e54cf1d70453241/../shared/images/8138bb0acecedec4/chapter_tree.webp" style="height: 19.615%; left: 80.137%; top: 26.678%;" width="280"/>
|
||||
</noscript>
|
||||
<span style="left: 96.159%; top: 44.8%;">
|
||||
树
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_heap/">
|
||||
<img alt="" data-hero-asset="chapter_heap" data-source-height="152" data-source-width="151" height="152" src="assets/home/ad8bb1cc4c28091c/../shared/images/7586281e6691807a/chapter_heap.webp" style="height: 10.566%; left: 77.226%; top: 11.559%;" width="151"/>
|
||||
<img alt="" data-hero-asset="chapter_heap" data-hero-fallback="assets/home/8e54cf1d70453241/../shared/images/7586281e6691807a/chapter_heap.webp" data-source-height="152" data-source-width="151" height="152" style="height: 10.566%; left: 77.226%; top: 11.559%;; aspect-ratio: 151 / 152" width="151"/>
|
||||
<noscript>
|
||||
<img alt="" height="152" src="assets/home/8e54cf1d70453241/../shared/images/7586281e6691807a/chapter_heap.webp" style="height: 10.566%; left: 77.226%; top: 11.559%;" width="151"/>
|
||||
</noscript>
|
||||
<span style="left: 88.103%; top: 15.422%;">
|
||||
堆
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_graph/">
|
||||
<img alt="" data-hero-asset="chapter_graph" data-source-height="272" data-source-width="542" height="272" src="assets/home/ad8bb1cc4c28091c/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" style="height: 16.112%; left: 51.854%; top: 5.575%;" width="542"/>
|
||||
<img alt="" data-hero-asset="chapter_graph" data-hero-fallback="assets/home/8e54cf1d70453241/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" data-source-height="272" data-source-width="542" height="272" style="height: 16.112%; left: 51.854%; top: 5.575%;; aspect-ratio: 542 / 272" width="542"/>
|
||||
<noscript>
|
||||
<img alt="" height="272" src="assets/home/8e54cf1d70453241/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" style="height: 16.112%; left: 51.854%; top: 5.575%;" width="542"/>
|
||||
</noscript>
|
||||
<span style="left: 71.195%; top: 6.503%;">
|
||||
图
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_searching/">
|
||||
<img alt="" data-hero-asset="chapter_searching" data-source-height="216" data-source-width="216" height="216" src="assets/home/ad8bb1cc4c28091c/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" style="height: 15.149%; left: 18.185%; top: 16.404%;" width="216"/>
|
||||
<img alt="" data-hero-asset="chapter_searching" data-hero-fallback="assets/home/8e54cf1d70453241/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" data-source-height="216" data-source-width="216" height="216" style="height: 15.149%; left: 18.185%; top: 16.404%;; aspect-ratio: 216 / 216" width="216"/>
|
||||
<noscript>
|
||||
<img alt="" height="216" src="assets/home/8e54cf1d70453241/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" style="height: 15.149%; left: 18.185%; top: 16.404%;" width="216"/>
|
||||
</noscript>
|
||||
<span style="left: 14.556%; top: 20.876%;">
|
||||
搜索
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_sorting/">
|
||||
<img alt="" data-hero-asset="chapter_sorting" data-source-height="137" data-source-width="138" height="137" src="assets/home/ad8bb1cc4c28091c/../shared/images/9d4be68b2680967c/chapter_sorting.webp" style="height: 9.574%; left: 25.409%; top: 40.747%;" width="138"/>
|
||||
<img alt="" data-hero-asset="chapter_sorting" data-hero-fallback="assets/home/8e54cf1d70453241/../shared/images/9d4be68b2680967c/chapter_sorting.webp" data-source-height="137" data-source-width="138" height="137" style="height: 9.574%; left: 25.409%; top: 40.747%;; aspect-ratio: 138 / 137" width="138"/>
|
||||
<noscript>
|
||||
<img alt="" height="137" src="assets/home/8e54cf1d70453241/../shared/images/9d4be68b2680967c/chapter_sorting.webp" style="height: 9.574%; left: 25.409%; top: 40.747%;" width="138"/>
|
||||
</noscript>
|
||||
<span style="left: 28.805%; top: 53.808%;">
|
||||
排序
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_divide_and_conquer/">
|
||||
<img alt="" data-hero-asset="chapter_divide_and_conquer" data-source-height="269" data-source-width="407" height="269" src="assets/home/ad8bb1cc4c28091c/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" style="height: 18.681%; left: 32.721%; top: 4.816%;" width="407"/>
|
||||
<img alt="" data-hero-asset="chapter_divide_and_conquer" data-hero-fallback="assets/home/8e54cf1d70453241/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" data-source-height="269" data-source-width="407" height="269" style="height: 18.681%; left: 32.721%; top: 4.816%;; aspect-ratio: 407 / 269" width="407"/>
|
||||
<noscript>
|
||||
<img alt="" height="269" src="assets/home/8e54cf1d70453241/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" style="height: 18.681%; left: 32.721%; top: 4.816%;" width="407"/>
|
||||
</noscript>
|
||||
<span style="left: 31.42%; top: 8.679%;">
|
||||
分治
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_backtracking/">
|
||||
<img alt="" data-hero-asset="chapter_backtracking" data-source-height="249" data-source-width="345" height="249" src="assets/home/ad8bb1cc4c28091c/../shared/images/176675e685febf11/chapter_backtracking.webp" style="height: 17.338%; left: 4.875%; top: 32.925%;" width="345"/>
|
||||
<img alt="" data-hero-asset="chapter_backtracking" data-hero-fallback="assets/home/8e54cf1d70453241/../shared/images/176675e685febf11/chapter_backtracking.webp" data-source-height="249" data-source-width="345" height="249" style="height: 17.338%; left: 4.875%; top: 32.925%;; aspect-ratio: 345 / 249" width="345"/>
|
||||
<noscript>
|
||||
<img alt="" height="249" src="assets/home/8e54cf1d70453241/../shared/images/176675e685febf11/chapter_backtracking.webp" style="height: 17.338%; left: 4.875%; top: 32.925%;" width="345"/>
|
||||
</noscript>
|
||||
<span style="left: 4.742%; top: 50.113%;">
|
||||
回溯
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_dynamic_programming/">
|
||||
<img alt="" data-hero-asset="chapter_dynamic_programming" data-source-height="268" data-source-width="267" height="268" src="assets/home/ad8bb1cc4c28091c/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" style="height: 15.47%; left: 9.406%; top: 57.472%;" width="267"/>
|
||||
<img alt="" data-hero-asset="chapter_dynamic_programming" data-hero-fallback="assets/home/8e54cf1d70453241/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" data-source-height="268" data-source-width="267" height="268" style="height: 15.47%; left: 9.406%; top: 57.472%;; aspect-ratio: 267 / 268" width="267"/>
|
||||
<noscript>
|
||||
<img alt="" height="268" src="assets/home/8e54cf1d70453241/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" style="height: 15.47%; left: 9.406%; top: 57.472%;" width="267"/>
|
||||
</noscript>
|
||||
<span style="left: 8.561%; top: 75.351%;">
|
||||
动态规划
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_greedy/">
|
||||
<img alt="" data-hero-asset="chapter_greedy" data-source-height="202" data-source-width="265" height="202" src="assets/home/ad8bb1cc4c28091c/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" style="height: 14.127%; left: 23.132%; top: 75.803%;" width="265"/>
|
||||
<img alt="" data-hero-asset="chapter_greedy" data-hero-fallback="assets/home/8e54cf1d70453241/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" data-source-height="202" data-source-width="265" height="202" style="height: 14.127%; left: 23.132%; top: 75.803%;; aspect-ratio: 265 / 202" width="265"/>
|
||||
<noscript>
|
||||
<img alt="" height="202" src="assets/home/8e54cf1d70453241/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" style="height: 14.127%; left: 23.132%; top: 75.803%;" width="265"/>
|
||||
</noscript>
|
||||
<span style="left: 21.619%; top: 86.85%;">
|
||||
贪心
|
||||
</span>
|
||||
@@ -139,9 +178,9 @@
|
||||
<a href="chapter_paperbook/">
|
||||
<div style="height: 8.17%;">
|
||||
</div>
|
||||
<img alt="Cover" class="device-on-hover" data-home-src="assets/home/ad8bb1cc4c28091c/../shared/images/dc5be783cea3a262/cover_render.webp" decoding="async" height="720" style="height: 66.83%;" width="535"/>
|
||||
<img alt="Cover" class="device-on-hover" data-home-src="assets/home/8e54cf1d70453241/../shared/images/dc5be783cea3a262/cover_render.webp" decoding="async" height="720" style="height: 66.83%;" width="535"/>
|
||||
<noscript>
|
||||
<img alt="Cover" class="device-on-hover" height="720" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/dc5be783cea3a262/cover_render.webp" style="height: 66.83%;" width="535"/>
|
||||
<img alt="Cover" class="device-on-hover" height="720" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/dc5be783cea3a262/cover_render.webp" style="height: 66.83%;" width="535"/>
|
||||
</noscript>
|
||||
<div class="text-button">
|
||||
<span>
|
||||
@@ -158,9 +197,9 @@
|
||||
<a href="chapter_hello_algo/">
|
||||
<div style="height: 4.34%;">
|
||||
</div>
|
||||
<img alt="" class="device-on-hover" data-home-src="assets/home/ad8bb1cc4c28091c/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" decoding="async" height="965" style="height: 66.31%;" width="1598"/>
|
||||
<img alt="" class="device-on-hover" data-home-src="assets/home/8e54cf1d70453241/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" decoding="async" height="965" style="height: 66.31%;" width="1598"/>
|
||||
<noscript>
|
||||
<img alt="" class="device-on-hover" height="965" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" style="height: 66.31%;" width="1598"/>
|
||||
<img alt="" class="device-on-hover" height="965" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" style="height: 66.31%;" width="1598"/>
|
||||
</noscript>
|
||||
<div style="height: 4.34%;">
|
||||
</div>
|
||||
@@ -177,9 +216,9 @@
|
||||
</div>
|
||||
<div class="media-block">
|
||||
<a href="https://github.com/krahets/hello-algo/releases">
|
||||
<img alt="" class="device-on-hover" data-home-src="assets/home/ad8bb1cc4c28091c/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" decoding="async" height="960" style="height: 75%;" width="812"/>
|
||||
<img alt="" class="device-on-hover" data-home-src="assets/home/8e54cf1d70453241/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" decoding="async" height="960" style="height: 75%;" width="812"/>
|
||||
<noscript>
|
||||
<img alt="" class="device-on-hover" height="960" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" style="height: 75%;" width="812"/>
|
||||
<img alt="" class="device-on-hover" height="960" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" style="height: 75%;" width="812"/>
|
||||
</noscript>
|
||||
<div class="text-button">
|
||||
<span>
|
||||
@@ -247,21 +286,21 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<video aria-label="Animation example" class="intro-image" data-home-poster="assets/home/ad8bb1cc4c28091c/../shared/images/9e5f39bf33afc70f/animation-poster.webp" data-home-video="assets/home/ad8bb1cc4c28091c/../shared/media/6c70de2b2bf4eef7/animation.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
<video aria-label="Animation example" class="intro-image" data-home-poster="assets/home/8e54cf1d70453241/../shared/images/9e5f39bf33afc70f/animation-poster.webp" data-home-video="assets/home/8e54cf1d70453241/../shared/media/6c70de2b2bf4eef7/animation.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="assets/home/ad8bb1cc4c28091c/../shared/media/6c70de2b2bf4eef7/animation.mp4">
|
||||
<img alt="Animation example" class="intro-image" height="1080" src="assets/home/ad8bb1cc4c28091c/../shared/images/9e5f39bf33afc70f/animation-poster.webp" width="1600"/>
|
||||
<a href="assets/home/8e54cf1d70453241/../shared/media/6c70de2b2bf4eef7/animation.mp4">
|
||||
<img alt="Animation example" class="intro-image" height="1080" src="assets/home/8e54cf1d70453241/../shared/images/9e5f39bf33afc70f/animation-poster.webp" width="1600"/>
|
||||
动画图解
|
||||
</a>
|
||||
</noscript>
|
||||
</div>
|
||||
<div class="intro-container">
|
||||
<video aria-label="Running code example" class="intro-image" data-home-poster="assets/home/ad8bb1cc4c28091c/../shared/images/f33a13e8331245ae/running_code-poster.webp" data-home-video="assets/home/ad8bb1cc4c28091c/../shared/media/bb169a96ca8316da/running_code.mp4" height="1082" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1082" width="1600">
|
||||
<video aria-label="Running code example" class="intro-image" data-home-poster="assets/home/8e54cf1d70453241/../shared/images/f33a13e8331245ae/running_code-poster.webp" data-home-video="assets/home/8e54cf1d70453241/../shared/media/bb169a96ca8316da/running_code.mp4" height="1082" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1082" width="1600">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="assets/home/ad8bb1cc4c28091c/../shared/media/bb169a96ca8316da/running_code.mp4">
|
||||
<img alt="Running code example" class="intro-image" height="1082" src="assets/home/ad8bb1cc4c28091c/../shared/images/f33a13e8331245ae/running_code-poster.webp" width="1600"/>
|
||||
<a href="assets/home/8e54cf1d70453241/../shared/media/bb169a96ca8316da/running_code.mp4">
|
||||
<img alt="Running code example" class="intro-image" height="1082" src="assets/home/8e54cf1d70453241/../shared/images/f33a13e8331245ae/running_code-poster.webp" width="1600"/>
|
||||
一键运行
|
||||
</a>
|
||||
</noscript>
|
||||
@@ -309,11 +348,11 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<video aria-label="Comments example" class="intro-image" data-home-poster="assets/home/ad8bb1cc4c28091c/../shared/images/f9ac69536a7582f5/comment-poster.webp" data-home-video="assets/home/ad8bb1cc4c28091c/../shared/media/62aa0b8d351c63a7/comment.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
<video aria-label="Comments example" class="intro-image" data-home-poster="assets/home/8e54cf1d70453241/../shared/images/f9ac69536a7582f5/comment-poster.webp" data-home-video="assets/home/8e54cf1d70453241/../shared/media/62aa0b8d351c63a7/comment.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="assets/home/ad8bb1cc4c28091c/../shared/media/62aa0b8d351c63a7/comment.mp4">
|
||||
<img alt="Comments example" class="intro-image" height="1080" src="assets/home/ad8bb1cc4c28091c/../shared/images/f9ac69536a7582f5/comment-poster.webp" width="1600"/>
|
||||
<a href="assets/home/8e54cf1d70453241/../shared/media/62aa0b8d351c63a7/comment.mp4">
|
||||
<img alt="Comments example" class="intro-image" height="1080" src="assets/home/8e54cf1d70453241/../shared/images/f9ac69536a7582f5/comment-poster.webp" width="1600"/>
|
||||
互助学习
|
||||
</a>
|
||||
</noscript>
|
||||
@@ -329,7 +368,10 @@
|
||||
<div class="profile-div">
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/krahets">
|
||||
<img alt="Author: yudongjin" class="profile-img" height="512" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/02348410d40f7665/avatar_yudongjin.webp" width="512"/>
|
||||
<img alt="Author: yudongjin" class="profile-img" data-home-src="assets/home/8e54cf1d70453241/../shared/images/02348410d40f7665/avatar_yudongjin.webp" decoding="async" height="512" width="512"/>
|
||||
<noscript>
|
||||
<img alt="Author: yudongjin" class="profile-img" height="512" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/02348410d40f7665/avatar_yudongjin.webp" width="512"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
靳宇栋(@krahets)
|
||||
@@ -348,7 +390,10 @@
|
||||
<div class="profile-div">
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/coderonion">
|
||||
<img alt="Reviewer: coderonion" class="profile-img" height="384" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/db606f27971eae34/avatar_coderonion.webp" width="384"/>
|
||||
<img alt="Reviewer: coderonion" class="profile-img" data-home-src="assets/home/8e54cf1d70453241/../shared/images/db606f27971eae34/avatar_coderonion.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: coderonion" class="profile-img" height="384" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/db606f27971eae34/avatar_coderonion.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
coderonion
|
||||
@@ -361,7 +406,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/curtishd">
|
||||
<img alt="Reviewer: curtishd" class="profile-img" height="384" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" width="384"/>
|
||||
<img alt="Reviewer: curtishd" class="profile-img" data-home-src="assets/home/8e54cf1d70453241/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: curtishd" class="profile-img" height="384" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
curtishd
|
||||
@@ -374,7 +422,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/Gonglja">
|
||||
<img alt="Reviewer: Gonglja" class="profile-img" height="384" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" width="384"/>
|
||||
<img alt="Reviewer: Gonglja" class="profile-img" data-home-src="assets/home/8e54cf1d70453241/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: Gonglja" class="profile-img" height="384" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Gonglja
|
||||
@@ -387,7 +438,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/gvenusleo">
|
||||
<img alt="Reviewer: gvenusleo" class="profile-img" height="384" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" width="384"/>
|
||||
<img alt="Reviewer: gvenusleo" class="profile-img" data-home-src="assets/home/8e54cf1d70453241/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: gvenusleo" class="profile-img" height="384" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
gvenusleo
|
||||
@@ -400,7 +454,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/hpstory">
|
||||
<img alt="Reviewer: hpstory" class="profile-img" height="384" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" width="384"/>
|
||||
<img alt="Reviewer: hpstory" class="profile-img" data-home-src="assets/home/8e54cf1d70453241/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: hpstory" class="profile-img" height="384" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
hpstory
|
||||
@@ -413,7 +470,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/justin-tse">
|
||||
<img alt="Reviewer: justin-tse" class="profile-img" height="384" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" width="384"/>
|
||||
<img alt="Reviewer: justin-tse" class="profile-img" data-home-src="assets/home/8e54cf1d70453241/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: justin-tse" class="profile-img" height="384" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
justin-tse
|
||||
@@ -426,7 +486,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/khoaxuantu">
|
||||
<img alt="Reviewer: khoaxuantu" class="profile-img" height="384" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" width="384"/>
|
||||
<img alt="Reviewer: khoaxuantu" class="profile-img" data-home-src="assets/home/8e54cf1d70453241/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: khoaxuantu" class="profile-img" height="384" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
khoaxuantu
|
||||
@@ -439,7 +502,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/krahets">
|
||||
<img alt="Reviewer: krahets" class="profile-img" height="384" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" width="384"/>
|
||||
<img alt="Reviewer: krahets" class="profile-img" data-home-src="assets/home/8e54cf1d70453241/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: krahets" class="profile-img" height="384" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
krahets
|
||||
@@ -452,7 +518,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/night-cruise">
|
||||
<img alt="Reviewer: night-cruise" class="profile-img" height="384" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" width="384"/>
|
||||
<img alt="Reviewer: night-cruise" class="profile-img" data-home-src="assets/home/8e54cf1d70453241/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: night-cruise" class="profile-img" height="384" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
night-cruise
|
||||
@@ -465,7 +534,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/nuomi1">
|
||||
<img alt="Reviewer: nuomi1" class="profile-img" height="384" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" width="384"/>
|
||||
<img alt="Reviewer: nuomi1" class="profile-img" data-home-src="assets/home/8e54cf1d70453241/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: nuomi1" class="profile-img" height="384" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
nuomi1
|
||||
@@ -478,7 +550,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/Reanon">
|
||||
<img alt="Reviewer: Reanon" class="profile-img" height="384" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" width="384"/>
|
||||
<img alt="Reviewer: Reanon" class="profile-img" data-home-src="assets/home/8e54cf1d70453241/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: Reanon" class="profile-img" height="384" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Reanon
|
||||
@@ -491,7 +566,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/rongyi">
|
||||
<img alt="Reviewer: rongyi" class="profile-img" height="384" loading="lazy" src="assets/home/ad8bb1cc4c28091c/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" width="384"/>
|
||||
<img alt="Reviewer: rongyi" class="profile-img" data-home-src="assets/home/8e54cf1d70453241/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: rongyi" class="profile-img" height="384" loading="lazy" src="assets/home/8e54cf1d70453241/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
rongyi
|
||||
@@ -512,11 +590,22 @@
|
||||
本书在开源社区 200 多位贡献者的共同努力下不断完善,感谢他们付出的时间与精力!
|
||||
</p>
|
||||
<a href="https://github.com/krahets/hello-algo/graphs/contributors">
|
||||
<img alt="Contributors" loading="lazy" src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" style="width: 100%; max-width: 38.5em;"/>
|
||||
<img alt="Contributors" data-home-src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" decoding="async" style="width: 100%; max-width: 38.5em;"/>
|
||||
<noscript>
|
||||
<img alt="Contributors" loading="lazy" src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" style="width: 100%; max-width: 38.5em;"/>
|
||||
</noscript>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- This independent fallback also works when the deferred loader cannot be fetched. -->
|
||||
<script defer="" onerror="document.querySelectorAll('[data-home-src], [data-home-poster]').forEach(function(el) { if (el.dataset.homeSrc) el.src = el.dataset.homeSrc; if (el.dataset.homePoster) el.poster = el.dataset.homePoster; });" src="assets/home/ad8bb1cc4c28091c/javascripts/homepage-media.js">
|
||||
<script defer="" onerror="document.querySelectorAll('[data-home-src], [data-home-poster]').forEach(function(el) { if (el.dataset.homeSrc) el.src = el.dataset.homeSrc; if (el.dataset.homePoster) el.poster = el.dataset.homePoster; });" src="assets/home/8e54cf1d70453241/javascripts/homepage-media.js">
|
||||
</script>
|
||||
<script>
|
||||
// If the scene entry point itself fails, still provide chapter illustrations.
|
||||
addEventListener('load', function () {
|
||||
if (!window.Starfield) document.querySelectorAll('[data-hero-fallback]').forEach(function (image) {
|
||||
image.src = image.dataset.heroFallback;
|
||||
});
|
||||
}, {once: true});
|
||||
</script>
|
||||
|
||||
+135
-46
@@ -1,8 +1,8 @@
|
||||
<!-- Generated from the shared homepage template and locale configuration. -->
|
||||
<link href="../assets/home/ad8bb1cc4c28091c/hero-motion.css" rel="stylesheet"/>
|
||||
<link href="../assets/home/8e54cf1d70453241/hero-motion.css" rel="stylesheet"/>
|
||||
<noscript>
|
||||
<style>
|
||||
[data-home-src], video[data-home-poster] { display: none; }
|
||||
[data-home-src], video[data-home-poster], [data-hero-fallback] { display: none; }
|
||||
</style>
|
||||
</noscript>
|
||||
<section class="home-div home-universe-bg" data-md-color-primary="grey" data-md-color-scheme="slate">
|
||||
@@ -11,88 +11,127 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="hero-div hero-div--en" data-home-layout="list">
|
||||
<img alt="" data-hero-asset="ground" data-source-height="380" data-source-width="881" height="380" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/567306c070a6a7e2/ground.webp" style="position: absolute; width: auto; height: 26.445%; left: 28.211%; top: 54.145%;" width="881"/>
|
||||
<img alt="" data-hero-asset="links" data-source-height="1134" data-source-width="1562" height="1134" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/3e50f38a325c1cb5/links.webp" style="position: absolute; width: auto; height: 78.751%; left: 10.545%; top: 7.326%;" width="1562"/>
|
||||
<img alt="" data-hero-asset="ground" data-source-height="380" data-source-width="881" height="380" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/567306c070a6a7e2/ground.webp" style="position: absolute; width: auto; height: 26.445%; left: 28.211%; top: 54.145%;; aspect-ratio: 881 / 380" width="881"/>
|
||||
<img alt="" data-hero-asset="links" data-source-height="1134" data-source-width="1562" height="1134" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/3e50f38a325c1cb5/links.webp" style="position: absolute; width: auto; height: 78.751%; left: 10.545%; top: 7.326%;; aspect-ratio: 1562 / 1134" width="1562"/>
|
||||
<a href="chapter_introduction/">
|
||||
<img alt="" data-hero-asset="astronaut" data-source-height="672" data-source-width="515" height="672" src="../assets/home/ad8bb1cc4c28091c/../shared/images/8e5eb3b3e3ebd9f7/astronaut.webp" style="height: 46.673%; left: 35.413%; top: 24.343%;" width="515"/>
|
||||
<img alt="" data-hero-asset="astronaut" data-source-height="672" data-source-width="515" height="672" src="../assets/home/8e54cf1d70453241/../shared/images/8e5eb3b3e3ebd9f7/astronaut.webp" style="height: 46.673%; left: 35.413%; top: 24.343%;; aspect-ratio: 515 / 672" width="515"/>
|
||||
<span style="left: 52.244%; top: 20.919%;">
|
||||
Getting to know algorithms
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_computational_complexity/">
|
||||
<img alt="" data-hero-asset="chapter_computational_complexity" data-source-height="178" data-source-width="113" height="178" src="../assets/home/ad8bb1cc4c28091c/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" style="height: 12.347%; left: 36.267%; top: 37.653%;" width="113"/>
|
||||
<img alt="" data-hero-asset="chapter_computational_complexity" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" data-source-height="178" data-source-width="113" height="178" style="height: 12.347%; left: 36.267%; top: 37.653%;; aspect-ratio: 113 / 178" width="113"/>
|
||||
<noscript>
|
||||
<img alt="" height="178" src="../assets/home/8e54cf1d70453241/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" style="height: 12.347%; left: 36.267%; top: 37.653%;" width="113"/>
|
||||
</noscript>
|
||||
<span style="left: 39.244%; top: 33.919%;">
|
||||
Complexity
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_array_and_linkedlist/">
|
||||
<img alt="" data-hero-asset="chapter_array_and_linkedlist" data-source-height="319" data-source-width="468" height="319" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" style="height: 22.242%; left: 73.242%; top: 52.481%;" width="468"/>
|
||||
<img alt="" data-hero-asset="chapter_array_and_linkedlist" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" data-source-height="319" data-source-width="468" height="319" style="height: 22.242%; left: 73.242%; top: 52.481%;; aspect-ratio: 468 / 319" width="468"/>
|
||||
<noscript>
|
||||
<img alt="" height="319" src="../assets/home/8e54cf1d70453241/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" style="height: 22.242%; left: 73.242%; top: 52.481%;" width="468"/>
|
||||
</noscript>
|
||||
<span style="left: 90.897%; top: 76.259%;">
|
||||
Arrays and linked lists
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_stack_and_queue/">
|
||||
<img alt="" data-hero-asset="chapter_stack_and_queue" data-source-height="204" data-source-width="204" height="204" src="../assets/home/ad8bb1cc4c28091c/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" style="height: 14.302%; left: 62.646%; top: 77.875%;" width="204"/>
|
||||
<img alt="" data-hero-asset="chapter_stack_and_queue" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" data-source-height="204" data-source-width="204" height="204" style="height: 14.302%; left: 62.646%; top: 77.875%;; aspect-ratio: 204 / 204" width="204"/>
|
||||
<noscript>
|
||||
<img alt="" height="204" src="../assets/home/8e54cf1d70453241/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" style="height: 14.302%; left: 62.646%; top: 77.875%;" width="204"/>
|
||||
</noscript>
|
||||
<span style="left: 77.571%; top: 91.25%;">
|
||||
Stacks and queues
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_hashing/">
|
||||
<img alt="" data-hero-asset="chapter_hashing" data-source-height="218" data-source-width="218" height="218" src="../assets/home/ad8bb1cc4c28091c/../shared/images/b108d70a537714cb/chapter_hashing.webp" style="height: 15.266%; left: 63.281%; top: 27.933%;" width="218"/>
|
||||
<img alt="" data-hero-asset="chapter_hashing" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/b108d70a537714cb/chapter_hashing.webp" data-source-height="218" data-source-width="218" height="218" style="height: 15.266%; left: 63.281%; top: 27.933%;; aspect-ratio: 218 / 218" width="218"/>
|
||||
<noscript>
|
||||
<img alt="" height="218" src="../assets/home/8e54cf1d70453241/../shared/images/b108d70a537714cb/chapter_hashing.webp" style="height: 15.266%; left: 63.281%; top: 27.933%;" width="218"/>
|
||||
</noscript>
|
||||
<span style="left: 68.862%; top: 46.292%;">
|
||||
Hash tables
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_tree/">
|
||||
<img alt="" data-hero-asset="chapter_tree" data-source-height="281" data-source-width="280" height="281" src="../assets/home/ad8bb1cc4c28091c/../shared/images/8138bb0acecedec4/chapter_tree.webp" style="height: 19.615%; left: 80.137%; top: 26.678%;" width="280"/>
|
||||
<img alt="" data-hero-asset="chapter_tree" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/8138bb0acecedec4/chapter_tree.webp" data-source-height="281" data-source-width="280" height="281" style="height: 19.615%; left: 80.137%; top: 26.678%;; aspect-ratio: 280 / 281" width="280"/>
|
||||
<noscript>
|
||||
<img alt="" height="281" src="../assets/home/8e54cf1d70453241/../shared/images/8138bb0acecedec4/chapter_tree.webp" style="height: 19.615%; left: 80.137%; top: 26.678%;" width="280"/>
|
||||
</noscript>
|
||||
<span style="left: 96.159%; top: 44.8%;">
|
||||
Trees
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_heap/">
|
||||
<img alt="" data-hero-asset="chapter_heap" data-source-height="152" data-source-width="151" height="152" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7586281e6691807a/chapter_heap.webp" style="height: 10.566%; left: 77.226%; top: 11.559%;" width="151"/>
|
||||
<img alt="" data-hero-asset="chapter_heap" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/7586281e6691807a/chapter_heap.webp" data-source-height="152" data-source-width="151" height="152" style="height: 10.566%; left: 77.226%; top: 11.559%;; aspect-ratio: 151 / 152" width="151"/>
|
||||
<noscript>
|
||||
<img alt="" height="152" src="../assets/home/8e54cf1d70453241/../shared/images/7586281e6691807a/chapter_heap.webp" style="height: 10.566%; left: 77.226%; top: 11.559%;" width="151"/>
|
||||
</noscript>
|
||||
<span style="left: 88.103%; top: 15.422%;">
|
||||
Heaps
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_graph/">
|
||||
<img alt="" data-hero-asset="chapter_graph" data-source-height="272" data-source-width="542" height="272" src="../assets/home/ad8bb1cc4c28091c/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" style="height: 16.112%; left: 51.854%; top: 5.575%;" width="542"/>
|
||||
<img alt="" data-hero-asset="chapter_graph" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" data-source-height="272" data-source-width="542" height="272" style="height: 16.112%; left: 51.854%; top: 5.575%;; aspect-ratio: 542 / 272" width="542"/>
|
||||
<noscript>
|
||||
<img alt="" height="272" src="../assets/home/8e54cf1d70453241/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" style="height: 16.112%; left: 51.854%; top: 5.575%;" width="542"/>
|
||||
</noscript>
|
||||
<span style="left: 71.195%; top: 6.503%;">
|
||||
Graphs
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_searching/">
|
||||
<img alt="" data-hero-asset="chapter_searching" data-source-height="216" data-source-width="216" height="216" src="../assets/home/ad8bb1cc4c28091c/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" style="height: 15.149%; left: 18.185%; top: 16.404%;" width="216"/>
|
||||
<img alt="" data-hero-asset="chapter_searching" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" data-source-height="216" data-source-width="216" height="216" style="height: 15.149%; left: 18.185%; top: 16.404%;; aspect-ratio: 216 / 216" width="216"/>
|
||||
<noscript>
|
||||
<img alt="" height="216" src="../assets/home/8e54cf1d70453241/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" style="height: 15.149%; left: 18.185%; top: 16.404%;" width="216"/>
|
||||
</noscript>
|
||||
<span style="left: 14.556%; top: 20.876%;">
|
||||
Searching
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_sorting/">
|
||||
<img alt="" data-hero-asset="chapter_sorting" data-source-height="137" data-source-width="138" height="137" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9d4be68b2680967c/chapter_sorting.webp" style="height: 9.574%; left: 25.409%; top: 40.747%;" width="138"/>
|
||||
<img alt="" data-hero-asset="chapter_sorting" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/9d4be68b2680967c/chapter_sorting.webp" data-source-height="137" data-source-width="138" height="137" style="height: 9.574%; left: 25.409%; top: 40.747%;; aspect-ratio: 138 / 137" width="138"/>
|
||||
<noscript>
|
||||
<img alt="" height="137" src="../assets/home/8e54cf1d70453241/../shared/images/9d4be68b2680967c/chapter_sorting.webp" style="height: 9.574%; left: 25.409%; top: 40.747%;" width="138"/>
|
||||
</noscript>
|
||||
<span style="left: 28.805%; top: 53.808%;">
|
||||
Sorting
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_divide_and_conquer/">
|
||||
<img alt="" data-hero-asset="chapter_divide_and_conquer" data-source-height="269" data-source-width="407" height="269" src="../assets/home/ad8bb1cc4c28091c/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" style="height: 18.681%; left: 32.721%; top: 4.816%;" width="407"/>
|
||||
<img alt="" data-hero-asset="chapter_divide_and_conquer" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" data-source-height="269" data-source-width="407" height="269" style="height: 18.681%; left: 32.721%; top: 4.816%;; aspect-ratio: 407 / 269" width="407"/>
|
||||
<noscript>
|
||||
<img alt="" height="269" src="../assets/home/8e54cf1d70453241/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" style="height: 18.681%; left: 32.721%; top: 4.816%;" width="407"/>
|
||||
</noscript>
|
||||
<span style="left: 31.42%; top: 8.679%;">
|
||||
Divide and conquer
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_backtracking/">
|
||||
<img alt="" data-hero-asset="chapter_backtracking" data-source-height="249" data-source-width="345" height="249" src="../assets/home/ad8bb1cc4c28091c/../shared/images/176675e685febf11/chapter_backtracking.webp" style="height: 17.338%; left: 4.875%; top: 32.925%;" width="345"/>
|
||||
<img alt="" data-hero-asset="chapter_backtracking" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/176675e685febf11/chapter_backtracking.webp" data-source-height="249" data-source-width="345" height="249" style="height: 17.338%; left: 4.875%; top: 32.925%;; aspect-ratio: 345 / 249" width="345"/>
|
||||
<noscript>
|
||||
<img alt="" height="249" src="../assets/home/8e54cf1d70453241/../shared/images/176675e685febf11/chapter_backtracking.webp" style="height: 17.338%; left: 4.875%; top: 32.925%;" width="345"/>
|
||||
</noscript>
|
||||
<span style="left: 4.742%; top: 50.113%;">
|
||||
Backtracking
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_dynamic_programming/">
|
||||
<img alt="" data-hero-asset="chapter_dynamic_programming" data-source-height="268" data-source-width="267" height="268" src="../assets/home/ad8bb1cc4c28091c/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" style="height: 15.47%; left: 9.406%; top: 57.472%;" width="267"/>
|
||||
<img alt="" data-hero-asset="chapter_dynamic_programming" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" data-source-height="268" data-source-width="267" height="268" style="height: 15.47%; left: 9.406%; top: 57.472%;; aspect-ratio: 267 / 268" width="267"/>
|
||||
<noscript>
|
||||
<img alt="" height="268" src="../assets/home/8e54cf1d70453241/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" style="height: 15.47%; left: 9.406%; top: 57.472%;" width="267"/>
|
||||
</noscript>
|
||||
<span style="left: 8.561%; top: 75.351%;">
|
||||
Dynamic programming
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_greedy/">
|
||||
<img alt="" data-hero-asset="chapter_greedy" data-source-height="202" data-source-width="265" height="202" src="../assets/home/ad8bb1cc4c28091c/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" style="height: 14.127%; left: 23.132%; top: 75.803%;" width="265"/>
|
||||
<img alt="" data-hero-asset="chapter_greedy" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" data-source-height="202" data-source-width="265" height="202" style="height: 14.127%; left: 23.132%; top: 75.803%;; aspect-ratio: 265 / 202" width="265"/>
|
||||
<noscript>
|
||||
<img alt="" height="202" src="../assets/home/8e54cf1d70453241/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" style="height: 14.127%; left: 23.132%; top: 75.803%;" width="265"/>
|
||||
</noscript>
|
||||
<span style="left: 21.619%; top: 86.85%;">
|
||||
Greedy algorithms
|
||||
</span>
|
||||
@@ -139,9 +178,9 @@
|
||||
<a href="chapter_hello_algo/">
|
||||
<div style="height: 4.34%;">
|
||||
</div>
|
||||
<img alt="Web reading on a computer and phone" class="device-on-hover" data-home-src="../assets/home/ad8bb1cc4c28091c/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" decoding="async" height="965" style="height: 66.31%;" width="1598"/>
|
||||
<img alt="Web reading on a computer and phone" class="device-on-hover" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" decoding="async" height="965" style="height: 66.31%;" width="1598"/>
|
||||
<noscript>
|
||||
<img alt="Web reading on a computer and phone" class="device-on-hover" height="965" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" style="height: 66.31%;" width="1598"/>
|
||||
<img alt="Web reading on a computer and phone" class="device-on-hover" height="965" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" style="height: 66.31%;" width="1598"/>
|
||||
</noscript>
|
||||
<div style="height: 4.34%;">
|
||||
</div>
|
||||
@@ -158,9 +197,9 @@
|
||||
</div>
|
||||
<div class="media-block">
|
||||
<a href="https://github.com/krahets/hello-algo/releases">
|
||||
<img alt="PDF reading on a tablet" class="device-on-hover" data-home-src="../assets/home/ad8bb1cc4c28091c/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" decoding="async" height="960" style="height: 75%;" width="812"/>
|
||||
<img alt="PDF reading on a tablet" class="device-on-hover" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" decoding="async" height="960" style="height: 75%;" width="812"/>
|
||||
<noscript>
|
||||
<img alt="PDF reading on a tablet" class="device-on-hover" height="960" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" style="height: 75%;" width="812"/>
|
||||
<img alt="PDF reading on a tablet" class="device-on-hover" height="960" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" style="height: 75%;" width="812"/>
|
||||
</noscript>
|
||||
<div class="text-button">
|
||||
<span>
|
||||
@@ -226,21 +265,21 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<video aria-label="Animation example" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/325eedad7e336423/en_animation-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/99db238804bedf45/en_animation.mp4" height="864" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1280 / 864" width="1280">
|
||||
<video aria-label="Animation example" class="intro-image" data-home-poster="../assets/home/8e54cf1d70453241/../shared/images/325eedad7e336423/en_animation-poster.webp" data-home-video="../assets/home/8e54cf1d70453241/../shared/media/99db238804bedf45/en_animation.mp4" height="864" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1280 / 864" width="1280">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/99db238804bedf45/en_animation.mp4">
|
||||
<img alt="Animation example" class="intro-image" height="864" src="../assets/home/ad8bb1cc4c28091c/../shared/images/325eedad7e336423/en_animation-poster.webp" width="1280"/>
|
||||
<a href="../assets/home/8e54cf1d70453241/../shared/media/99db238804bedf45/en_animation.mp4">
|
||||
<img alt="Animation example" class="intro-image" height="864" src="../assets/home/8e54cf1d70453241/../shared/images/325eedad7e336423/en_animation-poster.webp" width="1280"/>
|
||||
Animated illustrations
|
||||
</a>
|
||||
</noscript>
|
||||
</div>
|
||||
<div class="intro-container">
|
||||
<video aria-label="Running code example" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/615e2bcba0901fda/en_running_code-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/8a8d9283cb37b664/en_running_code.mp4" height="864" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1280 / 864" width="1280">
|
||||
<video aria-label="Running code example" class="intro-image" data-home-poster="../assets/home/8e54cf1d70453241/../shared/images/615e2bcba0901fda/en_running_code-poster.webp" data-home-video="../assets/home/8e54cf1d70453241/../shared/media/8a8d9283cb37b664/en_running_code.mp4" height="864" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1280 / 864" width="1280">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/8a8d9283cb37b664/en_running_code.mp4">
|
||||
<img alt="Running code example" class="intro-image" height="864" src="../assets/home/ad8bb1cc4c28091c/../shared/images/615e2bcba0901fda/en_running_code-poster.webp" width="1280"/>
|
||||
<a href="../assets/home/8e54cf1d70453241/../shared/media/8a8d9283cb37b664/en_running_code.mp4">
|
||||
<img alt="Running code example" class="intro-image" height="864" src="../assets/home/8e54cf1d70453241/../shared/images/615e2bcba0901fda/en_running_code-poster.webp" width="1280"/>
|
||||
Run code with one click
|
||||
</a>
|
||||
</noscript>
|
||||
@@ -284,11 +323,11 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<video aria-label="Comments example" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/ef67d25d9c7ff1b5/en_comment-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/ea699aff8bc08558/en_comment.mp4" height="864" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1280 / 864" width="1280">
|
||||
<video aria-label="Comments example" class="intro-image" data-home-poster="../assets/home/8e54cf1d70453241/../shared/images/ef67d25d9c7ff1b5/en_comment-poster.webp" data-home-video="../assets/home/8e54cf1d70453241/../shared/media/ea699aff8bc08558/en_comment.mp4" height="864" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1280 / 864" width="1280">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/ea699aff8bc08558/en_comment.mp4">
|
||||
<img alt="Comments example" class="intro-image" height="864" src="../assets/home/ad8bb1cc4c28091c/../shared/images/ef67d25d9c7ff1b5/en_comment-poster.webp" width="1280"/>
|
||||
<a href="../assets/home/8e54cf1d70453241/../shared/media/ea699aff8bc08558/en_comment.mp4">
|
||||
<img alt="Comments example" class="intro-image" height="864" src="../assets/home/8e54cf1d70453241/../shared/images/ef67d25d9c7ff1b5/en_comment-poster.webp" width="1280"/>
|
||||
Learn together
|
||||
</a>
|
||||
</noscript>
|
||||
@@ -304,7 +343,10 @@
|
||||
<div class="profile-div">
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/krahets">
|
||||
<img alt="Author: yudongjin" class="profile-img" height="512" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/02348410d40f7665/avatar_yudongjin.webp" width="512"/>
|
||||
<img alt="Author: yudongjin" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/02348410d40f7665/avatar_yudongjin.webp" decoding="async" height="512" width="512"/>
|
||||
<noscript>
|
||||
<img alt="Author: yudongjin" class="profile-img" height="512" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/02348410d40f7665/avatar_yudongjin.webp" width="512"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Yudong Jin (@krahets)
|
||||
@@ -323,7 +365,10 @@
|
||||
<div class="profile-div">
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/coderonion">
|
||||
<img alt="Reviewer: coderonion" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/db606f27971eae34/avatar_coderonion.webp" width="384"/>
|
||||
<img alt="Reviewer: coderonion" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/db606f27971eae34/avatar_coderonion.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: coderonion" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/db606f27971eae34/avatar_coderonion.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
coderonion
|
||||
@@ -336,7 +381,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/curtishd">
|
||||
<img alt="Reviewer: curtishd" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" width="384"/>
|
||||
<img alt="Reviewer: curtishd" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: curtishd" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
curtishd
|
||||
@@ -349,7 +397,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/Gonglja">
|
||||
<img alt="Reviewer: Gonglja" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" width="384"/>
|
||||
<img alt="Reviewer: Gonglja" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: Gonglja" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Gonglja
|
||||
@@ -362,7 +413,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/gvenusleo">
|
||||
<img alt="Reviewer: gvenusleo" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" width="384"/>
|
||||
<img alt="Reviewer: gvenusleo" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: gvenusleo" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
gvenusleo
|
||||
@@ -375,7 +429,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/hpstory">
|
||||
<img alt="Reviewer: hpstory" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" width="384"/>
|
||||
<img alt="Reviewer: hpstory" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: hpstory" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
hpstory
|
||||
@@ -388,7 +445,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/justin-tse">
|
||||
<img alt="Reviewer: justin-tse" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" width="384"/>
|
||||
<img alt="Reviewer: justin-tse" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: justin-tse" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
justin-tse
|
||||
@@ -401,7 +461,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/khoaxuantu">
|
||||
<img alt="Reviewer: khoaxuantu" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" width="384"/>
|
||||
<img alt="Reviewer: khoaxuantu" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: khoaxuantu" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
khoaxuantu
|
||||
@@ -414,7 +477,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/krahets">
|
||||
<img alt="Reviewer: krahets" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" width="384"/>
|
||||
<img alt="Reviewer: krahets" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: krahets" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
krahets
|
||||
@@ -427,7 +493,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/night-cruise">
|
||||
<img alt="Reviewer: night-cruise" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" width="384"/>
|
||||
<img alt="Reviewer: night-cruise" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: night-cruise" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
night-cruise
|
||||
@@ -440,7 +509,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/nuomi1">
|
||||
<img alt="Reviewer: nuomi1" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" width="384"/>
|
||||
<img alt="Reviewer: nuomi1" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: nuomi1" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
nuomi1
|
||||
@@ -453,7 +525,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/Reanon">
|
||||
<img alt="Reviewer: Reanon" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" width="384"/>
|
||||
<img alt="Reviewer: Reanon" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: Reanon" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Reanon
|
||||
@@ -466,7 +541,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/rongyi">
|
||||
<img alt="Reviewer: rongyi" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" width="384"/>
|
||||
<img alt="Reviewer: rongyi" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: rongyi" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
rongyi
|
||||
@@ -487,11 +565,22 @@
|
||||
More than 200 open-source contributors have helped improve this book. Thank you for your time and effort!
|
||||
</p>
|
||||
<a href="https://github.com/krahets/hello-algo/graphs/contributors">
|
||||
<img alt="Contributors" loading="lazy" src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" style="width: 100%; max-width: 38.5em;"/>
|
||||
<img alt="Contributors" data-home-src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" decoding="async" style="width: 100%; max-width: 38.5em;"/>
|
||||
<noscript>
|
||||
<img alt="Contributors" loading="lazy" src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" style="width: 100%; max-width: 38.5em;"/>
|
||||
</noscript>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- This independent fallback also works when the deferred loader cannot be fetched. -->
|
||||
<script defer="" onerror="document.querySelectorAll('[data-home-src], [data-home-poster]').forEach(function(el) { if (el.dataset.homeSrc) el.src = el.dataset.homeSrc; if (el.dataset.homePoster) el.poster = el.dataset.homePoster; });" src="../assets/home/ad8bb1cc4c28091c/javascripts/homepage-media.js">
|
||||
<script defer="" onerror="document.querySelectorAll('[data-home-src], [data-home-poster]').forEach(function(el) { if (el.dataset.homeSrc) el.src = el.dataset.homeSrc; if (el.dataset.homePoster) el.poster = el.dataset.homePoster; });" src="../assets/home/8e54cf1d70453241/javascripts/homepage-media.js">
|
||||
</script>
|
||||
<script>
|
||||
// If the scene entry point itself fails, still provide chapter illustrations.
|
||||
addEventListener('load', function () {
|
||||
if (!window.Starfield) document.querySelectorAll('[data-hero-fallback]').forEach(function (image) {
|
||||
image.src = image.dataset.heroFallback;
|
||||
});
|
||||
}, {once: true});
|
||||
</script>
|
||||
|
||||
+135
-46
@@ -1,8 +1,8 @@
|
||||
<!-- Generated from the shared homepage template and locale configuration. -->
|
||||
<link href="../assets/home/ad8bb1cc4c28091c/hero-motion.css" rel="stylesheet"/>
|
||||
<link href="../assets/home/8e54cf1d70453241/hero-motion.css" rel="stylesheet"/>
|
||||
<noscript>
|
||||
<style>
|
||||
[data-home-src], video[data-home-poster] { display: none; }
|
||||
[data-home-src], video[data-home-poster], [data-hero-fallback] { display: none; }
|
||||
</style>
|
||||
</noscript>
|
||||
<section class="home-div home-universe-bg" data-md-color-primary="grey" data-md-color-scheme="slate">
|
||||
@@ -11,88 +11,127 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="hero-div hero-div--ja" data-home-layout="list">
|
||||
<img alt="" data-hero-asset="ground" data-source-height="380" data-source-width="881" height="380" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/567306c070a6a7e2/ground.webp" style="position: absolute; width: auto; height: 26.445%; left: 28.211%; top: 54.145%;" width="881"/>
|
||||
<img alt="" data-hero-asset="links" data-source-height="1134" data-source-width="1562" height="1134" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/3e50f38a325c1cb5/links.webp" style="position: absolute; width: auto; height: 78.751%; left: 10.545%; top: 7.326%;" width="1562"/>
|
||||
<img alt="" data-hero-asset="ground" data-source-height="380" data-source-width="881" height="380" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/567306c070a6a7e2/ground.webp" style="position: absolute; width: auto; height: 26.445%; left: 28.211%; top: 54.145%;; aspect-ratio: 881 / 380" width="881"/>
|
||||
<img alt="" data-hero-asset="links" data-source-height="1134" data-source-width="1562" height="1134" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/3e50f38a325c1cb5/links.webp" style="position: absolute; width: auto; height: 78.751%; left: 10.545%; top: 7.326%;; aspect-ratio: 1562 / 1134" width="1562"/>
|
||||
<a href="chapter_introduction/">
|
||||
<img alt="" data-hero-asset="astronaut" data-source-height="672" data-source-width="515" height="672" src="../assets/home/ad8bb1cc4c28091c/../shared/images/8e5eb3b3e3ebd9f7/astronaut.webp" style="height: 46.673%; left: 35.413%; top: 24.343%;" width="515"/>
|
||||
<img alt="" data-hero-asset="astronaut" data-source-height="672" data-source-width="515" height="672" src="../assets/home/8e54cf1d70453241/../shared/images/8e5eb3b3e3ebd9f7/astronaut.webp" style="height: 46.673%; left: 35.413%; top: 24.343%;; aspect-ratio: 515 / 672" width="515"/>
|
||||
<span style="left: 52.244%; top: 20.919%;">
|
||||
アルゴリズム入門
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_computational_complexity/">
|
||||
<img alt="" data-hero-asset="chapter_computational_complexity" data-source-height="178" data-source-width="113" height="178" src="../assets/home/ad8bb1cc4c28091c/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" style="height: 12.347%; left: 36.267%; top: 37.653%;" width="113"/>
|
||||
<img alt="" data-hero-asset="chapter_computational_complexity" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" data-source-height="178" data-source-width="113" height="178" style="height: 12.347%; left: 36.267%; top: 37.653%;; aspect-ratio: 113 / 178" width="113"/>
|
||||
<noscript>
|
||||
<img alt="" height="178" src="../assets/home/8e54cf1d70453241/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" style="height: 12.347%; left: 36.267%; top: 37.653%;" width="113"/>
|
||||
</noscript>
|
||||
<span style="left: 39.244%; top: 33.919%;">
|
||||
計算量
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_array_and_linkedlist/">
|
||||
<img alt="" data-hero-asset="chapter_array_and_linkedlist" data-source-height="319" data-source-width="468" height="319" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" style="height: 22.242%; left: 73.242%; top: 52.481%;" width="468"/>
|
||||
<img alt="" data-hero-asset="chapter_array_and_linkedlist" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" data-source-height="319" data-source-width="468" height="319" style="height: 22.242%; left: 73.242%; top: 52.481%;; aspect-ratio: 468 / 319" width="468"/>
|
||||
<noscript>
|
||||
<img alt="" height="319" src="../assets/home/8e54cf1d70453241/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" style="height: 22.242%; left: 73.242%; top: 52.481%;" width="468"/>
|
||||
</noscript>
|
||||
<span style="left: 90.897%; top: 76.259%;">
|
||||
配列と連結リスト
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_stack_and_queue/">
|
||||
<img alt="" data-hero-asset="chapter_stack_and_queue" data-source-height="204" data-source-width="204" height="204" src="../assets/home/ad8bb1cc4c28091c/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" style="height: 14.302%; left: 62.646%; top: 77.875%;" width="204"/>
|
||||
<img alt="" data-hero-asset="chapter_stack_and_queue" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" data-source-height="204" data-source-width="204" height="204" style="height: 14.302%; left: 62.646%; top: 77.875%;; aspect-ratio: 204 / 204" width="204"/>
|
||||
<noscript>
|
||||
<img alt="" height="204" src="../assets/home/8e54cf1d70453241/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" style="height: 14.302%; left: 62.646%; top: 77.875%;" width="204"/>
|
||||
</noscript>
|
||||
<span style="left: 77.571%; top: 91.25%;">
|
||||
スタックとキュー
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_hashing/">
|
||||
<img alt="" data-hero-asset="chapter_hashing" data-source-height="218" data-source-width="218" height="218" src="../assets/home/ad8bb1cc4c28091c/../shared/images/b108d70a537714cb/chapter_hashing.webp" style="height: 15.266%; left: 63.281%; top: 27.933%;" width="218"/>
|
||||
<img alt="" data-hero-asset="chapter_hashing" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/b108d70a537714cb/chapter_hashing.webp" data-source-height="218" data-source-width="218" height="218" style="height: 15.266%; left: 63.281%; top: 27.933%;; aspect-ratio: 218 / 218" width="218"/>
|
||||
<noscript>
|
||||
<img alt="" height="218" src="../assets/home/8e54cf1d70453241/../shared/images/b108d70a537714cb/chapter_hashing.webp" style="height: 15.266%; left: 63.281%; top: 27.933%;" width="218"/>
|
||||
</noscript>
|
||||
<span style="left: 68.862%; top: 46.292%;">
|
||||
ハッシュテーブル
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_tree/">
|
||||
<img alt="" data-hero-asset="chapter_tree" data-source-height="281" data-source-width="280" height="281" src="../assets/home/ad8bb1cc4c28091c/../shared/images/8138bb0acecedec4/chapter_tree.webp" style="height: 19.615%; left: 80.137%; top: 26.678%;" width="280"/>
|
||||
<img alt="" data-hero-asset="chapter_tree" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/8138bb0acecedec4/chapter_tree.webp" data-source-height="281" data-source-width="280" height="281" style="height: 19.615%; left: 80.137%; top: 26.678%;; aspect-ratio: 280 / 281" width="280"/>
|
||||
<noscript>
|
||||
<img alt="" height="281" src="../assets/home/8e54cf1d70453241/../shared/images/8138bb0acecedec4/chapter_tree.webp" style="height: 19.615%; left: 80.137%; top: 26.678%;" width="280"/>
|
||||
</noscript>
|
||||
<span style="left: 96.159%; top: 44.8%;">
|
||||
木
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_heap/">
|
||||
<img alt="" data-hero-asset="chapter_heap" data-source-height="152" data-source-width="151" height="152" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7586281e6691807a/chapter_heap.webp" style="height: 10.566%; left: 77.226%; top: 11.559%;" width="151"/>
|
||||
<img alt="" data-hero-asset="chapter_heap" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/7586281e6691807a/chapter_heap.webp" data-source-height="152" data-source-width="151" height="152" style="height: 10.566%; left: 77.226%; top: 11.559%;; aspect-ratio: 151 / 152" width="151"/>
|
||||
<noscript>
|
||||
<img alt="" height="152" src="../assets/home/8e54cf1d70453241/../shared/images/7586281e6691807a/chapter_heap.webp" style="height: 10.566%; left: 77.226%; top: 11.559%;" width="151"/>
|
||||
</noscript>
|
||||
<span style="left: 88.103%; top: 15.422%;">
|
||||
ヒープ
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_graph/">
|
||||
<img alt="" data-hero-asset="chapter_graph" data-source-height="272" data-source-width="542" height="272" src="../assets/home/ad8bb1cc4c28091c/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" style="height: 16.112%; left: 51.854%; top: 5.575%;" width="542"/>
|
||||
<img alt="" data-hero-asset="chapter_graph" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" data-source-height="272" data-source-width="542" height="272" style="height: 16.112%; left: 51.854%; top: 5.575%;; aspect-ratio: 542 / 272" width="542"/>
|
||||
<noscript>
|
||||
<img alt="" height="272" src="../assets/home/8e54cf1d70453241/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" style="height: 16.112%; left: 51.854%; top: 5.575%;" width="542"/>
|
||||
</noscript>
|
||||
<span style="left: 71.195%; top: 6.503%;">
|
||||
グラフ
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_searching/">
|
||||
<img alt="" data-hero-asset="chapter_searching" data-source-height="216" data-source-width="216" height="216" src="../assets/home/ad8bb1cc4c28091c/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" style="height: 15.149%; left: 18.185%; top: 16.404%;" width="216"/>
|
||||
<img alt="" data-hero-asset="chapter_searching" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" data-source-height="216" data-source-width="216" height="216" style="height: 15.149%; left: 18.185%; top: 16.404%;; aspect-ratio: 216 / 216" width="216"/>
|
||||
<noscript>
|
||||
<img alt="" height="216" src="../assets/home/8e54cf1d70453241/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" style="height: 15.149%; left: 18.185%; top: 16.404%;" width="216"/>
|
||||
</noscript>
|
||||
<span style="left: 14.556%; top: 20.876%;">
|
||||
探索
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_sorting/">
|
||||
<img alt="" data-hero-asset="chapter_sorting" data-source-height="137" data-source-width="138" height="137" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9d4be68b2680967c/chapter_sorting.webp" style="height: 9.574%; left: 25.409%; top: 40.747%;" width="138"/>
|
||||
<img alt="" data-hero-asset="chapter_sorting" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/9d4be68b2680967c/chapter_sorting.webp" data-source-height="137" data-source-width="138" height="137" style="height: 9.574%; left: 25.409%; top: 40.747%;; aspect-ratio: 138 / 137" width="138"/>
|
||||
<noscript>
|
||||
<img alt="" height="137" src="../assets/home/8e54cf1d70453241/../shared/images/9d4be68b2680967c/chapter_sorting.webp" style="height: 9.574%; left: 25.409%; top: 40.747%;" width="138"/>
|
||||
</noscript>
|
||||
<span style="left: 28.805%; top: 53.808%;">
|
||||
ソート
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_divide_and_conquer/">
|
||||
<img alt="" data-hero-asset="chapter_divide_and_conquer" data-source-height="269" data-source-width="407" height="269" src="../assets/home/ad8bb1cc4c28091c/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" style="height: 18.681%; left: 32.721%; top: 4.816%;" width="407"/>
|
||||
<img alt="" data-hero-asset="chapter_divide_and_conquer" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" data-source-height="269" data-source-width="407" height="269" style="height: 18.681%; left: 32.721%; top: 4.816%;; aspect-ratio: 407 / 269" width="407"/>
|
||||
<noscript>
|
||||
<img alt="" height="269" src="../assets/home/8e54cf1d70453241/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" style="height: 18.681%; left: 32.721%; top: 4.816%;" width="407"/>
|
||||
</noscript>
|
||||
<span style="left: 31.42%; top: 8.679%;">
|
||||
分割統治
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_backtracking/">
|
||||
<img alt="" data-hero-asset="chapter_backtracking" data-source-height="249" data-source-width="345" height="249" src="../assets/home/ad8bb1cc4c28091c/../shared/images/176675e685febf11/chapter_backtracking.webp" style="height: 17.338%; left: 4.875%; top: 32.925%;" width="345"/>
|
||||
<img alt="" data-hero-asset="chapter_backtracking" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/176675e685febf11/chapter_backtracking.webp" data-source-height="249" data-source-width="345" height="249" style="height: 17.338%; left: 4.875%; top: 32.925%;; aspect-ratio: 345 / 249" width="345"/>
|
||||
<noscript>
|
||||
<img alt="" height="249" src="../assets/home/8e54cf1d70453241/../shared/images/176675e685febf11/chapter_backtracking.webp" style="height: 17.338%; left: 4.875%; top: 32.925%;" width="345"/>
|
||||
</noscript>
|
||||
<span style="left: 4.742%; top: 50.113%;">
|
||||
バックトラッキング
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_dynamic_programming/">
|
||||
<img alt="" data-hero-asset="chapter_dynamic_programming" data-source-height="268" data-source-width="267" height="268" src="../assets/home/ad8bb1cc4c28091c/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" style="height: 15.47%; left: 9.406%; top: 57.472%;" width="267"/>
|
||||
<img alt="" data-hero-asset="chapter_dynamic_programming" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" data-source-height="268" data-source-width="267" height="268" style="height: 15.47%; left: 9.406%; top: 57.472%;; aspect-ratio: 267 / 268" width="267"/>
|
||||
<noscript>
|
||||
<img alt="" height="268" src="../assets/home/8e54cf1d70453241/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" style="height: 15.47%; left: 9.406%; top: 57.472%;" width="267"/>
|
||||
</noscript>
|
||||
<span style="left: 8.561%; top: 75.351%;">
|
||||
動的計画法
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_greedy/">
|
||||
<img alt="" data-hero-asset="chapter_greedy" data-source-height="202" data-source-width="265" height="202" src="../assets/home/ad8bb1cc4c28091c/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" style="height: 14.127%; left: 23.132%; top: 75.803%;" width="265"/>
|
||||
<img alt="" data-hero-asset="chapter_greedy" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" data-source-height="202" data-source-width="265" height="202" style="height: 14.127%; left: 23.132%; top: 75.803%;; aspect-ratio: 265 / 202" width="265"/>
|
||||
<noscript>
|
||||
<img alt="" height="202" src="../assets/home/8e54cf1d70453241/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" style="height: 14.127%; left: 23.132%; top: 75.803%;" width="265"/>
|
||||
</noscript>
|
||||
<span style="left: 21.619%; top: 86.85%;">
|
||||
貪欲法
|
||||
</span>
|
||||
@@ -139,9 +178,9 @@
|
||||
<a href="chapter_hello_algo/">
|
||||
<div style="height: 4.34%;">
|
||||
</div>
|
||||
<img alt="" class="device-on-hover" data-home-src="../assets/home/ad8bb1cc4c28091c/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" decoding="async" height="965" style="height: 66.31%;" width="1598"/>
|
||||
<img alt="" class="device-on-hover" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" decoding="async" height="965" style="height: 66.31%;" width="1598"/>
|
||||
<noscript>
|
||||
<img alt="" class="device-on-hover" height="965" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" style="height: 66.31%;" width="1598"/>
|
||||
<img alt="" class="device-on-hover" height="965" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" style="height: 66.31%;" width="1598"/>
|
||||
</noscript>
|
||||
<div style="height: 4.34%;">
|
||||
</div>
|
||||
@@ -158,9 +197,9 @@
|
||||
</div>
|
||||
<div class="media-block">
|
||||
<a href="https://github.com/krahets/hello-algo/releases">
|
||||
<img alt="" class="device-on-hover" data-home-src="../assets/home/ad8bb1cc4c28091c/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" decoding="async" height="960" style="height: 75%;" width="812"/>
|
||||
<img alt="" class="device-on-hover" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" decoding="async" height="960" style="height: 75%;" width="812"/>
|
||||
<noscript>
|
||||
<img alt="" class="device-on-hover" height="960" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" style="height: 75%;" width="812"/>
|
||||
<img alt="" class="device-on-hover" height="960" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" style="height: 75%;" width="812"/>
|
||||
</noscript>
|
||||
<div class="text-button">
|
||||
<span>
|
||||
@@ -231,21 +270,21 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<video aria-label="アルゴリズムの動きを示すアニメーション" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/9e5f39bf33afc70f/animation-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/6c70de2b2bf4eef7/animation.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
<video aria-label="アルゴリズムの動きを示すアニメーション" class="intro-image" data-home-poster="../assets/home/8e54cf1d70453241/../shared/images/9e5f39bf33afc70f/animation-poster.webp" data-home-video="../assets/home/8e54cf1d70453241/../shared/media/6c70de2b2bf4eef7/animation.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/6c70de2b2bf4eef7/animation.mp4">
|
||||
<img alt="アルゴリズムの動きを示すアニメーション" class="intro-image" height="1080" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9e5f39bf33afc70f/animation-poster.webp" width="1600"/>
|
||||
<a href="../assets/home/8e54cf1d70453241/../shared/media/6c70de2b2bf4eef7/animation.mp4">
|
||||
<img alt="アルゴリズムの動きを示すアニメーション" class="intro-image" height="1080" src="../assets/home/8e54cf1d70453241/../shared/images/9e5f39bf33afc70f/animation-poster.webp" width="1600"/>
|
||||
アニメーションによる図解
|
||||
</a>
|
||||
</noscript>
|
||||
</div>
|
||||
<div class="intro-container">
|
||||
<video aria-label="コードを実行する例" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/f33a13e8331245ae/running_code-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/bb169a96ca8316da/running_code.mp4" height="1082" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1082" width="1600">
|
||||
<video aria-label="コードを実行する例" class="intro-image" data-home-poster="../assets/home/8e54cf1d70453241/../shared/images/f33a13e8331245ae/running_code-poster.webp" data-home-video="../assets/home/8e54cf1d70453241/../shared/media/bb169a96ca8316da/running_code.mp4" height="1082" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1082" width="1600">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/bb169a96ca8316da/running_code.mp4">
|
||||
<img alt="コードを実行する例" class="intro-image" height="1082" src="../assets/home/ad8bb1cc4c28091c/../shared/images/f33a13e8331245ae/running_code-poster.webp" width="1600"/>
|
||||
<a href="../assets/home/8e54cf1d70453241/../shared/media/bb169a96ca8316da/running_code.mp4">
|
||||
<img alt="コードを実行する例" class="intro-image" height="1082" src="../assets/home/8e54cf1d70453241/../shared/images/f33a13e8331245ae/running_code-poster.webp" width="1600"/>
|
||||
ワンクリックで実行
|
||||
</a>
|
||||
</noscript>
|
||||
@@ -293,11 +332,11 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<video aria-label="コメントで学び合う例" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/f9ac69536a7582f5/comment-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/62aa0b8d351c63a7/comment.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
<video aria-label="コメントで学び合う例" class="intro-image" data-home-poster="../assets/home/8e54cf1d70453241/../shared/images/f9ac69536a7582f5/comment-poster.webp" data-home-video="../assets/home/8e54cf1d70453241/../shared/media/62aa0b8d351c63a7/comment.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/62aa0b8d351c63a7/comment.mp4">
|
||||
<img alt="コメントで学び合う例" class="intro-image" height="1080" src="../assets/home/ad8bb1cc4c28091c/../shared/images/f9ac69536a7582f5/comment-poster.webp" width="1600"/>
|
||||
<a href="../assets/home/8e54cf1d70453241/../shared/media/62aa0b8d351c63a7/comment.mp4">
|
||||
<img alt="コメントで学び合う例" class="intro-image" height="1080" src="../assets/home/8e54cf1d70453241/../shared/images/f9ac69536a7582f5/comment-poster.webp" width="1600"/>
|
||||
読者同士で学び合う
|
||||
</a>
|
||||
</noscript>
|
||||
@@ -313,7 +352,10 @@
|
||||
<div class="profile-div">
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/krahets">
|
||||
<img alt="著者:yudongjin" class="profile-img" height="512" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/02348410d40f7665/avatar_yudongjin.webp" width="512"/>
|
||||
<img alt="著者:yudongjin" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/02348410d40f7665/avatar_yudongjin.webp" decoding="async" height="512" width="512"/>
|
||||
<noscript>
|
||||
<img alt="著者:yudongjin" class="profile-img" height="512" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/02348410d40f7665/avatar_yudongjin.webp" width="512"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
靳宇栋(@krahets)
|
||||
@@ -332,7 +374,10 @@
|
||||
<div class="profile-div">
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/coderonion">
|
||||
<img alt="コードのレビュー担当者:coderonion" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/db606f27971eae34/avatar_coderonion.webp" width="384"/>
|
||||
<img alt="コードのレビュー担当者:coderonion" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/db606f27971eae34/avatar_coderonion.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="コードのレビュー担当者:coderonion" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/db606f27971eae34/avatar_coderonion.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
coderonion
|
||||
@@ -345,7 +390,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/curtishd">
|
||||
<img alt="コードのレビュー担当者:curtishd" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" width="384"/>
|
||||
<img alt="コードのレビュー担当者:curtishd" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="コードのレビュー担当者:curtishd" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
curtishd
|
||||
@@ -358,7 +406,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/Gonglja">
|
||||
<img alt="コードのレビュー担当者:Gonglja" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" width="384"/>
|
||||
<img alt="コードのレビュー担当者:Gonglja" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="コードのレビュー担当者:Gonglja" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Gonglja
|
||||
@@ -371,7 +422,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/gvenusleo">
|
||||
<img alt="コードのレビュー担当者:gvenusleo" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" width="384"/>
|
||||
<img alt="コードのレビュー担当者:gvenusleo" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="コードのレビュー担当者:gvenusleo" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
gvenusleo
|
||||
@@ -384,7 +438,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/hpstory">
|
||||
<img alt="コードのレビュー担当者:hpstory" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" width="384"/>
|
||||
<img alt="コードのレビュー担当者:hpstory" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="コードのレビュー担当者:hpstory" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
hpstory
|
||||
@@ -397,7 +454,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/justin-tse">
|
||||
<img alt="コードのレビュー担当者:justin-tse" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" width="384"/>
|
||||
<img alt="コードのレビュー担当者:justin-tse" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="コードのレビュー担当者:justin-tse" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
justin-tse
|
||||
@@ -410,7 +470,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/khoaxuantu">
|
||||
<img alt="コードのレビュー担当者:khoaxuantu" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" width="384"/>
|
||||
<img alt="コードのレビュー担当者:khoaxuantu" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="コードのレビュー担当者:khoaxuantu" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
khoaxuantu
|
||||
@@ -423,7 +486,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/krahets">
|
||||
<img alt="コードのレビュー担当者:krahets" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" width="384"/>
|
||||
<img alt="コードのレビュー担当者:krahets" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="コードのレビュー担当者:krahets" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
krahets
|
||||
@@ -436,7 +502,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/night-cruise">
|
||||
<img alt="コードのレビュー担当者:night-cruise" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" width="384"/>
|
||||
<img alt="コードのレビュー担当者:night-cruise" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="コードのレビュー担当者:night-cruise" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
night-cruise
|
||||
@@ -449,7 +518,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/nuomi1">
|
||||
<img alt="コードのレビュー担当者:nuomi1" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" width="384"/>
|
||||
<img alt="コードのレビュー担当者:nuomi1" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="コードのレビュー担当者:nuomi1" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
nuomi1
|
||||
@@ -462,7 +534,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/Reanon">
|
||||
<img alt="コードのレビュー担当者:Reanon" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" width="384"/>
|
||||
<img alt="コードのレビュー担当者:Reanon" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="コードのレビュー担当者:Reanon" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Reanon
|
||||
@@ -475,7 +550,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/rongyi">
|
||||
<img alt="コードのレビュー担当者:rongyi" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" width="384"/>
|
||||
<img alt="コードのレビュー担当者:rongyi" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="コードのレビュー担当者:rongyi" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
rongyi
|
||||
@@ -496,11 +574,22 @@
|
||||
本書は、オープンソースコミュニティの 200 人以上の貢献者の協力により、改善を重ねています。時間と労力を注いでくださった皆さんに感謝します!
|
||||
</p>
|
||||
<a href="https://github.com/krahets/hello-algo/graphs/contributors">
|
||||
<img alt="貢献者の皆さん" loading="lazy" src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" style="width: 100%; max-width: 38.5em;"/>
|
||||
<img alt="貢献者の皆さん" data-home-src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" decoding="async" style="width: 100%; max-width: 38.5em;"/>
|
||||
<noscript>
|
||||
<img alt="貢献者の皆さん" loading="lazy" src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" style="width: 100%; max-width: 38.5em;"/>
|
||||
</noscript>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- This independent fallback also works when the deferred loader cannot be fetched. -->
|
||||
<script defer="" onerror="document.querySelectorAll('[data-home-src], [data-home-poster]').forEach(function(el) { if (el.dataset.homeSrc) el.src = el.dataset.homeSrc; if (el.dataset.homePoster) el.poster = el.dataset.homePoster; });" src="../assets/home/ad8bb1cc4c28091c/javascripts/homepage-media.js">
|
||||
<script defer="" onerror="document.querySelectorAll('[data-home-src], [data-home-poster]').forEach(function(el) { if (el.dataset.homeSrc) el.src = el.dataset.homeSrc; if (el.dataset.homePoster) el.poster = el.dataset.homePoster; });" src="../assets/home/8e54cf1d70453241/javascripts/homepage-media.js">
|
||||
</script>
|
||||
<script>
|
||||
// If the scene entry point itself fails, still provide chapter illustrations.
|
||||
addEventListener('load', function () {
|
||||
if (!window.Starfield) document.querySelectorAll('[data-hero-fallback]').forEach(function (image) {
|
||||
image.src = image.dataset.heroFallback;
|
||||
});
|
||||
}, {once: true});
|
||||
</script>
|
||||
|
||||
+135
-46
@@ -1,8 +1,8 @@
|
||||
<!-- Generated from the shared homepage template and locale configuration. -->
|
||||
<link href="../assets/home/ad8bb1cc4c28091c/hero-motion.css" rel="stylesheet"/>
|
||||
<link href="../assets/home/8e54cf1d70453241/hero-motion.css" rel="stylesheet"/>
|
||||
<noscript>
|
||||
<style>
|
||||
[data-home-src], video[data-home-poster] { display: none; }
|
||||
[data-home-src], video[data-home-poster], [data-hero-fallback] { display: none; }
|
||||
</style>
|
||||
</noscript>
|
||||
<section class="home-div home-universe-bg" data-md-color-primary="grey" data-md-color-scheme="slate">
|
||||
@@ -11,88 +11,127 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="hero-div hero-div--ko" data-home-layout="universe">
|
||||
<img alt="" data-hero-asset="ground" data-source-height="380" data-source-width="881" height="380" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/567306c070a6a7e2/ground.webp" style="position: absolute; width: auto; height: 26.445%; left: 28.211%; top: 54.145%;" width="881"/>
|
||||
<img alt="" data-hero-asset="links" data-source-height="1134" data-source-width="1562" height="1134" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/3e50f38a325c1cb5/links.webp" style="position: absolute; width: auto; height: 78.751%; left: 10.545%; top: 7.326%;" width="1562"/>
|
||||
<img alt="" data-hero-asset="ground" data-source-height="380" data-source-width="881" height="380" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/567306c070a6a7e2/ground.webp" style="position: absolute; width: auto; height: 26.445%; left: 28.211%; top: 54.145%;; aspect-ratio: 881 / 380" width="881"/>
|
||||
<img alt="" data-hero-asset="links" data-source-height="1134" data-source-width="1562" height="1134" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/3e50f38a325c1cb5/links.webp" style="position: absolute; width: auto; height: 78.751%; left: 10.545%; top: 7.326%;; aspect-ratio: 1562 / 1134" width="1562"/>
|
||||
<a href="chapter_introduction/">
|
||||
<img alt="" data-hero-asset="astronaut" data-source-height="672" data-source-width="515" height="672" src="../assets/home/ad8bb1cc4c28091c/../shared/images/8e5eb3b3e3ebd9f7/astronaut.webp" style="height: 46.673%; left: 35.413%; top: 24.343%;" width="515"/>
|
||||
<img alt="" data-hero-asset="astronaut" data-source-height="672" data-source-width="515" height="672" src="../assets/home/8e54cf1d70453241/../shared/images/8e5eb3b3e3ebd9f7/astronaut.webp" style="height: 46.673%; left: 35.413%; top: 24.343%;; aspect-ratio: 515 / 672" width="515"/>
|
||||
<span style="left: 52.244%; top: 20.919%;">
|
||||
알고리즘과의 첫 만남
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_computational_complexity/">
|
||||
<img alt="" data-hero-asset="chapter_computational_complexity" data-source-height="178" data-source-width="113" height="178" src="../assets/home/ad8bb1cc4c28091c/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" style="height: 12.347%; left: 36.267%; top: 37.653%;" width="113"/>
|
||||
<img alt="" data-hero-asset="chapter_computational_complexity" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" data-source-height="178" data-source-width="113" height="178" style="height: 12.347%; left: 36.267%; top: 37.653%;; aspect-ratio: 113 / 178" width="113"/>
|
||||
<noscript>
|
||||
<img alt="" height="178" src="../assets/home/8e54cf1d70453241/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" style="height: 12.347%; left: 36.267%; top: 37.653%;" width="113"/>
|
||||
</noscript>
|
||||
<span style="left: 39.244%; top: 33.919%;">
|
||||
복잡도
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_array_and_linkedlist/">
|
||||
<img alt="" data-hero-asset="chapter_array_and_linkedlist" data-source-height="319" data-source-width="468" height="319" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" style="height: 22.242%; left: 73.242%; top: 52.481%;" width="468"/>
|
||||
<img alt="" data-hero-asset="chapter_array_and_linkedlist" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" data-source-height="319" data-source-width="468" height="319" style="height: 22.242%; left: 73.242%; top: 52.481%;; aspect-ratio: 468 / 319" width="468"/>
|
||||
<noscript>
|
||||
<img alt="" height="319" src="../assets/home/8e54cf1d70453241/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" style="height: 22.242%; left: 73.242%; top: 52.481%;" width="468"/>
|
||||
</noscript>
|
||||
<span style="left: 90.897%; top: 76.259%;">
|
||||
배열과 연결 리스트
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_stack_and_queue/">
|
||||
<img alt="" data-hero-asset="chapter_stack_and_queue" data-source-height="204" data-source-width="204" height="204" src="../assets/home/ad8bb1cc4c28091c/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" style="height: 14.302%; left: 62.646%; top: 77.875%;" width="204"/>
|
||||
<img alt="" data-hero-asset="chapter_stack_and_queue" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" data-source-height="204" data-source-width="204" height="204" style="height: 14.302%; left: 62.646%; top: 77.875%;; aspect-ratio: 204 / 204" width="204"/>
|
||||
<noscript>
|
||||
<img alt="" height="204" src="../assets/home/8e54cf1d70453241/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" style="height: 14.302%; left: 62.646%; top: 77.875%;" width="204"/>
|
||||
</noscript>
|
||||
<span style="left: 77.571%; top: 91.25%;">
|
||||
스택과 큐
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_hashing/">
|
||||
<img alt="" data-hero-asset="chapter_hashing" data-source-height="218" data-source-width="218" height="218" src="../assets/home/ad8bb1cc4c28091c/../shared/images/b108d70a537714cb/chapter_hashing.webp" style="height: 15.266%; left: 63.281%; top: 27.933%;" width="218"/>
|
||||
<img alt="" data-hero-asset="chapter_hashing" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/b108d70a537714cb/chapter_hashing.webp" data-source-height="218" data-source-width="218" height="218" style="height: 15.266%; left: 63.281%; top: 27.933%;; aspect-ratio: 218 / 218" width="218"/>
|
||||
<noscript>
|
||||
<img alt="" height="218" src="../assets/home/8e54cf1d70453241/../shared/images/b108d70a537714cb/chapter_hashing.webp" style="height: 15.266%; left: 63.281%; top: 27.933%;" width="218"/>
|
||||
</noscript>
|
||||
<span style="left: 68.862%; top: 46.292%;">
|
||||
해시 테이블
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_tree/">
|
||||
<img alt="" data-hero-asset="chapter_tree" data-source-height="281" data-source-width="280" height="281" src="../assets/home/ad8bb1cc4c28091c/../shared/images/8138bb0acecedec4/chapter_tree.webp" style="height: 19.615%; left: 80.137%; top: 26.678%;" width="280"/>
|
||||
<img alt="" data-hero-asset="chapter_tree" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/8138bb0acecedec4/chapter_tree.webp" data-source-height="281" data-source-width="280" height="281" style="height: 19.615%; left: 80.137%; top: 26.678%;; aspect-ratio: 280 / 281" width="280"/>
|
||||
<noscript>
|
||||
<img alt="" height="281" src="../assets/home/8e54cf1d70453241/../shared/images/8138bb0acecedec4/chapter_tree.webp" style="height: 19.615%; left: 80.137%; top: 26.678%;" width="280"/>
|
||||
</noscript>
|
||||
<span style="left: 96.159%; top: 44.8%;">
|
||||
트리
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_heap/">
|
||||
<img alt="" data-hero-asset="chapter_heap" data-source-height="152" data-source-width="151" height="152" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7586281e6691807a/chapter_heap.webp" style="height: 10.566%; left: 77.226%; top: 11.559%;" width="151"/>
|
||||
<img alt="" data-hero-asset="chapter_heap" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/7586281e6691807a/chapter_heap.webp" data-source-height="152" data-source-width="151" height="152" style="height: 10.566%; left: 77.226%; top: 11.559%;; aspect-ratio: 151 / 152" width="151"/>
|
||||
<noscript>
|
||||
<img alt="" height="152" src="../assets/home/8e54cf1d70453241/../shared/images/7586281e6691807a/chapter_heap.webp" style="height: 10.566%; left: 77.226%; top: 11.559%;" width="151"/>
|
||||
</noscript>
|
||||
<span style="left: 88.103%; top: 15.422%;">
|
||||
힙
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_graph/">
|
||||
<img alt="" data-hero-asset="chapter_graph" data-source-height="272" data-source-width="542" height="272" src="../assets/home/ad8bb1cc4c28091c/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" style="height: 16.112%; left: 51.854%; top: 5.575%;" width="542"/>
|
||||
<img alt="" data-hero-asset="chapter_graph" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" data-source-height="272" data-source-width="542" height="272" style="height: 16.112%; left: 51.854%; top: 5.575%;; aspect-ratio: 542 / 272" width="542"/>
|
||||
<noscript>
|
||||
<img alt="" height="272" src="../assets/home/8e54cf1d70453241/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" style="height: 16.112%; left: 51.854%; top: 5.575%;" width="542"/>
|
||||
</noscript>
|
||||
<span style="left: 71.195%; top: 6.503%;">
|
||||
그래프
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_searching/">
|
||||
<img alt="" data-hero-asset="chapter_searching" data-source-height="216" data-source-width="216" height="216" src="../assets/home/ad8bb1cc4c28091c/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" style="height: 15.149%; left: 18.185%; top: 16.404%;" width="216"/>
|
||||
<img alt="" data-hero-asset="chapter_searching" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" data-source-height="216" data-source-width="216" height="216" style="height: 15.149%; left: 18.185%; top: 16.404%;; aspect-ratio: 216 / 216" width="216"/>
|
||||
<noscript>
|
||||
<img alt="" height="216" src="../assets/home/8e54cf1d70453241/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" style="height: 15.149%; left: 18.185%; top: 16.404%;" width="216"/>
|
||||
</noscript>
|
||||
<span style="left: 14.556%; top: 20.876%;">
|
||||
탐색
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_sorting/">
|
||||
<img alt="" data-hero-asset="chapter_sorting" data-source-height="137" data-source-width="138" height="137" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9d4be68b2680967c/chapter_sorting.webp" style="height: 9.574%; left: 25.409%; top: 40.747%;" width="138"/>
|
||||
<img alt="" data-hero-asset="chapter_sorting" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/9d4be68b2680967c/chapter_sorting.webp" data-source-height="137" data-source-width="138" height="137" style="height: 9.574%; left: 25.409%; top: 40.747%;; aspect-ratio: 138 / 137" width="138"/>
|
||||
<noscript>
|
||||
<img alt="" height="137" src="../assets/home/8e54cf1d70453241/../shared/images/9d4be68b2680967c/chapter_sorting.webp" style="height: 9.574%; left: 25.409%; top: 40.747%;" width="138"/>
|
||||
</noscript>
|
||||
<span style="left: 28.805%; top: 53.808%;">
|
||||
정렬
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_divide_and_conquer/">
|
||||
<img alt="" data-hero-asset="chapter_divide_and_conquer" data-source-height="269" data-source-width="407" height="269" src="../assets/home/ad8bb1cc4c28091c/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" style="height: 18.681%; left: 32.721%; top: 4.816%;" width="407"/>
|
||||
<img alt="" data-hero-asset="chapter_divide_and_conquer" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" data-source-height="269" data-source-width="407" height="269" style="height: 18.681%; left: 32.721%; top: 4.816%;; aspect-ratio: 407 / 269" width="407"/>
|
||||
<noscript>
|
||||
<img alt="" height="269" src="../assets/home/8e54cf1d70453241/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" style="height: 18.681%; left: 32.721%; top: 4.816%;" width="407"/>
|
||||
</noscript>
|
||||
<span style="left: 31.42%; top: 8.679%;">
|
||||
분할 정복
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_backtracking/">
|
||||
<img alt="" data-hero-asset="chapter_backtracking" data-source-height="249" data-source-width="345" height="249" src="../assets/home/ad8bb1cc4c28091c/../shared/images/176675e685febf11/chapter_backtracking.webp" style="height: 17.338%; left: 4.875%; top: 32.925%;" width="345"/>
|
||||
<img alt="" data-hero-asset="chapter_backtracking" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/176675e685febf11/chapter_backtracking.webp" data-source-height="249" data-source-width="345" height="249" style="height: 17.338%; left: 4.875%; top: 32.925%;; aspect-ratio: 345 / 249" width="345"/>
|
||||
<noscript>
|
||||
<img alt="" height="249" src="../assets/home/8e54cf1d70453241/../shared/images/176675e685febf11/chapter_backtracking.webp" style="height: 17.338%; left: 4.875%; top: 32.925%;" width="345"/>
|
||||
</noscript>
|
||||
<span style="left: 4.742%; top: 50.113%;">
|
||||
백트래킹
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_dynamic_programming/">
|
||||
<img alt="" data-hero-asset="chapter_dynamic_programming" data-source-height="268" data-source-width="267" height="268" src="../assets/home/ad8bb1cc4c28091c/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" style="height: 15.47%; left: 9.406%; top: 57.472%;" width="267"/>
|
||||
<img alt="" data-hero-asset="chapter_dynamic_programming" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" data-source-height="268" data-source-width="267" height="268" style="height: 15.47%; left: 9.406%; top: 57.472%;; aspect-ratio: 267 / 268" width="267"/>
|
||||
<noscript>
|
||||
<img alt="" height="268" src="../assets/home/8e54cf1d70453241/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" style="height: 15.47%; left: 9.406%; top: 57.472%;" width="267"/>
|
||||
</noscript>
|
||||
<span style="left: 8.561%; top: 75.351%;">
|
||||
동적 계획법
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_greedy/">
|
||||
<img alt="" data-hero-asset="chapter_greedy" data-source-height="202" data-source-width="265" height="202" src="../assets/home/ad8bb1cc4c28091c/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" style="height: 14.127%; left: 23.132%; top: 75.803%;" width="265"/>
|
||||
<img alt="" data-hero-asset="chapter_greedy" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" data-source-height="202" data-source-width="265" height="202" style="height: 14.127%; left: 23.132%; top: 75.803%;; aspect-ratio: 265 / 202" width="265"/>
|
||||
<noscript>
|
||||
<img alt="" height="202" src="../assets/home/8e54cf1d70453241/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" style="height: 14.127%; left: 23.132%; top: 75.803%;" width="265"/>
|
||||
</noscript>
|
||||
<span style="left: 21.619%; top: 86.85%;">
|
||||
탐욕
|
||||
</span>
|
||||
@@ -139,9 +178,9 @@
|
||||
<a href="chapter_hello_algo/">
|
||||
<div style="height: 4.34%;">
|
||||
</div>
|
||||
<img alt="" class="device-on-hover" data-home-src="../assets/home/ad8bb1cc4c28091c/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" decoding="async" height="965" style="height: 66.31%;" width="1598"/>
|
||||
<img alt="" class="device-on-hover" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" decoding="async" height="965" style="height: 66.31%;" width="1598"/>
|
||||
<noscript>
|
||||
<img alt="" class="device-on-hover" height="965" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" style="height: 66.31%;" width="1598"/>
|
||||
<img alt="" class="device-on-hover" height="965" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" style="height: 66.31%;" width="1598"/>
|
||||
</noscript>
|
||||
<div style="height: 4.34%;">
|
||||
</div>
|
||||
@@ -158,9 +197,9 @@
|
||||
</div>
|
||||
<div class="media-block">
|
||||
<a href="https://github.com/krahets/hello-algo/releases">
|
||||
<img alt="" class="device-on-hover" data-home-src="../assets/home/ad8bb1cc4c28091c/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" decoding="async" height="960" style="height: 75%;" width="812"/>
|
||||
<img alt="" class="device-on-hover" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" decoding="async" height="960" style="height: 75%;" width="812"/>
|
||||
<noscript>
|
||||
<img alt="" class="device-on-hover" height="960" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" style="height: 75%;" width="812"/>
|
||||
<img alt="" class="device-on-hover" height="960" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" style="height: 75%;" width="812"/>
|
||||
</noscript>
|
||||
<div class="text-button">
|
||||
<span>
|
||||
@@ -228,21 +267,21 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<video aria-label="애니메이션 예제" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/9e5f39bf33afc70f/animation-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/6c70de2b2bf4eef7/animation.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
<video aria-label="애니메이션 예제" class="intro-image" data-home-poster="../assets/home/8e54cf1d70453241/../shared/images/9e5f39bf33afc70f/animation-poster.webp" data-home-video="../assets/home/8e54cf1d70453241/../shared/media/6c70de2b2bf4eef7/animation.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/6c70de2b2bf4eef7/animation.mp4">
|
||||
<img alt="애니메이션 예제" class="intro-image" height="1080" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9e5f39bf33afc70f/animation-poster.webp" width="1600"/>
|
||||
<a href="../assets/home/8e54cf1d70453241/../shared/media/6c70de2b2bf4eef7/animation.mp4">
|
||||
<img alt="애니메이션 예제" class="intro-image" height="1080" src="../assets/home/8e54cf1d70453241/../shared/images/9e5f39bf33afc70f/animation-poster.webp" width="1600"/>
|
||||
애니메이션 그림
|
||||
</a>
|
||||
</noscript>
|
||||
</div>
|
||||
<div class="intro-container">
|
||||
<video aria-label="코드 실행 예제" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/f33a13e8331245ae/running_code-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/bb169a96ca8316da/running_code.mp4" height="1082" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1082" width="1600">
|
||||
<video aria-label="코드 실행 예제" class="intro-image" data-home-poster="../assets/home/8e54cf1d70453241/../shared/images/f33a13e8331245ae/running_code-poster.webp" data-home-video="../assets/home/8e54cf1d70453241/../shared/media/bb169a96ca8316da/running_code.mp4" height="1082" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1082" width="1600">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/bb169a96ca8316da/running_code.mp4">
|
||||
<img alt="코드 실행 예제" class="intro-image" height="1082" src="../assets/home/ad8bb1cc4c28091c/../shared/images/f33a13e8331245ae/running_code-poster.webp" width="1600"/>
|
||||
<a href="../assets/home/8e54cf1d70453241/../shared/media/bb169a96ca8316da/running_code.mp4">
|
||||
<img alt="코드 실행 예제" class="intro-image" height="1082" src="../assets/home/8e54cf1d70453241/../shared/images/f33a13e8331245ae/running_code-poster.webp" width="1600"/>
|
||||
클릭 한 번으로 실행
|
||||
</a>
|
||||
</noscript>
|
||||
@@ -290,11 +329,11 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<video aria-label="댓글 예제" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/f9ac69536a7582f5/comment-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/62aa0b8d351c63a7/comment.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
<video aria-label="댓글 예제" class="intro-image" data-home-poster="../assets/home/8e54cf1d70453241/../shared/images/f9ac69536a7582f5/comment-poster.webp" data-home-video="../assets/home/8e54cf1d70453241/../shared/media/62aa0b8d351c63a7/comment.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/62aa0b8d351c63a7/comment.mp4">
|
||||
<img alt="댓글 예제" class="intro-image" height="1080" src="../assets/home/ad8bb1cc4c28091c/../shared/images/f9ac69536a7582f5/comment-poster.webp" width="1600"/>
|
||||
<a href="../assets/home/8e54cf1d70453241/../shared/media/62aa0b8d351c63a7/comment.mp4">
|
||||
<img alt="댓글 예제" class="intro-image" height="1080" src="../assets/home/8e54cf1d70453241/../shared/images/f9ac69536a7582f5/comment-poster.webp" width="1600"/>
|
||||
함께 배우기
|
||||
</a>
|
||||
</noscript>
|
||||
@@ -310,7 +349,10 @@
|
||||
<div class="profile-div">
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/krahets">
|
||||
<img alt="저자: yudongjin" class="profile-img" height="512" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/02348410d40f7665/avatar_yudongjin.webp" width="512"/>
|
||||
<img alt="저자: yudongjin" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/02348410d40f7665/avatar_yudongjin.webp" decoding="async" height="512" width="512"/>
|
||||
<noscript>
|
||||
<img alt="저자: yudongjin" class="profile-img" height="512" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/02348410d40f7665/avatar_yudongjin.webp" width="512"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
진위둥(@krahets)
|
||||
@@ -329,7 +371,10 @@
|
||||
<div class="profile-div">
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/coderonion">
|
||||
<img alt="검토자: coderonion" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/db606f27971eae34/avatar_coderonion.webp" width="384"/>
|
||||
<img alt="검토자: coderonion" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/db606f27971eae34/avatar_coderonion.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="검토자: coderonion" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/db606f27971eae34/avatar_coderonion.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
coderonion
|
||||
@@ -342,7 +387,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/curtishd">
|
||||
<img alt="검토자: curtishd" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" width="384"/>
|
||||
<img alt="검토자: curtishd" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="검토자: curtishd" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
curtishd
|
||||
@@ -355,7 +403,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/Gonglja">
|
||||
<img alt="검토자: Gonglja" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" width="384"/>
|
||||
<img alt="검토자: Gonglja" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="검토자: Gonglja" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Gonglja
|
||||
@@ -368,7 +419,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/gvenusleo">
|
||||
<img alt="검토자: gvenusleo" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" width="384"/>
|
||||
<img alt="검토자: gvenusleo" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="검토자: gvenusleo" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
gvenusleo
|
||||
@@ -381,7 +435,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/hpstory">
|
||||
<img alt="검토자: hpstory" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" width="384"/>
|
||||
<img alt="검토자: hpstory" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="검토자: hpstory" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
hpstory
|
||||
@@ -394,7 +451,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/justin-tse">
|
||||
<img alt="검토자: justin-tse" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" width="384"/>
|
||||
<img alt="검토자: justin-tse" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="검토자: justin-tse" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
justin-tse
|
||||
@@ -407,7 +467,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/khoaxuantu">
|
||||
<img alt="검토자: khoaxuantu" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" width="384"/>
|
||||
<img alt="검토자: khoaxuantu" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="검토자: khoaxuantu" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
khoaxuantu
|
||||
@@ -420,7 +483,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/krahets">
|
||||
<img alt="검토자: krahets" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" width="384"/>
|
||||
<img alt="검토자: krahets" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="검토자: krahets" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
krahets
|
||||
@@ -433,7 +499,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/night-cruise">
|
||||
<img alt="검토자: night-cruise" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" width="384"/>
|
||||
<img alt="검토자: night-cruise" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="검토자: night-cruise" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
night-cruise
|
||||
@@ -446,7 +515,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/nuomi1">
|
||||
<img alt="검토자: nuomi1" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" width="384"/>
|
||||
<img alt="검토자: nuomi1" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="검토자: nuomi1" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
nuomi1
|
||||
@@ -459,7 +531,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/Reanon">
|
||||
<img alt="검토자: Reanon" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" width="384"/>
|
||||
<img alt="검토자: Reanon" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="검토자: Reanon" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Reanon
|
||||
@@ -472,7 +547,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/rongyi">
|
||||
<img alt="검토자: rongyi" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" width="384"/>
|
||||
<img alt="검토자: rongyi" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="검토자: rongyi" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
rongyi
|
||||
@@ -493,11 +571,22 @@
|
||||
이 책은 오픈 소스 커뮤니티의 200명이 넘는 기여자가 함께 노력한 덕분에 꾸준히 발전하고 있다. 시간과 노력을 들여 준 모든 분께 감사드린다!
|
||||
</p>
|
||||
<a href="https://github.com/krahets/hello-algo/graphs/contributors">
|
||||
<img alt="기여자" loading="lazy" src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" style="width: 100%; max-width: 38.5em;"/>
|
||||
<img alt="기여자" data-home-src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" decoding="async" style="width: 100%; max-width: 38.5em;"/>
|
||||
<noscript>
|
||||
<img alt="기여자" loading="lazy" src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" style="width: 100%; max-width: 38.5em;"/>
|
||||
</noscript>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- This independent fallback also works when the deferred loader cannot be fetched. -->
|
||||
<script defer="" onerror="document.querySelectorAll('[data-home-src], [data-home-poster]').forEach(function(el) { if (el.dataset.homeSrc) el.src = el.dataset.homeSrc; if (el.dataset.homePoster) el.poster = el.dataset.homePoster; });" src="../assets/home/ad8bb1cc4c28091c/javascripts/homepage-media.js">
|
||||
<script defer="" onerror="document.querySelectorAll('[data-home-src], [data-home-poster]').forEach(function(el) { if (el.dataset.homeSrc) el.src = el.dataset.homeSrc; if (el.dataset.homePoster) el.poster = el.dataset.homePoster; });" src="../assets/home/8e54cf1d70453241/javascripts/homepage-media.js">
|
||||
</script>
|
||||
<script>
|
||||
// If the scene entry point itself fails, still provide chapter illustrations.
|
||||
addEventListener('load', function () {
|
||||
if (!window.Starfield) document.querySelectorAll('[data-hero-fallback]').forEach(function (image) {
|
||||
image.src = image.dataset.heroFallback;
|
||||
});
|
||||
}, {once: true});
|
||||
</script>
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
{% import 'icons.html.j2' as icons %}
|
||||
<!-- Generated from the shared homepage template and locale configuration. -->
|
||||
<link rel="stylesheet" href="{{ runtime('hero-motion.css') }}">
|
||||
<noscript><style>[data-home-src], video[data-home-poster] { display: none; }</style></noscript>
|
||||
<noscript><style>[data-home-src], video[data-home-poster], [data-hero-fallback] { display: none; }</style></noscript>
|
||||
<section data-md-color-scheme="slate" data-md-color-primary="grey" class="home-div home-universe-bg">
|
||||
<div class="starfield"><div class="starfield-origin"></div></div>
|
||||
<div class="{{ locale.hero_class }}" data-home-layout="{{ 'list' if locale.list_layout else 'universe' }}">
|
||||
{% for object in objects %}
|
||||
{% if object.href %}<a href="{{ object.href }}">{% endif %}
|
||||
<img {{ hero_image(object.id)|safe }} alt="" style="{{ object.style }}">
|
||||
<img {{ hero_image(object.id)|safe }} alt="" style="{{ object.style }}; aspect-ratio: {{ assets[object.id].width }} / {{ assets[object.id].height }}">
|
||||
{% if object.id.startswith('chapter_') %}<noscript><img {{ image(object.id)|safe }} alt="" style="{{ object.style }}"></noscript>{% endif %}
|
||||
{% if object.href %}<span style="{{ locale.label_styles[object.id] }}">{{ locale.labels[object.id] }}</span></a>{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
@@ -77,15 +78,25 @@
|
||||
{% for person in group.profiles %}
|
||||
<div class="{{ person.class }}">
|
||||
{% if person.href %}<a href="{{ person.href }}">{% endif %}
|
||||
<img class="profile-img" {{ image(person.asset)|safe }} alt="{{ person.alt }}" loading="lazy">
|
||||
<img class="profile-img" {{ image(person.asset, true)|safe }} alt="{{ person.alt }}" decoding="async">
|
||||
<noscript><img class="profile-img" {{ image(person.asset)|safe }} alt="{{ person.alt }}" loading="lazy"></noscript>
|
||||
<br><b>{{ person.name }}</b>{% if person.detail %}<br><sub>{{ person.detail }}</sub>{% endif %}
|
||||
{% if person.href %}</a>{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>{% else %}<a href="{{ group.banner.href }}"><img src="{{ group.banner.url }}" alt="{{ group.banner.alt }}" style="{{ group.banner.style }}" loading="lazy"></a>{% endif %}
|
||||
</div>{% else %}<a href="{{ group.banner.href }}"><img data-home-src="{{ group.banner.url }}" alt="{{ group.banner.alt }}" style="{{ group.banner.style }}" decoding="async"><noscript><img src="{{ group.banner.url }}" alt="{{ group.banner.alt }}" style="{{ group.banner.style }}" loading="lazy"></noscript></a>{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</section>
|
||||
<!-- This independent fallback also works when the deferred loader cannot be fetched. -->
|
||||
<script src="{{ runtime('homepage-media.js') }}" defer onerror="document.querySelectorAll('[data-home-src], [data-home-poster]').forEach(function(el) { if (el.dataset.homeSrc) el.src = el.dataset.homeSrc; if (el.dataset.homePoster) el.poster = el.dataset.homePoster; });"></script>
|
||||
|
||||
<script>
|
||||
// If the scene entry point itself fails, still provide chapter illustrations.
|
||||
addEventListener('load', function () {
|
||||
if (!window.Starfield) document.querySelectorAll('[data-hero-fallback]').forEach(function (image) {
|
||||
image.src = image.dataset.heroFallback;
|
||||
});
|
||||
}, {once: true});
|
||||
</script>
|
||||
|
||||
@@ -2,7 +2,7 @@ import * as THREE from "./vendor/three/three.module.min.js";
|
||||
import { planets, createPlanet, loadPlanetPaint, disposePlanetPaint } from "./hero-surfaces.js";
|
||||
|
||||
// The illustration supplies composition; each globe is independently lit and rotates fully.
|
||||
export function createPlanets(map, items, onRestore) {
|
||||
export function createPlanets(map, items, onRestore, restoreImage = () => {}) {
|
||||
const targets=planets.map(d=>({...d,item:items.find(i=>i.image.dataset.heroAsset === 'chapter_'+d.name)})).filter(d=>d.item);
|
||||
const hero=map.closest('.home-div');
|
||||
const renderer=new THREE.WebGLRenderer({alpha:true,antialias:true,powerPreference:'low-power'});
|
||||
@@ -12,8 +12,9 @@ export function createPlanets(map, items, onRestore) {
|
||||
const scene=new THREE.Scene(),camera=new THREE.OrthographicCamera(-1,1,1,-1,.1,5000);
|
||||
camera.position.z=2000;
|
||||
map.insertBefore(renderer.domElement,map.querySelector(':scope > a'));
|
||||
let width=0,height=0,lost=false,disposed=false,ready=false,lastTime=0;
|
||||
const showOriginal=show=>{
|
||||
let width=0,height=0,lost=false,disposed=false,ready=false,lastTime=0,startTime=null;
|
||||
const showOriginal=(show,load=false)=>{
|
||||
if(load)targets.forEach(({item})=>restoreImage(item.image));
|
||||
renderer.domElement.hidden=show;hero.classList.toggle('hero-three-active',!show);
|
||||
targets.forEach(({item})=>item.image.classList.toggle('hero-replaced',!show));
|
||||
};
|
||||
@@ -27,14 +28,15 @@ export function createPlanets(map, items, onRestore) {
|
||||
}
|
||||
function render(time,enabled,pointer={x:0,y:0}){
|
||||
if(disposed)return;
|
||||
if(!enabled||lost||!ready||!width||!height){showOriginal(true);return;}
|
||||
if(!enabled||lost||!ready||!width||!height){showOriginal(true,!enabled||lost);return;}
|
||||
if(startTime===null)startTime=time;
|
||||
const emphasisBlend=time===lastTime?1:1-Math.exp(-Math.min(.1,Math.abs(time-lastTime))*10);lastTime=time;
|
||||
for(const target of targets){
|
||||
const {item,rect,root,sphere,material}=target,selected=item.anchor.classList.contains('hero-selected');
|
||||
root.scale.setScalar(rect.height/Number(item.image.dataset.sourceHeight || item.image.naturalHeight));
|
||||
root.position.set(rect.x+rect.width/2+item.x-width/2,height/2-rect.y-rect.height/2-item.y,0);
|
||||
root.rotation.set(pointer.y*.035,pointer.x*.045,-item.angle*Math.PI/180);
|
||||
sphere.rotation.y=time*Math.PI*2/target.period;
|
||||
sphere.rotation.y=(time-startTime)*Math.PI*2/target.period;
|
||||
if(target.moon)target.moon.rotation.y=sphere.rotation.y*2;
|
||||
material.uniforms.emphasis.value+=((selected?1:0)-material.uniforms.emphasis.value)*emphasisBlend;
|
||||
}
|
||||
@@ -42,18 +44,18 @@ export function createPlanets(map, items, onRestore) {
|
||||
Object.assign(renderer.domElement.dataset,{drawCalls:String(renderer.info.render.calls),triangles:String(renderer.info.render.triangles),
|
||||
art:'reference-authored-albedo',network:'original-brushwork',rotation:'continuous-360'});
|
||||
}
|
||||
const onLost=event=>{event.preventDefault();lost=true;showOriginal(true);};
|
||||
const onLost=event=>{event.preventDefault();lost=true;showOriginal(true,true);};
|
||||
const onRestored=()=>{lost=false;resize();onRestore();};
|
||||
renderer.domElement.addEventListener('webglcontextlost',onLost);renderer.domElement.addEventListener('webglcontextrestored',onRestored);
|
||||
showOriginal(true);resize();
|
||||
const readyPromise=Promise.allSettled(targets.map(async t=>{await t.item.image.decode();const map=await loadPlanetPaint(t);if(disposed){disposePlanetPaint(map);return;}t.paintMap=map;})).then(results=>{
|
||||
const readyPromise=Promise.allSettled(targets.map(async t=>{const map=await loadPlanetPaint(t);if(disposed){disposePlanetPaint(map);return;}t.paintMap=map;})).then(results=>{
|
||||
const failure=results.find(r=>r.status==='rejected');if(failure)throw failure.reason;
|
||||
if(disposed)return;
|
||||
for(const target of targets){Object.assign(target,createPlanet(target.item.image,target,target.paintMap));scene.add(target.root);}
|
||||
ready=true;resize();onRestore();
|
||||
}).catch(error=>{if(!disposed){targets.forEach(t=>{disposePlanetPaint(t.paintMap);t.paintMap=null;});showOriginal(true);console.warn('Original planets retained: paint unavailable.',error);}});
|
||||
}).catch(error=>{if(!disposed){targets.forEach(t=>{disposePlanetPaint(t.paintMap);t.paintMap=null;});showOriginal(true,true);console.warn('Original planets retained: paint unavailable.',error);}});
|
||||
return {resize,render,ready:readyPromise,dispose(){
|
||||
disposed=true;showOriginal(true);
|
||||
disposed=true;showOriginal(true,true);
|
||||
renderer.domElement.removeEventListener('webglcontextlost',onLost);renderer.domElement.removeEventListener('webglcontextrestored',onRestored);
|
||||
const geometries=new Set(),materials=new Set();scene.traverse(o=>{if(o.geometry)geometries.add(o.geometry);if(o.material)materials.add(o.material);});
|
||||
geometries.forEach(g=>g.dispose());materials.forEach(m=>m.dispose());targets.forEach(t=>disposePlanetPaint(t.paintMap));renderer.dispose();renderer.forceContextLoss();renderer.domElement.remove();
|
||||
|
||||
@@ -1,16 +1,36 @@
|
||||
/* Below-fold demos load near the viewport and never animate in reduced motion. */
|
||||
/* Load the first view first, then prepare below-fold media without requiring scroll. */
|
||||
(() => {
|
||||
const reduced = matchMedia('(prefers-reduced-motion: reduce)');
|
||||
let observer;
|
||||
const videos = [...document.querySelectorAll('[data-home-video]')];
|
||||
const images = [...document.querySelectorAll('[data-home-src]')];
|
||||
const visible = new Set();
|
||||
let observer, preloadTask = null;
|
||||
|
||||
// A broken or stalled resource must not block everything below it.
|
||||
function settled(element, events, start, timeout = 10000) {
|
||||
return new Promise(resolve => {
|
||||
const finish = () => {
|
||||
clearTimeout(timer);
|
||||
events.forEach(event => element.removeEventListener(event, finish));
|
||||
resolve();
|
||||
};
|
||||
const timer = setTimeout(finish, timeout);
|
||||
events.forEach(event => element.addEventListener(event, finish));
|
||||
start();
|
||||
if (element instanceof HTMLImageElement && element.complete) finish();
|
||||
if (element instanceof HTMLVideoElement && element.readyState >= 4) finish();
|
||||
});
|
||||
}
|
||||
function reveal(element) {
|
||||
if (element.dataset.homeSrc && !element.getAttribute('src')) element.src = element.dataset.homeSrc;
|
||||
if (element.dataset.homeSrc && !element.getAttribute('src')) {
|
||||
element.loading = 'eager';
|
||||
element.src = element.dataset.homeSrc;
|
||||
}
|
||||
if (element.dataset.homePoster && !element.getAttribute('poster')) element.poster = element.dataset.homePoster;
|
||||
}
|
||||
function load(video) {
|
||||
if (!video.getAttribute('src')) {
|
||||
video.preload = 'auto';
|
||||
video.src = video.dataset.homeVideo;
|
||||
video.load();
|
||||
}
|
||||
@@ -18,12 +38,52 @@
|
||||
function update() {
|
||||
for (const video of videos) {
|
||||
if (document.hidden || reduced.matches || !visible.has(video)) video.pause();
|
||||
else { load(video); video.play().catch(() => {}); }
|
||||
else { reveal(video); load(video); video.play().catch(() => {}); }
|
||||
}
|
||||
}
|
||||
async function foreground() {
|
||||
if (!document.hidden) return;
|
||||
await new Promise(resolve => {
|
||||
const resume = () => {
|
||||
if (document.hidden) return;
|
||||
document.removeEventListener('visibilitychange', resume);
|
||||
resolve();
|
||||
};
|
||||
document.addEventListener('visibilitychange', resume);
|
||||
});
|
||||
}
|
||||
function preload() {
|
||||
if (!preloadTask) preloadTask = prepare().finally(() => { preloadTask = null; });
|
||||
return preloadTask;
|
||||
}
|
||||
async function prepare() {
|
||||
const heroReady = document.querySelector('.home-universe-bg')?.homeReady;
|
||||
// Covers missing scene scripts or a stalled texture without holding the page forever.
|
||||
await new Promise(resolve => {
|
||||
const timer = setTimeout(resolve, 10000);
|
||||
Promise.resolve(heroReady).then(() => { clearTimeout(timer); resolve(); });
|
||||
});
|
||||
// Still images in document order first, so videos cannot delay portraits and covers.
|
||||
for (const element of document.querySelectorAll('[data-home-src], [data-home-poster]')) {
|
||||
await foreground();
|
||||
if (element.dataset.homePoster) {
|
||||
const poster = new Image();
|
||||
await settled(poster, ['load', 'error'], () => { reveal(element); poster.src = element.dataset.homePoster; });
|
||||
} else {
|
||||
await settled(element, ['load', 'error'], () => reveal(element));
|
||||
}
|
||||
}
|
||||
for (const video of videos) {
|
||||
await foreground();
|
||||
if (reduced.matches) continue;
|
||||
// preload is a browser hint; it may limit buffering on constrained connections.
|
||||
await settled(video, ['canplaythrough', 'error'], () => load(video));
|
||||
}
|
||||
}
|
||||
function start() {
|
||||
observer?.disconnect();
|
||||
if (!('IntersectionObserver' in window)) { [...images, ...videos].forEach(reveal); return; }
|
||||
if (!('IntersectionObserver' in window)) return;
|
||||
// Scrolling ahead bypasses the background queue; playback requires actual visibility.
|
||||
observer = new IntersectionObserver(entries => {
|
||||
for (const entry of entries) {
|
||||
const element = entry.target;
|
||||
@@ -33,12 +93,19 @@
|
||||
} else if (entry.isIntersecting) observer.unobserve(element);
|
||||
}
|
||||
update();
|
||||
}, {rootMargin: '120px 0px'});
|
||||
});
|
||||
[...images, ...videos].forEach(element => observer.observe(element));
|
||||
}
|
||||
document.addEventListener('visibilitychange', update);
|
||||
reduced.addEventListener('change', update);
|
||||
reduced.addEventListener('change', () => {
|
||||
update();
|
||||
if (!reduced.matches) (preloadTask || Promise.resolve()).then(() => {
|
||||
if (!reduced.matches) preload();
|
||||
});
|
||||
});
|
||||
addEventListener('pagehide', () => {observer?.disconnect();visible.clear();update();});
|
||||
addEventListener('pageshow', start);
|
||||
if (document.readyState === 'complete') preload();
|
||||
else addEventListener('load', preload, {once: true});
|
||||
start();
|
||||
})();
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
"use strict";
|
||||
|
||||
let dispose = () => {};
|
||||
const restoreImage = image => {
|
||||
if (image?.dataset.heroFallback && !image.getAttribute('src')) image.src = image.dataset.heroFallback;
|
||||
};
|
||||
const moduleBase = new URL(".", document.currentScript.src);
|
||||
|
||||
function setup(config = {}) {
|
||||
@@ -11,6 +14,9 @@
|
||||
const hero = container?.closest(".home-div");
|
||||
const map = hero?.querySelector(".hero-div");
|
||||
if (!map) return;
|
||||
// Below-fold preloading waits for the enhancement (or its static fallback).
|
||||
let settleReady;
|
||||
hero.homeReady = new Promise(resolve => { settleReady = resolve; });
|
||||
|
||||
const reduced = matchMedia("(prefers-reduced-motion: reduce)");
|
||||
const finePointer = matchMedia("(hover: hover) and (pointer: fine)");
|
||||
@@ -74,11 +80,13 @@
|
||||
|
||||
function renderObjects() {
|
||||
const enabled = !reduced.matches && !listLayout();
|
||||
if (!enabled) items.forEach(item => restoreImage(item.image));
|
||||
if (planets) {
|
||||
try { planets.render(time, enabled, pointer); }
|
||||
catch (error) {
|
||||
planets.dispose();
|
||||
planets = null;
|
||||
items.filter(item => item.image.dataset.heroAsset !== 'chapter_computational_complexity').forEach(item => restoreImage(item.image));
|
||||
console.warn("Planet rendering unavailable; keeping the original illustrations.", error);
|
||||
}
|
||||
}
|
||||
@@ -88,18 +96,25 @@
|
||||
function loadObjects() {
|
||||
if (objectsRequested || destroyed || !visible || reduced.matches || listLayout()) return;
|
||||
objectsRequested = true;
|
||||
import(new URL("hero-planets.js", moduleBase).href).then(module => {
|
||||
const planetReady = import(new URL("hero-planets.js", moduleBase).href).then(module => {
|
||||
if (destroyed) return;
|
||||
planets = module.createPlanets(map, items, updatePlayback);
|
||||
planets = module.createPlanets(map, items, updatePlayback, restoreImage);
|
||||
renderObjects();
|
||||
resize();
|
||||
}).catch(error => console.warn("3D enhancement unavailable; keeping the original planets.", error));
|
||||
import(new URL("hero-hourglass.js", moduleBase).href).then(module => {
|
||||
return planets.ready;
|
||||
}).catch(error => {
|
||||
items.filter(item => item.image.dataset.heroAsset !== 'chapter_computational_complexity').forEach(item => restoreImage(item.image));
|
||||
console.warn("3D enhancement unavailable; loading fallback planets.", error);
|
||||
});
|
||||
const hourglassReady = import(new URL("hero-hourglass.js", moduleBase).href).then(module => {
|
||||
if (destroyed) return;
|
||||
hourglass = module.createHourglass(items);
|
||||
renderObjects();
|
||||
}).catch(error => console.warn("Hourglass enhancement unavailable; keeping the original illustration.", error));
|
||||
|
||||
}).catch(error => {
|
||||
restoreImage(items.find(item => item.image.dataset.heroAsset === 'chapter_computational_complexity')?.image);
|
||||
console.warn("Hourglass enhancement unavailable; loading fallback illustration.", error);
|
||||
});
|
||||
Promise.allSettled([planetReady, hourglassReady]).then(settleReady);
|
||||
}
|
||||
|
||||
function drawStars() {
|
||||
@@ -287,11 +302,13 @@
|
||||
const intersectionObserver = new IntersectionObserver(entries => {
|
||||
visible = entries[0].isIntersecting;
|
||||
updatePlayback();
|
||||
if (!objectsRequested && (!visible || reduced.matches || listLayout())) settleReady();
|
||||
});
|
||||
intersectionObserver.observe(hero);
|
||||
|
||||
dispose = () => {
|
||||
destroyed = true;
|
||||
settleReady();
|
||||
cancelAnimationFrame(raf);
|
||||
resizeObserver.disconnect();
|
||||
intersectionObserver.disconnect();
|
||||
@@ -317,5 +334,12 @@
|
||||
}
|
||||
|
||||
// Retain the build hook's entry point; all motion shares one cancellable loop.
|
||||
root.Starfield = { setup, cleanup: () => dispose() };
|
||||
root.Starfield = { setup: config => {
|
||||
try { setup(config); }
|
||||
catch (error) {
|
||||
dispose();
|
||||
document.querySelectorAll('[data-hero-fallback]').forEach(restoreImage);
|
||||
console.warn('Scene unavailable; loading fallback illustrations.', error);
|
||||
}
|
||||
}, cleanup: () => dispose() };
|
||||
})(window);
|
||||
|
||||
@@ -178,12 +178,17 @@
|
||||
}
|
||||
}
|
||||
|
||||
/* The PNG boxes remain the native link hit targets and responsive layout anchors. */
|
||||
/* Metadata-only boxes reserve layout and native hit targets without downloading fallback art. */
|
||||
.hero-div > a > noscript > img { width: auto; position: absolute; }
|
||||
.hero-div img[data-hero-fallback]:not([src]) { opacity: 0 !important; }
|
||||
|
||||
@keyframes hero-object-reveal { from { opacity: 0; } to { opacity: 1; } }
|
||||
.hero-universe .hero-div > a > img.hero-replaced {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.hero-universe .hero-objects-canvas {
|
||||
animation: hero-object-reveal 400ms ease-out both;
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
width: 100%;
|
||||
@@ -240,6 +245,7 @@
|
||||
.home-div > :is(.hero-div--en, .hero-div--ru, .hero-div--ja) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .35rem .5rem; width: calc(100% - 1.5rem); height: auto; margin: .5rem auto 1rem; }
|
||||
.home-div > :is(.hero-div--en, .hero-div--ru, .hero-div--ja) > img { display: none; }
|
||||
.home-div > :is(.hero-div--en, .hero-div--ru, .hero-div--ja) > a { display: flex; align-items: center; gap: .4rem; min-width: 0; min-height: 48px; padding: .3rem .15rem; text-align: left; }
|
||||
.home-div > :is(.hero-div--en, .hero-div--ru, .hero-div--ja) > a > noscript > img,
|
||||
.home-div > :is(.hero-div--en, .hero-div--ru, .hero-div--ja) > a > img { position: static; flex-shrink: 0; width: 32px !important; height: 32px !important; object-fit: contain; }
|
||||
.home-div > :is(.hero-div--en, .hero-div--ru, .hero-div--ja) > a > span { position: static; min-width: 0; transform: none; white-space: normal; font-size: 13px; line-height: 1.3; }
|
||||
.home-div > :is(.hero-div--en, .hero-div--ru, .hero-div--ja) + .heading-div { position: relative; left: auto; bottom: auto; transform: none; padding: 0 .75rem; }
|
||||
|
||||
+143
-48
@@ -1,8 +1,8 @@
|
||||
<!-- Generated from the shared homepage template and locale configuration. -->
|
||||
<link href="../assets/home/ad8bb1cc4c28091c/hero-motion.css" rel="stylesheet"/>
|
||||
<link href="../assets/home/8e54cf1d70453241/hero-motion.css" rel="stylesheet"/>
|
||||
<noscript>
|
||||
<style>
|
||||
[data-home-src], video[data-home-poster] { display: none; }
|
||||
[data-home-src], video[data-home-poster], [data-hero-fallback] { display: none; }
|
||||
</style>
|
||||
</noscript>
|
||||
<section class="home-div home-universe-bg" data-md-color-primary="grey" data-md-color-scheme="slate">
|
||||
@@ -11,88 +11,127 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="hero-div hero-div--ru" data-home-layout="list">
|
||||
<img alt="" data-hero-asset="ground" data-source-height="380" data-source-width="881" height="380" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/567306c070a6a7e2/ground.webp" style="position: absolute; width: auto; height: 26.445%; left: 28.211%; top: 54.145%;" width="881"/>
|
||||
<img alt="" data-hero-asset="links" data-source-height="1134" data-source-width="1562" height="1134" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/3e50f38a325c1cb5/links.webp" style="position: absolute; width: auto; height: 78.751%; left: 10.545%; top: 7.326%;" width="1562"/>
|
||||
<img alt="" data-hero-asset="ground" data-source-height="380" data-source-width="881" height="380" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/567306c070a6a7e2/ground.webp" style="position: absolute; width: auto; height: 26.445%; left: 28.211%; top: 54.145%;; aspect-ratio: 881 / 380" width="881"/>
|
||||
<img alt="" data-hero-asset="links" data-source-height="1134" data-source-width="1562" height="1134" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/3e50f38a325c1cb5/links.webp" style="position: absolute; width: auto; height: 78.751%; left: 10.545%; top: 7.326%;; aspect-ratio: 1562 / 1134" width="1562"/>
|
||||
<a href="chapter_introduction/">
|
||||
<img alt="" data-hero-asset="astronaut" data-source-height="672" data-source-width="515" height="672" src="../assets/home/ad8bb1cc4c28091c/../shared/images/8e5eb3b3e3ebd9f7/astronaut.webp" style="height: 46.673%; left: 35.413%; top: 24.343%;" width="515"/>
|
||||
<img alt="" data-hero-asset="astronaut" data-source-height="672" data-source-width="515" height="672" src="../assets/home/8e54cf1d70453241/../shared/images/8e5eb3b3e3ebd9f7/astronaut.webp" style="height: 46.673%; left: 35.413%; top: 24.343%;; aspect-ratio: 515 / 672" width="515"/>
|
||||
<span style="left: 49.244%; top: 22.2%;">
|
||||
Первое знакомство с алгоритмами
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_computational_complexity/">
|
||||
<img alt="" data-hero-asset="chapter_computational_complexity" data-source-height="178" data-source-width="113" height="178" src="../assets/home/ad8bb1cc4c28091c/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" style="height: 12.347%; left: 36.267%; top: 37.653%;" width="113"/>
|
||||
<img alt="" data-hero-asset="chapter_computational_complexity" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" data-source-height="178" data-source-width="113" height="178" style="height: 12.347%; left: 36.267%; top: 37.653%;; aspect-ratio: 113 / 178" width="113"/>
|
||||
<noscript>
|
||||
<img alt="" height="178" src="../assets/home/8e54cf1d70453241/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" style="height: 12.347%; left: 36.267%; top: 37.653%;" width="113"/>
|
||||
</noscript>
|
||||
<span style="left: 34.244%; top: 33.919%;">
|
||||
Сложность
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_array_and_linkedlist/">
|
||||
<img alt="" data-hero-asset="chapter_array_and_linkedlist" data-source-height="319" data-source-width="468" height="319" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" style="height: 22.242%; left: 73.242%; top: 52.481%;" width="468"/>
|
||||
<img alt="" data-hero-asset="chapter_array_and_linkedlist" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" data-source-height="319" data-source-width="468" height="319" style="height: 22.242%; left: 73.242%; top: 52.481%;; aspect-ratio: 468 / 319" width="468"/>
|
||||
<noscript>
|
||||
<img alt="" height="319" src="../assets/home/8e54cf1d70453241/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" style="height: 22.242%; left: 73.242%; top: 52.481%;" width="468"/>
|
||||
</noscript>
|
||||
<span style="left: 83.897%; top: 76.259%;">
|
||||
Массивы и списки
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_stack_and_queue/">
|
||||
<img alt="" data-hero-asset="chapter_stack_and_queue" data-source-height="204" data-source-width="204" height="204" src="../assets/home/ad8bb1cc4c28091c/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" style="height: 14.302%; left: 62.646%; top: 77.875%;" width="204"/>
|
||||
<img alt="" data-hero-asset="chapter_stack_and_queue" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" data-source-height="204" data-source-width="204" height="204" style="height: 14.302%; left: 62.646%; top: 77.875%;; aspect-ratio: 204 / 204" width="204"/>
|
||||
<noscript>
|
||||
<img alt="" height="204" src="../assets/home/8e54cf1d70453241/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" style="height: 14.302%; left: 62.646%; top: 77.875%;" width="204"/>
|
||||
</noscript>
|
||||
<span style="left: 77.571%; top: 91.25%;">
|
||||
Стеки и очереди
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_hashing/">
|
||||
<img alt="" data-hero-asset="chapter_hashing" data-source-height="218" data-source-width="218" height="218" src="../assets/home/ad8bb1cc4c28091c/../shared/images/b108d70a537714cb/chapter_hashing.webp" style="height: 15.266%; left: 63.281%; top: 27.933%;" width="218"/>
|
||||
<img alt="" data-hero-asset="chapter_hashing" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/b108d70a537714cb/chapter_hashing.webp" data-source-height="218" data-source-width="218" height="218" style="height: 15.266%; left: 63.281%; top: 27.933%;; aspect-ratio: 218 / 218" width="218"/>
|
||||
<noscript>
|
||||
<img alt="" height="218" src="../assets/home/8e54cf1d70453241/../shared/images/b108d70a537714cb/chapter_hashing.webp" style="height: 15.266%; left: 63.281%; top: 27.933%;" width="218"/>
|
||||
</noscript>
|
||||
<span style="left: 68.862%; top: 46.292%;">
|
||||
Хеш-таблицы
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_tree/">
|
||||
<img alt="" data-hero-asset="chapter_tree" data-source-height="281" data-source-width="280" height="281" src="../assets/home/ad8bb1cc4c28091c/../shared/images/8138bb0acecedec4/chapter_tree.webp" style="height: 19.615%; left: 80.137%; top: 26.678%;" width="280"/>
|
||||
<img alt="" data-hero-asset="chapter_tree" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/8138bb0acecedec4/chapter_tree.webp" data-source-height="281" data-source-width="280" height="281" style="height: 19.615%; left: 80.137%; top: 26.678%;; aspect-ratio: 280 / 281" width="280"/>
|
||||
<noscript>
|
||||
<img alt="" height="281" src="../assets/home/8e54cf1d70453241/../shared/images/8138bb0acecedec4/chapter_tree.webp" style="height: 19.615%; left: 80.137%; top: 26.678%;" width="280"/>
|
||||
</noscript>
|
||||
<span style="left: 96.159%; top: 44.8%;">
|
||||
Деревья
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_heap/">
|
||||
<img alt="" data-hero-asset="chapter_heap" data-source-height="152" data-source-width="151" height="152" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7586281e6691807a/chapter_heap.webp" style="height: 10.566%; left: 77.226%; top: 11.559%;" width="151"/>
|
||||
<img alt="" data-hero-asset="chapter_heap" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/7586281e6691807a/chapter_heap.webp" data-source-height="152" data-source-width="151" height="152" style="height: 10.566%; left: 77.226%; top: 11.559%;; aspect-ratio: 151 / 152" width="151"/>
|
||||
<noscript>
|
||||
<img alt="" height="152" src="../assets/home/8e54cf1d70453241/../shared/images/7586281e6691807a/chapter_heap.webp" style="height: 10.566%; left: 77.226%; top: 11.559%;" width="151"/>
|
||||
</noscript>
|
||||
<span style="left: 88.103%; top: 15.422%;">
|
||||
Кучи
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_graph/">
|
||||
<img alt="" data-hero-asset="chapter_graph" data-source-height="272" data-source-width="542" height="272" src="../assets/home/ad8bb1cc4c28091c/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" style="height: 16.112%; left: 51.854%; top: 5.575%;" width="542"/>
|
||||
<img alt="" data-hero-asset="chapter_graph" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" data-source-height="272" data-source-width="542" height="272" style="height: 16.112%; left: 51.854%; top: 5.575%;; aspect-ratio: 542 / 272" width="542"/>
|
||||
<noscript>
|
||||
<img alt="" height="272" src="../assets/home/8e54cf1d70453241/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" style="height: 16.112%; left: 51.854%; top: 5.575%;" width="542"/>
|
||||
</noscript>
|
||||
<span style="left: 71.195%; top: 6.503%;">
|
||||
Графы
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_searching/">
|
||||
<img alt="" data-hero-asset="chapter_searching" data-source-height="216" data-source-width="216" height="216" src="../assets/home/ad8bb1cc4c28091c/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" style="height: 15.149%; left: 18.185%; top: 16.404%;" width="216"/>
|
||||
<img alt="" data-hero-asset="chapter_searching" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" data-source-height="216" data-source-width="216" height="216" style="height: 15.149%; left: 18.185%; top: 16.404%;; aspect-ratio: 216 / 216" width="216"/>
|
||||
<noscript>
|
||||
<img alt="" height="216" src="../assets/home/8e54cf1d70453241/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" style="height: 15.149%; left: 18.185%; top: 16.404%;" width="216"/>
|
||||
</noscript>
|
||||
<span style="left: 14.556%; top: 20.876%;">
|
||||
Поиск
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_sorting/">
|
||||
<img alt="" data-hero-asset="chapter_sorting" data-source-height="137" data-source-width="138" height="137" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9d4be68b2680967c/chapter_sorting.webp" style="height: 9.574%; left: 25.409%; top: 40.747%;" width="138"/>
|
||||
<img alt="" data-hero-asset="chapter_sorting" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/9d4be68b2680967c/chapter_sorting.webp" data-source-height="137" data-source-width="138" height="137" style="height: 9.574%; left: 25.409%; top: 40.747%;; aspect-ratio: 138 / 137" width="138"/>
|
||||
<noscript>
|
||||
<img alt="" height="137" src="../assets/home/8e54cf1d70453241/../shared/images/9d4be68b2680967c/chapter_sorting.webp" style="height: 9.574%; left: 25.409%; top: 40.747%;" width="138"/>
|
||||
</noscript>
|
||||
<span style="left: 28.805%; top: 53.808%;">
|
||||
Сортировка
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_divide_and_conquer/">
|
||||
<img alt="" data-hero-asset="chapter_divide_and_conquer" data-source-height="269" data-source-width="407" height="269" src="../assets/home/ad8bb1cc4c28091c/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" style="height: 18.681%; left: 32.721%; top: 4.816%;" width="407"/>
|
||||
<img alt="" data-hero-asset="chapter_divide_and_conquer" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" data-source-height="269" data-source-width="407" height="269" style="height: 18.681%; left: 32.721%; top: 4.816%;; aspect-ratio: 407 / 269" width="407"/>
|
||||
<noscript>
|
||||
<img alt="" height="269" src="../assets/home/8e54cf1d70453241/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" style="height: 18.681%; left: 32.721%; top: 4.816%;" width="407"/>
|
||||
</noscript>
|
||||
<span style="left: 28.42%; top: 8.679%;">
|
||||
Разделяй и властвуй
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_backtracking/">
|
||||
<img alt="" data-hero-asset="chapter_backtracking" data-source-height="249" data-source-width="345" height="249" src="../assets/home/ad8bb1cc4c28091c/../shared/images/176675e685febf11/chapter_backtracking.webp" style="height: 17.338%; left: 4.875%; top: 32.925%;" width="345"/>
|
||||
<img alt="" data-hero-asset="chapter_backtracking" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/176675e685febf11/chapter_backtracking.webp" data-source-height="249" data-source-width="345" height="249" style="height: 17.338%; left: 4.875%; top: 32.925%;; aspect-ratio: 345 / 249" width="345"/>
|
||||
<noscript>
|
||||
<img alt="" height="249" src="../assets/home/8e54cf1d70453241/../shared/images/176675e685febf11/chapter_backtracking.webp" style="height: 17.338%; left: 4.875%; top: 32.925%;" width="345"/>
|
||||
</noscript>
|
||||
<span style="left: 4.742%; top: 50.113%;">
|
||||
Поиск с возвратом
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_dynamic_programming/">
|
||||
<img alt="" data-hero-asset="chapter_dynamic_programming" data-source-height="268" data-source-width="267" height="268" src="../assets/home/ad8bb1cc4c28091c/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" style="height: 15.47%; left: 9.406%; top: 57.472%;" width="267"/>
|
||||
<img alt="" data-hero-asset="chapter_dynamic_programming" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" data-source-height="268" data-source-width="267" height="268" style="height: 15.47%; left: 9.406%; top: 57.472%;; aspect-ratio: 267 / 268" width="267"/>
|
||||
<noscript>
|
||||
<img alt="" height="268" src="../assets/home/8e54cf1d70453241/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" style="height: 15.47%; left: 9.406%; top: 57.472%;" width="267"/>
|
||||
</noscript>
|
||||
<span style="left: 6.561%; top: 75.351%;">
|
||||
Динамическое программирование
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_greedy/">
|
||||
<img alt="" data-hero-asset="chapter_greedy" data-source-height="202" data-source-width="265" height="202" src="../assets/home/ad8bb1cc4c28091c/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" style="height: 14.127%; left: 23.132%; top: 75.803%;" width="265"/>
|
||||
<img alt="" data-hero-asset="chapter_greedy" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" data-source-height="202" data-source-width="265" height="202" style="height: 14.127%; left: 23.132%; top: 75.803%;; aspect-ratio: 265 / 202" width="265"/>
|
||||
<noscript>
|
||||
<img alt="" height="202" src="../assets/home/8e54cf1d70453241/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" style="height: 14.127%; left: 23.132%; top: 75.803%;" width="265"/>
|
||||
</noscript>
|
||||
<span style="left: 20.619%; top: 86.85%;">
|
||||
Жадные алгоритмы
|
||||
</span>
|
||||
@@ -139,9 +178,9 @@
|
||||
<a href="chapter_hello_algo/">
|
||||
<div style="height: 4.34%;">
|
||||
</div>
|
||||
<img alt="" class="device-on-hover" data-home-src="../assets/home/ad8bb1cc4c28091c/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" decoding="async" height="965" style="height: 66.31%;" width="1598"/>
|
||||
<img alt="" class="device-on-hover" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" decoding="async" height="965" style="height: 66.31%;" width="1598"/>
|
||||
<noscript>
|
||||
<img alt="" class="device-on-hover" height="965" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" style="height: 66.31%;" width="1598"/>
|
||||
<img alt="" class="device-on-hover" height="965" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" style="height: 66.31%;" width="1598"/>
|
||||
</noscript>
|
||||
<div style="height: 4.34%;">
|
||||
</div>
|
||||
@@ -158,9 +197,9 @@
|
||||
</div>
|
||||
<div class="media-block">
|
||||
<a href="https://github.com/krahets/hello-algo/releases">
|
||||
<img alt="" class="device-on-hover" data-home-src="../assets/home/ad8bb1cc4c28091c/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" decoding="async" height="960" style="height: 75%;" width="812"/>
|
||||
<img alt="" class="device-on-hover" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" decoding="async" height="960" style="height: 75%;" width="812"/>
|
||||
<noscript>
|
||||
<img alt="" class="device-on-hover" height="960" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" style="height: 75%;" width="812"/>
|
||||
<img alt="" class="device-on-hover" height="960" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" style="height: 75%;" width="812"/>
|
||||
</noscript>
|
||||
<div class="text-button">
|
||||
<span>
|
||||
@@ -228,21 +267,21 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<video aria-label="Animation example" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/9e5f39bf33afc70f/animation-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/6c70de2b2bf4eef7/animation.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
<video aria-label="Animation example" class="intro-image" data-home-poster="../assets/home/8e54cf1d70453241/../shared/images/9e5f39bf33afc70f/animation-poster.webp" data-home-video="../assets/home/8e54cf1d70453241/../shared/media/6c70de2b2bf4eef7/animation.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/6c70de2b2bf4eef7/animation.mp4">
|
||||
<img alt="Animation example" class="intro-image" height="1080" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9e5f39bf33afc70f/animation-poster.webp" width="1600"/>
|
||||
<a href="../assets/home/8e54cf1d70453241/../shared/media/6c70de2b2bf4eef7/animation.mp4">
|
||||
<img alt="Animation example" class="intro-image" height="1080" src="../assets/home/8e54cf1d70453241/../shared/images/9e5f39bf33afc70f/animation-poster.webp" width="1600"/>
|
||||
Анимированные схемы
|
||||
</a>
|
||||
</noscript>
|
||||
</div>
|
||||
<div class="intro-container">
|
||||
<video aria-label="Running code example" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/f33a13e8331245ae/running_code-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/bb169a96ca8316da/running_code.mp4" height="1082" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1082" width="1600">
|
||||
<video aria-label="Running code example" class="intro-image" data-home-poster="../assets/home/8e54cf1d70453241/../shared/images/f33a13e8331245ae/running_code-poster.webp" data-home-video="../assets/home/8e54cf1d70453241/../shared/media/bb169a96ca8316da/running_code.mp4" height="1082" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1082" width="1600">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/bb169a96ca8316da/running_code.mp4">
|
||||
<img alt="Running code example" class="intro-image" height="1082" src="../assets/home/ad8bb1cc4c28091c/../shared/images/f33a13e8331245ae/running_code-poster.webp" width="1600"/>
|
||||
<a href="../assets/home/8e54cf1d70453241/../shared/media/bb169a96ca8316da/running_code.mp4">
|
||||
<img alt="Running code example" class="intro-image" height="1082" src="../assets/home/8e54cf1d70453241/../shared/images/f33a13e8331245ae/running_code-poster.webp" width="1600"/>
|
||||
Запуск в один клик
|
||||
</a>
|
||||
</noscript>
|
||||
@@ -290,11 +329,11 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<video aria-label="Comments example" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/f9ac69536a7582f5/comment-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/62aa0b8d351c63a7/comment.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
<video aria-label="Comments example" class="intro-image" data-home-poster="../assets/home/8e54cf1d70453241/../shared/images/f9ac69536a7582f5/comment-poster.webp" data-home-video="../assets/home/8e54cf1d70453241/../shared/media/62aa0b8d351c63a7/comment.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/62aa0b8d351c63a7/comment.mp4">
|
||||
<img alt="Comments example" class="intro-image" height="1080" src="../assets/home/ad8bb1cc4c28091c/../shared/images/f9ac69536a7582f5/comment-poster.webp" width="1600"/>
|
||||
<a href="../assets/home/8e54cf1d70453241/../shared/media/62aa0b8d351c63a7/comment.mp4">
|
||||
<img alt="Comments example" class="intro-image" height="1080" src="../assets/home/8e54cf1d70453241/../shared/images/f9ac69536a7582f5/comment-poster.webp" width="1600"/>
|
||||
Учимся вместе
|
||||
</a>
|
||||
</noscript>
|
||||
@@ -310,7 +349,10 @@
|
||||
<div class="profile-div">
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/krahets">
|
||||
<img alt="Author: yudongjin" class="profile-img" height="512" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/02348410d40f7665/avatar_yudongjin.webp" width="512"/>
|
||||
<img alt="Author: yudongjin" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/02348410d40f7665/avatar_yudongjin.webp" decoding="async" height="512" width="512"/>
|
||||
<noscript>
|
||||
<img alt="Author: yudongjin" class="profile-img" height="512" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/02348410d40f7665/avatar_yudongjin.webp" width="512"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Yudong Jin (@krahets)
|
||||
@@ -328,7 +370,10 @@
|
||||
</p>
|
||||
<div class="profile-div">
|
||||
<div class="profile-cell translator-profile-cell">
|
||||
<img alt="Translator: shevkun" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/91019a79d7ac4441/avatar_shevkun.webp" width="384"/>
|
||||
<img alt="Translator: shevkun" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/91019a79d7ac4441/avatar_shevkun.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Translator: shevkun" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/91019a79d7ac4441/avatar_shevkun.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
И. А. Шевкун
|
||||
@@ -336,7 +381,10 @@
|
||||
</div>
|
||||
<div class="profile-cell translator-profile-cell">
|
||||
<a href="https://github.com/veronicahuang2977">
|
||||
<img alt="Translator: yuyanhuang" class="profile-img" height="512" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/f2c06730dacd8659/avatar_yuyanhuang.webp" width="512"/>
|
||||
<img alt="Translator: yuyanhuang" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/f2c06730dacd8659/avatar_yuyanhuang.webp" decoding="async" height="512" width="512"/>
|
||||
<noscript>
|
||||
<img alt="Translator: yuyanhuang" class="profile-img" height="512" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/f2c06730dacd8659/avatar_yuyanhuang.webp" width="512"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Yuyan Huang
|
||||
@@ -355,7 +403,10 @@
|
||||
<div class="profile-div">
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/coderonion">
|
||||
<img alt="Reviewer: coderonion" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/db606f27971eae34/avatar_coderonion.webp" width="384"/>
|
||||
<img alt="Reviewer: coderonion" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/db606f27971eae34/avatar_coderonion.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: coderonion" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/db606f27971eae34/avatar_coderonion.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
coderonion
|
||||
@@ -368,7 +419,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/curtishd">
|
||||
<img alt="Reviewer: curtishd" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" width="384"/>
|
||||
<img alt="Reviewer: curtishd" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: curtishd" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
curtishd
|
||||
@@ -381,7 +435,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/Gonglja">
|
||||
<img alt="Reviewer: Gonglja" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" width="384"/>
|
||||
<img alt="Reviewer: Gonglja" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: Gonglja" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Gonglja
|
||||
@@ -394,7 +451,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/gvenusleo">
|
||||
<img alt="Reviewer: gvenusleo" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" width="384"/>
|
||||
<img alt="Reviewer: gvenusleo" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: gvenusleo" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
gvenusleo
|
||||
@@ -407,7 +467,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/hpstory">
|
||||
<img alt="Reviewer: hpstory" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" width="384"/>
|
||||
<img alt="Reviewer: hpstory" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: hpstory" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
hpstory
|
||||
@@ -420,7 +483,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/justin-tse">
|
||||
<img alt="Reviewer: justin-tse" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" width="384"/>
|
||||
<img alt="Reviewer: justin-tse" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: justin-tse" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
justin-tse
|
||||
@@ -433,7 +499,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/khoaxuantu">
|
||||
<img alt="Reviewer: khoaxuantu" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" width="384"/>
|
||||
<img alt="Reviewer: khoaxuantu" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: khoaxuantu" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
khoaxuantu
|
||||
@@ -446,7 +515,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/krahets">
|
||||
<img alt="Reviewer: krahets" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" width="384"/>
|
||||
<img alt="Reviewer: krahets" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: krahets" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
krahets
|
||||
@@ -459,7 +531,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/night-cruise">
|
||||
<img alt="Reviewer: night-cruise" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" width="384"/>
|
||||
<img alt="Reviewer: night-cruise" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: night-cruise" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
night-cruise
|
||||
@@ -472,7 +547,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/nuomi1">
|
||||
<img alt="Reviewer: nuomi1" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" width="384"/>
|
||||
<img alt="Reviewer: nuomi1" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: nuomi1" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
nuomi1
|
||||
@@ -485,7 +563,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/Reanon">
|
||||
<img alt="Reviewer: Reanon" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" width="384"/>
|
||||
<img alt="Reviewer: Reanon" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: Reanon" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Reanon
|
||||
@@ -498,7 +579,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/rongyi">
|
||||
<img alt="Reviewer: rongyi" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" width="384"/>
|
||||
<img alt="Reviewer: rongyi" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: rongyi" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
rongyi
|
||||
@@ -519,11 +603,22 @@
|
||||
Книга постоянно совершенствуется благодаря совместным усилиям более чем 200 участников сообщества. Спасибо им за время и вклад!
|
||||
</p>
|
||||
<a href="https://github.com/krahets/hello-algo/graphs/contributors">
|
||||
<img alt="Contributors" loading="lazy" src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" style="width: 100%; max-width: 38.5em;"/>
|
||||
<img alt="Contributors" data-home-src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" decoding="async" style="width: 100%; max-width: 38.5em;"/>
|
||||
<noscript>
|
||||
<img alt="Contributors" loading="lazy" src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" style="width: 100%; max-width: 38.5em;"/>
|
||||
</noscript>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- This independent fallback also works when the deferred loader cannot be fetched. -->
|
||||
<script defer="" onerror="document.querySelectorAll('[data-home-src], [data-home-poster]').forEach(function(el) { if (el.dataset.homeSrc) el.src = el.dataset.homeSrc; if (el.dataset.homePoster) el.poster = el.dataset.homePoster; });" src="../assets/home/ad8bb1cc4c28091c/javascripts/homepage-media.js">
|
||||
<script defer="" onerror="document.querySelectorAll('[data-home-src], [data-home-poster]').forEach(function(el) { if (el.dataset.homeSrc) el.src = el.dataset.homeSrc; if (el.dataset.homePoster) el.poster = el.dataset.homePoster; });" src="../assets/home/8e54cf1d70453241/javascripts/homepage-media.js">
|
||||
</script>
|
||||
<script>
|
||||
// If the scene entry point itself fails, still provide chapter illustrations.
|
||||
addEventListener('load', function () {
|
||||
if (!window.Starfield) document.querySelectorAll('[data-hero-fallback]').forEach(function (image) {
|
||||
image.src = image.dataset.heroFallback;
|
||||
});
|
||||
}, {once: true});
|
||||
</script>
|
||||
|
||||
+145
-50
@@ -1,8 +1,8 @@
|
||||
<!-- Generated from the shared homepage template and locale configuration. -->
|
||||
<link href="../assets/home/ad8bb1cc4c28091c/hero-motion.css" rel="stylesheet"/>
|
||||
<link href="../assets/home/8e54cf1d70453241/hero-motion.css" rel="stylesheet"/>
|
||||
<noscript>
|
||||
<style>
|
||||
[data-home-src], video[data-home-poster] { display: none; }
|
||||
[data-home-src], video[data-home-poster], [data-hero-fallback] { display: none; }
|
||||
</style>
|
||||
</noscript>
|
||||
<section class="home-div home-universe-bg" data-md-color-primary="grey" data-md-color-scheme="slate">
|
||||
@@ -11,88 +11,127 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="hero-div" data-home-layout="universe">
|
||||
<img alt="" data-hero-asset="ground" data-source-height="380" data-source-width="881" height="380" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/567306c070a6a7e2/ground.webp" style="position: absolute; width: auto; height: 26.445%; left: 28.211%; top: 54.145%;" width="881"/>
|
||||
<img alt="" data-hero-asset="links" data-source-height="1134" data-source-width="1562" height="1134" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/3e50f38a325c1cb5/links.webp" style="position: absolute; width: auto; height: 78.751%; left: 10.545%; top: 7.326%;" width="1562"/>
|
||||
<img alt="" data-hero-asset="ground" data-source-height="380" data-source-width="881" height="380" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/567306c070a6a7e2/ground.webp" style="position: absolute; width: auto; height: 26.445%; left: 28.211%; top: 54.145%;; aspect-ratio: 881 / 380" width="881"/>
|
||||
<img alt="" data-hero-asset="links" data-source-height="1134" data-source-width="1562" height="1134" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/3e50f38a325c1cb5/links.webp" style="position: absolute; width: auto; height: 78.751%; left: 10.545%; top: 7.326%;; aspect-ratio: 1562 / 1134" width="1562"/>
|
||||
<a href="chapter_introduction/">
|
||||
<img alt="" data-hero-asset="astronaut" data-source-height="672" data-source-width="515" height="672" src="../assets/home/ad8bb1cc4c28091c/../shared/images/8e5eb3b3e3ebd9f7/astronaut.webp" style="height: 46.673%; left: 35.413%; top: 24.343%;" width="515"/>
|
||||
<img alt="" data-hero-asset="astronaut" data-source-height="672" data-source-width="515" height="672" src="../assets/home/8e54cf1d70453241/../shared/images/8e5eb3b3e3ebd9f7/astronaut.webp" style="height: 46.673%; left: 35.413%; top: 24.343%;; aspect-ratio: 515 / 672" width="515"/>
|
||||
<span style="left: 52.244%; top: 20.919%;">
|
||||
初識演算法
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_computational_complexity/">
|
||||
<img alt="" data-hero-asset="chapter_computational_complexity" data-source-height="178" data-source-width="113" height="178" src="../assets/home/ad8bb1cc4c28091c/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" style="height: 12.347%; left: 36.267%; top: 37.653%;" width="113"/>
|
||||
<img alt="" data-hero-asset="chapter_computational_complexity" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" data-source-height="178" data-source-width="113" height="178" style="height: 12.347%; left: 36.267%; top: 37.653%;; aspect-ratio: 113 / 178" width="113"/>
|
||||
<noscript>
|
||||
<img alt="" height="178" src="../assets/home/8e54cf1d70453241/../shared/images/2fb425426d1f8d86/chapter_computational_complexity.webp" style="height: 12.347%; left: 36.267%; top: 37.653%;" width="113"/>
|
||||
</noscript>
|
||||
<span style="left: 39.244%; top: 33.919%;">
|
||||
複雜度
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_array_and_linkedlist/">
|
||||
<img alt="" data-hero-asset="chapter_array_and_linkedlist" data-source-height="319" data-source-width="468" height="319" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" style="height: 22.242%; left: 73.242%; top: 52.481%;" width="468"/>
|
||||
<img alt="" data-hero-asset="chapter_array_and_linkedlist" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" data-source-height="319" data-source-width="468" height="319" style="height: 22.242%; left: 73.242%; top: 52.481%;; aspect-ratio: 468 / 319" width="468"/>
|
||||
<noscript>
|
||||
<img alt="" height="319" src="../assets/home/8e54cf1d70453241/../shared/images/5cbbdf7be555d3ef/chapter_array_and_linkedlist.webp" style="height: 22.242%; left: 73.242%; top: 52.481%;" width="468"/>
|
||||
</noscript>
|
||||
<span style="left: 90.897%; top: 76.259%;">
|
||||
陣列與鏈結串列
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_stack_and_queue/">
|
||||
<img alt="" data-hero-asset="chapter_stack_and_queue" data-source-height="204" data-source-width="204" height="204" src="../assets/home/ad8bb1cc4c28091c/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" style="height: 14.302%; left: 62.646%; top: 77.875%;" width="204"/>
|
||||
<img alt="" data-hero-asset="chapter_stack_and_queue" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" data-source-height="204" data-source-width="204" height="204" style="height: 14.302%; left: 62.646%; top: 77.875%;; aspect-ratio: 204 / 204" width="204"/>
|
||||
<noscript>
|
||||
<img alt="" height="204" src="../assets/home/8e54cf1d70453241/../shared/images/e2667767cf7481bd/chapter_stack_and_queue.webp" style="height: 14.302%; left: 62.646%; top: 77.875%;" width="204"/>
|
||||
</noscript>
|
||||
<span style="left: 77.571%; top: 91.25%;">
|
||||
堆疊與佇列
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_hashing/">
|
||||
<img alt="" data-hero-asset="chapter_hashing" data-source-height="218" data-source-width="218" height="218" src="../assets/home/ad8bb1cc4c28091c/../shared/images/b108d70a537714cb/chapter_hashing.webp" style="height: 15.266%; left: 63.281%; top: 27.933%;" width="218"/>
|
||||
<img alt="" data-hero-asset="chapter_hashing" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/b108d70a537714cb/chapter_hashing.webp" data-source-height="218" data-source-width="218" height="218" style="height: 15.266%; left: 63.281%; top: 27.933%;; aspect-ratio: 218 / 218" width="218"/>
|
||||
<noscript>
|
||||
<img alt="" height="218" src="../assets/home/8e54cf1d70453241/../shared/images/b108d70a537714cb/chapter_hashing.webp" style="height: 15.266%; left: 63.281%; top: 27.933%;" width="218"/>
|
||||
</noscript>
|
||||
<span style="left: 68.862%; top: 46.292%;">
|
||||
雜湊表
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_tree/">
|
||||
<img alt="" data-hero-asset="chapter_tree" data-source-height="281" data-source-width="280" height="281" src="../assets/home/ad8bb1cc4c28091c/../shared/images/8138bb0acecedec4/chapter_tree.webp" style="height: 19.615%; left: 80.137%; top: 26.678%;" width="280"/>
|
||||
<img alt="" data-hero-asset="chapter_tree" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/8138bb0acecedec4/chapter_tree.webp" data-source-height="281" data-source-width="280" height="281" style="height: 19.615%; left: 80.137%; top: 26.678%;; aspect-ratio: 280 / 281" width="280"/>
|
||||
<noscript>
|
||||
<img alt="" height="281" src="../assets/home/8e54cf1d70453241/../shared/images/8138bb0acecedec4/chapter_tree.webp" style="height: 19.615%; left: 80.137%; top: 26.678%;" width="280"/>
|
||||
</noscript>
|
||||
<span style="left: 96.159%; top: 44.8%;">
|
||||
樹
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_heap/">
|
||||
<img alt="" data-hero-asset="chapter_heap" data-source-height="152" data-source-width="151" height="152" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7586281e6691807a/chapter_heap.webp" style="height: 10.566%; left: 77.226%; top: 11.559%;" width="151"/>
|
||||
<img alt="" data-hero-asset="chapter_heap" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/7586281e6691807a/chapter_heap.webp" data-source-height="152" data-source-width="151" height="152" style="height: 10.566%; left: 77.226%; top: 11.559%;; aspect-ratio: 151 / 152" width="151"/>
|
||||
<noscript>
|
||||
<img alt="" height="152" src="../assets/home/8e54cf1d70453241/../shared/images/7586281e6691807a/chapter_heap.webp" style="height: 10.566%; left: 77.226%; top: 11.559%;" width="151"/>
|
||||
</noscript>
|
||||
<span style="left: 88.103%; top: 15.422%;">
|
||||
堆積
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_graph/">
|
||||
<img alt="" data-hero-asset="chapter_graph" data-source-height="272" data-source-width="542" height="272" src="../assets/home/ad8bb1cc4c28091c/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" style="height: 16.112%; left: 51.854%; top: 5.575%;" width="542"/>
|
||||
<img alt="" data-hero-asset="chapter_graph" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" data-source-height="272" data-source-width="542" height="272" style="height: 16.112%; left: 51.854%; top: 5.575%;; aspect-ratio: 542 / 272" width="542"/>
|
||||
<noscript>
|
||||
<img alt="" height="272" src="../assets/home/8e54cf1d70453241/../shared/images/175a7f2e7c3cf5f0/chapter_graph.webp" style="height: 16.112%; left: 51.854%; top: 5.575%;" width="542"/>
|
||||
</noscript>
|
||||
<span style="left: 71.195%; top: 6.503%;">
|
||||
圖
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_searching/">
|
||||
<img alt="" data-hero-asset="chapter_searching" data-source-height="216" data-source-width="216" height="216" src="../assets/home/ad8bb1cc4c28091c/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" style="height: 15.149%; left: 18.185%; top: 16.404%;" width="216"/>
|
||||
<img alt="" data-hero-asset="chapter_searching" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" data-source-height="216" data-source-width="216" height="216" style="height: 15.149%; left: 18.185%; top: 16.404%;; aspect-ratio: 216 / 216" width="216"/>
|
||||
<noscript>
|
||||
<img alt="" height="216" src="../assets/home/8e54cf1d70453241/../shared/images/ebfe2b953dbb9d90/chapter_searching.webp" style="height: 15.149%; left: 18.185%; top: 16.404%;" width="216"/>
|
||||
</noscript>
|
||||
<span style="left: 14.556%; top: 20.876%;">
|
||||
搜尋
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_sorting/">
|
||||
<img alt="" data-hero-asset="chapter_sorting" data-source-height="137" data-source-width="138" height="137" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9d4be68b2680967c/chapter_sorting.webp" style="height: 9.574%; left: 25.409%; top: 40.747%;" width="138"/>
|
||||
<img alt="" data-hero-asset="chapter_sorting" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/9d4be68b2680967c/chapter_sorting.webp" data-source-height="137" data-source-width="138" height="137" style="height: 9.574%; left: 25.409%; top: 40.747%;; aspect-ratio: 138 / 137" width="138"/>
|
||||
<noscript>
|
||||
<img alt="" height="137" src="../assets/home/8e54cf1d70453241/../shared/images/9d4be68b2680967c/chapter_sorting.webp" style="height: 9.574%; left: 25.409%; top: 40.747%;" width="138"/>
|
||||
</noscript>
|
||||
<span style="left: 28.805%; top: 53.808%;">
|
||||
排序
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_divide_and_conquer/">
|
||||
<img alt="" data-hero-asset="chapter_divide_and_conquer" data-source-height="269" data-source-width="407" height="269" src="../assets/home/ad8bb1cc4c28091c/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" style="height: 18.681%; left: 32.721%; top: 4.816%;" width="407"/>
|
||||
<img alt="" data-hero-asset="chapter_divide_and_conquer" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" data-source-height="269" data-source-width="407" height="269" style="height: 18.681%; left: 32.721%; top: 4.816%;; aspect-ratio: 407 / 269" width="407"/>
|
||||
<noscript>
|
||||
<img alt="" height="269" src="../assets/home/8e54cf1d70453241/../shared/images/6f5766ca9385cd2e/chapter_divide_and_conquer.webp" style="height: 18.681%; left: 32.721%; top: 4.816%;" width="407"/>
|
||||
</noscript>
|
||||
<span style="left: 31.42%; top: 8.679%;">
|
||||
分治
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_backtracking/">
|
||||
<img alt="" data-hero-asset="chapter_backtracking" data-source-height="249" data-source-width="345" height="249" src="../assets/home/ad8bb1cc4c28091c/../shared/images/176675e685febf11/chapter_backtracking.webp" style="height: 17.338%; left: 4.875%; top: 32.925%;" width="345"/>
|
||||
<img alt="" data-hero-asset="chapter_backtracking" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/176675e685febf11/chapter_backtracking.webp" data-source-height="249" data-source-width="345" height="249" style="height: 17.338%; left: 4.875%; top: 32.925%;; aspect-ratio: 345 / 249" width="345"/>
|
||||
<noscript>
|
||||
<img alt="" height="249" src="../assets/home/8e54cf1d70453241/../shared/images/176675e685febf11/chapter_backtracking.webp" style="height: 17.338%; left: 4.875%; top: 32.925%;" width="345"/>
|
||||
</noscript>
|
||||
<span style="left: 4.742%; top: 50.113%;">
|
||||
回溯
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_dynamic_programming/">
|
||||
<img alt="" data-hero-asset="chapter_dynamic_programming" data-source-height="268" data-source-width="267" height="268" src="../assets/home/ad8bb1cc4c28091c/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" style="height: 15.47%; left: 9.406%; top: 57.472%;" width="267"/>
|
||||
<img alt="" data-hero-asset="chapter_dynamic_programming" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" data-source-height="268" data-source-width="267" height="268" style="height: 15.47%; left: 9.406%; top: 57.472%;; aspect-ratio: 267 / 268" width="267"/>
|
||||
<noscript>
|
||||
<img alt="" height="268" src="../assets/home/8e54cf1d70453241/../shared/images/06264b1ffd05b08e/chapter_dynamic_programming.webp" style="height: 15.47%; left: 9.406%; top: 57.472%;" width="267"/>
|
||||
</noscript>
|
||||
<span style="left: 8.561%; top: 75.351%;">
|
||||
動態規劃
|
||||
</span>
|
||||
</a>
|
||||
<a href="chapter_greedy/">
|
||||
<img alt="" data-hero-asset="chapter_greedy" data-source-height="202" data-source-width="265" height="202" src="../assets/home/ad8bb1cc4c28091c/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" style="height: 14.127%; left: 23.132%; top: 75.803%;" width="265"/>
|
||||
<img alt="" data-hero-asset="chapter_greedy" data-hero-fallback="../assets/home/8e54cf1d70453241/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" data-source-height="202" data-source-width="265" height="202" style="height: 14.127%; left: 23.132%; top: 75.803%;; aspect-ratio: 265 / 202" width="265"/>
|
||||
<noscript>
|
||||
<img alt="" height="202" src="../assets/home/8e54cf1d70453241/../shared/images/2ce6caaac951c40b/chapter_greedy.webp" style="height: 14.127%; left: 23.132%; top: 75.803%;" width="265"/>
|
||||
</noscript>
|
||||
<span style="left: 21.619%; top: 86.85%;">
|
||||
貪婪
|
||||
</span>
|
||||
@@ -139,9 +178,9 @@
|
||||
<a href="/chapter_paperbook/">
|
||||
<div style="height: 8.17%;">
|
||||
</div>
|
||||
<img alt="Cover" class="device-on-hover" data-home-src="../assets/home/ad8bb1cc4c28091c/../shared/images/dc5be783cea3a262/cover_render.webp" decoding="async" height="720" style="height: 66.83%;" width="535"/>
|
||||
<img alt="Cover" class="device-on-hover" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/dc5be783cea3a262/cover_render.webp" decoding="async" height="720" style="height: 66.83%;" width="535"/>
|
||||
<noscript>
|
||||
<img alt="Cover" class="device-on-hover" height="720" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/dc5be783cea3a262/cover_render.webp" style="height: 66.83%;" width="535"/>
|
||||
<img alt="Cover" class="device-on-hover" height="720" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/dc5be783cea3a262/cover_render.webp" style="height: 66.83%;" width="535"/>
|
||||
</noscript>
|
||||
<div class="text-button">
|
||||
<span>
|
||||
@@ -158,9 +197,9 @@
|
||||
<a href="chapter_hello_algo/">
|
||||
<div style="height: 4.34%;">
|
||||
</div>
|
||||
<img alt="" class="device-on-hover" data-home-src="../assets/home/ad8bb1cc4c28091c/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" decoding="async" height="965" style="height: 66.31%;" width="1598"/>
|
||||
<img alt="" class="device-on-hover" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" decoding="async" height="965" style="height: 66.31%;" width="1598"/>
|
||||
<noscript>
|
||||
<img alt="" class="device-on-hover" height="965" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" style="height: 66.31%;" width="1598"/>
|
||||
<img alt="" class="device-on-hover" height="965" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/5b64cf7672ec5ec6/web_mac_iphone.webp" style="height: 66.31%;" width="1598"/>
|
||||
</noscript>
|
||||
<div style="height: 4.34%;">
|
||||
</div>
|
||||
@@ -177,9 +216,9 @@
|
||||
</div>
|
||||
<div class="media-block">
|
||||
<a href="https://github.com/krahets/hello-algo/releases">
|
||||
<img alt="" class="device-on-hover" data-home-src="../assets/home/ad8bb1cc4c28091c/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" decoding="async" height="960" style="height: 75%;" width="812"/>
|
||||
<img alt="" class="device-on-hover" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" decoding="async" height="960" style="height: 75%;" width="812"/>
|
||||
<noscript>
|
||||
<img alt="" class="device-on-hover" height="960" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" style="height: 75%;" width="812"/>
|
||||
<img alt="" class="device-on-hover" height="960" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/66baa2f9bf3abec7/pdf_ipad.webp" style="height: 75%;" width="812"/>
|
||||
</noscript>
|
||||
<div class="text-button">
|
||||
<span>
|
||||
@@ -247,21 +286,21 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<video aria-label="Animation example" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/9e5f39bf33afc70f/animation-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/6c70de2b2bf4eef7/animation.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
<video aria-label="Animation example" class="intro-image" data-home-poster="../assets/home/8e54cf1d70453241/../shared/images/9e5f39bf33afc70f/animation-poster.webp" data-home-video="../assets/home/8e54cf1d70453241/../shared/media/6c70de2b2bf4eef7/animation.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/6c70de2b2bf4eef7/animation.mp4">
|
||||
<img alt="Animation example" class="intro-image" height="1080" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9e5f39bf33afc70f/animation-poster.webp" width="1600"/>
|
||||
<a href="../assets/home/8e54cf1d70453241/../shared/media/6c70de2b2bf4eef7/animation.mp4">
|
||||
<img alt="Animation example" class="intro-image" height="1080" src="../assets/home/8e54cf1d70453241/../shared/images/9e5f39bf33afc70f/animation-poster.webp" width="1600"/>
|
||||
動畫圖解
|
||||
</a>
|
||||
</noscript>
|
||||
</div>
|
||||
<div class="intro-container">
|
||||
<video aria-label="Running code example" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/f33a13e8331245ae/running_code-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/bb169a96ca8316da/running_code.mp4" height="1082" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1082" width="1600">
|
||||
<video aria-label="Running code example" class="intro-image" data-home-poster="../assets/home/8e54cf1d70453241/../shared/images/f33a13e8331245ae/running_code-poster.webp" data-home-video="../assets/home/8e54cf1d70453241/../shared/media/bb169a96ca8316da/running_code.mp4" height="1082" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1082" width="1600">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/bb169a96ca8316da/running_code.mp4">
|
||||
<img alt="Running code example" class="intro-image" height="1082" src="../assets/home/ad8bb1cc4c28091c/../shared/images/f33a13e8331245ae/running_code-poster.webp" width="1600"/>
|
||||
<a href="../assets/home/8e54cf1d70453241/../shared/media/bb169a96ca8316da/running_code.mp4">
|
||||
<img alt="Running code example" class="intro-image" height="1082" src="../assets/home/8e54cf1d70453241/../shared/images/f33a13e8331245ae/running_code-poster.webp" width="1600"/>
|
||||
一鍵執行
|
||||
</a>
|
||||
</noscript>
|
||||
@@ -309,11 +348,11 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<video aria-label="Comments example" class="intro-image" data-home-poster="../assets/home/ad8bb1cc4c28091c/../shared/images/f9ac69536a7582f5/comment-poster.webp" data-home-video="../assets/home/ad8bb1cc4c28091c/../shared/media/62aa0b8d351c63a7/comment.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
<video aria-label="Comments example" class="intro-image" data-home-poster="../assets/home/8e54cf1d70453241/../shared/images/f9ac69536a7582f5/comment-poster.webp" data-home-video="../assets/home/8e54cf1d70453241/../shared/media/62aa0b8d351c63a7/comment.mp4" height="1080" loop="" muted="" playsinline="" preload="none" style="aspect-ratio: 1600 / 1080" width="1600">
|
||||
</video>
|
||||
<noscript>
|
||||
<a href="../assets/home/ad8bb1cc4c28091c/../shared/media/62aa0b8d351c63a7/comment.mp4">
|
||||
<img alt="Comments example" class="intro-image" height="1080" src="../assets/home/ad8bb1cc4c28091c/../shared/images/f9ac69536a7582f5/comment-poster.webp" width="1600"/>
|
||||
<a href="../assets/home/8e54cf1d70453241/../shared/media/62aa0b8d351c63a7/comment.mp4">
|
||||
<img alt="Comments example" class="intro-image" height="1080" src="../assets/home/8e54cf1d70453241/../shared/images/f9ac69536a7582f5/comment-poster.webp" width="1600"/>
|
||||
互助學習
|
||||
</a>
|
||||
</noscript>
|
||||
@@ -329,7 +368,10 @@
|
||||
<div class="profile-div">
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/krahets">
|
||||
<img alt="Author: yudongjin" class="profile-img" height="512" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/02348410d40f7665/avatar_yudongjin.webp" width="512"/>
|
||||
<img alt="Author: yudongjin" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/02348410d40f7665/avatar_yudongjin.webp" decoding="async" height="512" width="512"/>
|
||||
<noscript>
|
||||
<img alt="Author: yudongjin" class="profile-img" height="512" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/02348410d40f7665/avatar_yudongjin.webp" width="512"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
靳宇棟(@krahets)
|
||||
@@ -348,7 +390,10 @@
|
||||
<div class="profile-div">
|
||||
<div class="profile-cell translator-profile-cell">
|
||||
<a href="https://github.com/Shyam-Chen">
|
||||
<img alt="Reviewer: Shyam-Chen" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/a635319ad4eaf2e9/avatar_Shyam-Chen.webp" width="384"/>
|
||||
<img alt="Reviewer: Shyam-Chen" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/a635319ad4eaf2e9/avatar_Shyam-Chen.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: Shyam-Chen" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/a635319ad4eaf2e9/avatar_Shyam-Chen.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Shyam-Chen
|
||||
@@ -357,7 +402,10 @@
|
||||
</div>
|
||||
<div class="profile-cell translator-profile-cell">
|
||||
<a href="https://github.com/Dr-XYZ">
|
||||
<img alt="Reviewer: Dr-XYZ" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/b5b4c188d159778c/avatar_Dr-XYZ.webp" width="384"/>
|
||||
<img alt="Reviewer: Dr-XYZ" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/b5b4c188d159778c/avatar_Dr-XYZ.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: Dr-XYZ" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/b5b4c188d159778c/avatar_Dr-XYZ.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Dr-XYZ
|
||||
@@ -376,7 +424,10 @@
|
||||
<div class="profile-div">
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/coderonion">
|
||||
<img alt="Reviewer: coderonion" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/db606f27971eae34/avatar_coderonion.webp" width="384"/>
|
||||
<img alt="Reviewer: coderonion" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/db606f27971eae34/avatar_coderonion.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: coderonion" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/db606f27971eae34/avatar_coderonion.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
coderonion
|
||||
@@ -389,7 +440,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/curtishd">
|
||||
<img alt="Reviewer: curtishd" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" width="384"/>
|
||||
<img alt="Reviewer: curtishd" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: curtishd" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/feedb0e547ea31fc/avatar_curtishd.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
curtishd
|
||||
@@ -402,7 +456,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/Gonglja">
|
||||
<img alt="Reviewer: Gonglja" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" width="384"/>
|
||||
<img alt="Reviewer: Gonglja" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: Gonglja" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/cdcf023b032b8d30/avatar_Gonglja.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Gonglja
|
||||
@@ -415,7 +472,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/gvenusleo">
|
||||
<img alt="Reviewer: gvenusleo" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" width="384"/>
|
||||
<img alt="Reviewer: gvenusleo" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: gvenusleo" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/464e2d351b9263ec/avatar_gvenusleo.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
gvenusleo
|
||||
@@ -428,7 +488,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/hpstory">
|
||||
<img alt="Reviewer: hpstory" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" width="384"/>
|
||||
<img alt="Reviewer: hpstory" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: hpstory" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/7b6478acdab6b845/avatar_hpstory.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
hpstory
|
||||
@@ -441,7 +504,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/justin-tse">
|
||||
<img alt="Reviewer: justin-tse" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" width="384"/>
|
||||
<img alt="Reviewer: justin-tse" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: justin-tse" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/208ee5aae490eefa/avatar_justin-tse.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
justin-tse
|
||||
@@ -454,7 +520,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/khoaxuantu">
|
||||
<img alt="Reviewer: khoaxuantu" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" width="384"/>
|
||||
<img alt="Reviewer: khoaxuantu" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: khoaxuantu" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/9d3f1a21ff51de78/avatar_khoaxuantu.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
khoaxuantu
|
||||
@@ -467,7 +536,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/krahets">
|
||||
<img alt="Reviewer: krahets" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" width="384"/>
|
||||
<img alt="Reviewer: krahets" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: krahets" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/e321f9a3ac2739e0/avatar_krahets.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
krahets
|
||||
@@ -480,7 +552,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/night-cruise">
|
||||
<img alt="Reviewer: night-cruise" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" width="384"/>
|
||||
<img alt="Reviewer: night-cruise" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: night-cruise" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/960b489efa22abd4/avatar_night-cruise.jpg" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
night-cruise
|
||||
@@ -493,7 +568,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/nuomi1">
|
||||
<img alt="Reviewer: nuomi1" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" width="384"/>
|
||||
<img alt="Reviewer: nuomi1" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: nuomi1" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/7316a9eb4429b259/avatar_nuomi1.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
nuomi1
|
||||
@@ -506,7 +584,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/Reanon">
|
||||
<img alt="Reviewer: Reanon" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" width="384"/>
|
||||
<img alt="Reviewer: Reanon" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: Reanon" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/dcc15aa68cc793c7/avatar_Reanon.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
Reanon
|
||||
@@ -519,7 +600,10 @@
|
||||
</div>
|
||||
<div class="profile-cell">
|
||||
<a href="https://github.com/rongyi">
|
||||
<img alt="Reviewer: rongyi" class="profile-img" height="384" loading="lazy" src="../assets/home/ad8bb1cc4c28091c/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" width="384"/>
|
||||
<img alt="Reviewer: rongyi" class="profile-img" data-home-src="../assets/home/8e54cf1d70453241/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" decoding="async" height="384" width="384"/>
|
||||
<noscript>
|
||||
<img alt="Reviewer: rongyi" class="profile-img" height="384" loading="lazy" src="../assets/home/8e54cf1d70453241/../shared/images/5dc6c4b1d8bfe0ac/avatar_rongyi.webp" width="384"/>
|
||||
</noscript>
|
||||
<br/>
|
||||
<b>
|
||||
rongyi
|
||||
@@ -540,11 +624,22 @@
|
||||
本書在開源社群 200 多位貢獻者的共同努力下不斷完善,感謝他們付出的時間與精力!
|
||||
</p>
|
||||
<a href="https://github.com/krahets/hello-algo/graphs/contributors">
|
||||
<img alt="Contributors" loading="lazy" src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" style="width: 100%; max-width: 38.5em;"/>
|
||||
<img alt="Contributors" data-home-src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" decoding="async" style="width: 100%; max-width: 38.5em;"/>
|
||||
<noscript>
|
||||
<img alt="Contributors" loading="lazy" src="https://contrib.rocks/image?repo=krahets/hello-algo&max=300&columns=12" style="width: 100%; max-width: 38.5em;"/>
|
||||
</noscript>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- This independent fallback also works when the deferred loader cannot be fetched. -->
|
||||
<script defer="" onerror="document.querySelectorAll('[data-home-src], [data-home-poster]').forEach(function(el) { if (el.dataset.homeSrc) el.src = el.dataset.homeSrc; if (el.dataset.homePoster) el.poster = el.dataset.homePoster; });" src="../assets/home/ad8bb1cc4c28091c/javascripts/homepage-media.js">
|
||||
<script defer="" onerror="document.querySelectorAll('[data-home-src], [data-home-poster]').forEach(function(el) { if (el.dataset.homeSrc) el.src = el.dataset.homeSrc; if (el.dataset.homePoster) el.poster = el.dataset.homePoster; });" src="../assets/home/8e54cf1d70453241/javascripts/homepage-media.js">
|
||||
</script>
|
||||
<script>
|
||||
// If the scene entry point itself fails, still provide chapter illustrations.
|
||||
addEventListener('load', function () {
|
||||
if (!window.Starfield) document.querySelectorAll('[data-hero-fallback]').forEach(function (image) {
|
||||
image.src = image.dataset.heroFallback;
|
||||
});
|
||||
}, {once: true});
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user