From c69ae9534d998852d18aa7f77349449f46949261 Mon Sep 17 00:00:00 2001 From: Yudong Jin Date: Thu, 25 Jan 2024 12:50:53 +0800 Subject: [PATCH] Some bug fixes and improvements (#1063) * Prevent the line breaks of buttons on Safari * Fix a math symbol * Small improvements * Bug fixes and improvements. --- docs-en/index.md | 2 +- .../space_complexity.md | 2 +- docs/chapter_sorting/insertion_sort.md | 2 +- docs/index.md | 46 +++++++++---------- overrides/stylesheets/extra.css | 17 ++++--- 5 files changed, 37 insertions(+), 32 deletions(-) diff --git a/docs-en/index.md b/docs-en/index.md index 7a5324b49..7389e475b 100644 --- a/docs-en/index.md +++ b/docs-en/index.md @@ -108,7 +108,7 @@ hide:
-

"Knowledge increases by sharing."

+

"Learning by teaching."

--- diff --git a/docs/chapter_computational_complexity/space_complexity.md b/docs/chapter_computational_complexity/space_complexity.md index 24d0cbaef..c72eea978 100755 --- a/docs/chapter_computational_complexity/space_complexity.md +++ b/docs/chapter_computational_complexity/space_complexity.md @@ -772,7 +772,7 @@ $$ 对数阶常见于分治算法。例如归并排序,输入长度为 $n$ 的数组,每轮递归将数组从中点处划分为两半,形成高度为 $\log n$ 的递归树,使用 $O(\log n)$ 栈帧空间。 -再例如将数字转化为字符串,输入一个正整数 $n$ ,它的位数为 $\lfloor \log_{10} n \rfloor + 1$ ,即对应字符串长度为 $\lfloor \log_{10} n \rfloor + 1$ ,因此空间复杂度为 $O(\lfloor \log_{10} n \rfloor + 1) = O(\log n)$ 。 +再例如将数字转化为字符串,输入一个正整数 $n$ ,它的位数为 $\lfloor \log_{10} n \rfloor + 1$ ,即对应字符串长度为 $\lfloor \log_{10} n \rfloor + 1$ ,因此空间复杂度为 $O(\log_{10} n + 1) = O(\log n)$ 。 ## 权衡时间与空间 diff --git a/docs/chapter_sorting/insertion_sort.md b/docs/chapter_sorting/insertion_sort.md index eb420e2bf..f74672c77 100755 --- a/docs/chapter_sorting/insertion_sort.md +++ b/docs/chapter_sorting/insertion_sort.md @@ -35,7 +35,7 @@ 插入排序的时间复杂度为 $O(n^2)$ ,而我们即将学习的快速排序的时间复杂度为 $O(n \log n)$ 。尽管插入排序的时间复杂度更高,**但在数据量较小的情况下,插入排序通常更快**。 -这个结论与线性查找和二分查找的适用情况的结论类似。快速排序这类 $O(n \log n)$ 的算法属于基于分治策略的排序算法,往往包含更多单元计算操作。而在数据量较小时,$n^2$ 和 $n \log n$ 的数值比较接近,复杂度不占主导地位;每轮中的单元操作数量起到决定性作用。 +这个结论与线性查找和二分查找的适用情况的结论类似。快速排序这类 $O(n \log n)$ 的算法属于基于分治策略的排序算法,往往包含更多单元计算操作。而在数据量较小时,$n^2$ 和 $n \log n$ 的数值比较接近,复杂度不占主导地位,每轮中的单元操作数量起到决定性作用。 实际上,许多编程语言(例如 Java)的内置排序函数采用了插入排序,大致思路为:对于长数组,采用基于分治策略的排序算法,例如快速排序;对于短数组,直接使用插入排序。 diff --git a/docs/index.md b/docs/index.md index 1e99458c2..73e2818e3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -23,91 +23,91 @@ hide: style="position: absolute; width: auto; height: 78.751%; left: 10.545%; top: 7.326%;"> -

初识算法

+ 初识算法
-

复杂度

+ 复杂度
-

数组与链表

+ 数组与链表
-

栈与队列

+ 栈与队列
-

哈希表

+ 哈希表
-

+
-

+
-

+
-

搜索

+ 搜索
-

排序

+ 排序
-

分治

+ 分治
-

回溯

+ 回溯
-

动态规划

+ 动态规划
-

贪心

+ 贪心
-
+
hello-algo-typing-svg

动画图解、一键运行的数据结构与算法教程

-
+
-

开始阅读

+ 开始阅读
-

代码仓库

+ 代码仓库
@@ -157,7 +157,7 @@ hide:
-
+
@@ -166,11 +166,11 @@ hide:
-

提供网页版和 PDF 版,兼容 PC、平板和手机,随时随地阅读

+

提供网页版和 PDF 版,兼容 PC、平板和手机,随时随地阅读

-

下载 PDF

+ 下载 PDF

推荐语

-
+

“一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。”

—— 邓俊辉,清华大学计算机系教授

@@ -250,7 +250,7 @@ hide:

互助学习

欢迎讨论与提问,读者间携手共进

-

"Knowledge increases by sharing."
“知识在分享中得以增长”

+

"Learning by teaching."
“教学相长”

diff --git a/overrides/stylesheets/extra.css b/overrides/stylesheets/extra.css index 684c06bc9..a1ea8510d 100644 --- a/overrides/stylesheets/extra.css +++ b/overrides/stylesheets/extra.css @@ -204,7 +204,7 @@ body { background-color: var(--md-default-bg-color); color: var(--md-default-fg-color); font-size: 0.9rem; - padding: 2em; + padding: 3em 2em; text-align: center; } @@ -221,7 +221,7 @@ body { justify-content: center; border-radius: 10em; margin: 0 0.1em; - padding: 0.5em 1.3em; + padding: 0.6em 1.3em; border: none; background-color: var(--md-typeset-btn-color); color: var(--md-primary-fg-color) !important; @@ -234,9 +234,10 @@ body { background-color: var(--md-typeset-btn-hover-color); } -.rounded-button p { +.rounded-button span { margin: 0; - margin-bottom: 0.1em; + margin-bottom: 0.07em; + white-space: nowrap; } .rounded-button svg { @@ -257,18 +258,22 @@ body { } .text-button { + width: 100%; display: flex; flex-direction: row; align-items: center; color: var(--md-typeset-btn-color); text-decoration: none; - margin: 0 1em; } .text-button:hover { text-decoration: underline; } +.text-button span { + white-space: nowrap; +} + .text-button svg { display: inline-block; fill: var(--md-typeset-btn-color); @@ -288,7 +293,7 @@ body { padding: 0; position: relative; color: white; - font-size: min(2vh, 2.5vw); + font-size: min(1.8vh, 2.5vw); font-weight: 500; }