mirror of
https://github.com/krahets/hello-algo.git
synced 2024-12-24 10:26:27 +08:00
Adding the chapter of hello_algo and bug fixes (#1217)
* Add the chapter of hello_algo * Remove the comment field from the landing page * Update the link in the landing page * Fix a typo * Bug fiixes * Fix the bug of underlined terms * Fix the format of English terms * Fix "静态数据结构" vs. "动态数据结构" in classification_of_data_structure.md
This commit is contained in:
parent
043085d0ea
commit
5e2eef0b4d
5 changed files with 9 additions and 9 deletions
|
@ -4,19 +4,19 @@
|
|||
|
||||
## ASCII 字符集
|
||||
|
||||
<u>ASCII(码)</u>是最早出现的字符集,其全称为 American Standard Code for Information Interchange(美国标准信息交换代码)。它使用 7 位二进制数(一个字节的低 7 位)表示一个字符,最多能够表示 128 个不同的字符。如下图所示,ASCII 码包括英文字母的大小写、数字 0 ~ 9、一些标点符号,以及一些控制字符(如换行符和制表符)。
|
||||
<u>ASCII 码</u>是最早出现的字符集,其全称为 American Standard Code for Information Interchange(美国标准信息交换代码)。它使用 7 位二进制数(一个字节的低 7 位)表示一个字符,最多能够表示 128 个不同的字符。如下图所示,ASCII 码包括英文字母的大小写、数字 0 ~ 9、一些标点符号,以及一些控制字符(如换行符和制表符)。
|
||||
|
||||
![ASCII 码](character_encoding.assets/ascii_table.png)
|
||||
|
||||
然而,**ASCII 码仅能够表示英文**。随着计算机的全球化,诞生了一种能够表示更多语言的<u>EASCII</u>字符集。它在 ASCII 的 7 位基础上扩展到 8 位,能够表示 256 个不同的字符。
|
||||
然而,**ASCII 码仅能够表示英文**。随着计算机的全球化,诞生了一种能够表示更多语言的 <u>EASCII</u> 字符集。它在 ASCII 的 7 位基础上扩展到 8 位,能够表示 256 个不同的字符。
|
||||
|
||||
在世界范围内,陆续出现了一批适用于不同地区的 EASCII 字符集。这些字符集的前 128 个字符统一为 ASCII 码,后 128 个字符定义不同,以适应不同语言的需求。
|
||||
|
||||
## GBK 字符集
|
||||
|
||||
后来人们发现,**EASCII 码仍然无法满足许多语言的字符数量要求**。比如汉字有近十万个,光日常使用的就有几千个。中国国家标准总局于 1980 年发布了<u>GB2312</u>字符集,其收录了 6763 个汉字,基本满足了汉字的计算机处理需要。
|
||||
后来人们发现,**EASCII 码仍然无法满足许多语言的字符数量要求**。比如汉字有近十万个,光日常使用的就有几千个。中国国家标准总局于 1980 年发布了 <u>GB2312</u> 字符集,其收录了 6763 个汉字,基本满足了汉字的计算机处理需要。
|
||||
|
||||
然而,GB2312 无法处理部分罕见字和繁体字。<u>GBK</u>字符集是在 GB2312 的基础上扩展得到的,它共收录了 21886 个汉字。在 GBK 的编码方案中,ASCII 字符使用一个字节表示,汉字使用两个字节表示。
|
||||
然而,GB2312 无法处理部分罕见字和繁体字。<u>GBK</u> 字符集是在 GB2312 的基础上扩展得到的,它共收录了 21886 个汉字。在 GBK 的编码方案中,ASCII 字符使用一个字节表示,汉字使用两个字节表示。
|
||||
|
||||
## Unicode 字符集
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
|||
|
||||
那个时代的研究人员就在想:**如果推出一个足够完整的字符集,将世界范围内的所有语言和符号都收录其中,不就可以解决跨语言环境和乱码问题了吗**?在这种想法的驱动下,一个大而全的字符集 Unicode 应运而生。
|
||||
|
||||
<u>Unicode</u>的中文名称为“统一码”,理论上能容纳 100 多万个字符。它致力于将全球范围内的字符纳入统一的字符集之中,提供一种通用的字符集来处理和显示各种语言文字,减少因为编码标准不同而产生的乱码问题。
|
||||
<u>Unicode</u> 的中文名称为“统一码”,理论上能容纳 100 多万个字符。它致力于将全球范围内的字符纳入统一的字符集之中,提供一种通用的字符集来处理和显示各种语言文字,减少因为编码标准不同而产生的乱码问题。
|
||||
|
||||
自 1991 年发布以来,Unicode 不断扩充新的语言与字符。截至 2022 年 9 月,Unicode 已经包含 149186 个字符,包括各种语言的字符、符号甚至表情符号等。在庞大的 Unicode 字符集中,常用的字符占用 2 字节,有些生僻的字符占用 3 字节甚至 4 字节。
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
- **基于数组可实现**:栈、队列、哈希表、树、堆、图、矩阵、张量(维度 $\geq 3$ 的数组)等。
|
||||
- **基于链表可实现**:栈、队列、哈希表、树、堆、图等。
|
||||
|
||||
基于数组实现的数据结构也称“静态数据结构”,这意味着此类数据结构在初始化后长度不可变。相对应地,基于链表实现的数据结构也称“动态数据结构”,这类数据结构在初始化后,仍可以在程序运行过程中对其长度进行调整。
|
||||
链表在初始化后,仍可以在程序运行过程中对其长度进行调整,因此也称“动态数据结构”。数组在初始化后长度不可变,因此也称“静态数据结构”。值得注意的是,数组可通过重新分配内存实现长度变化,从而具备一定的“动态性”。
|
||||
|
||||
!!! tip
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ $$
|
|||
|
||||
根据以上内容,我们可以总结出动态规划的常用术语。
|
||||
|
||||
- 将数组 `dp` 称为<u>$dp$(表)</u>,$dp[i]$ 表示状态 $i$ 对应子问题的解。
|
||||
- 将数组 `dp` 称为 <u>dp 表</u>,$dp[i]$ 表示状态 $i$ 对应子问题的解。
|
||||
- 将最小子问题对应的状态(第 $1$ 阶和第 $2$ 阶楼梯)称为<u>初始状态</u>。
|
||||
- 将递推公式 $dp[i] = dp[i-1] + dp[i-2]$ 称为<u>状态转移方程</u>。
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
![AVL 树在插入节点后发生退化](avl_tree.assets/avltree_degradation_from_inserting_node.png)
|
||||
|
||||
1962 年 G. M. Adelson-Velsky 和 E. M. Landis 在论文“An algorithm for the organization of information”中提出了<u>AVL(树)</u>。论文中详细描述了一系列操作,确保在持续添加和删除节点后,AVL 树不会退化,从而使得各种操作的时间复杂度保持在 $O(\log n)$ 级别。换句话说,在需要频繁进行增删查改操作的场景中,AVL 树能始终保持高效的数据操作性能,具有很好的应用价值。
|
||||
1962 年 G. M. Adelson-Velsky 和 E. M. Landis 在论文“An algorithm for the organization of information”中提出了 <u>AVL 树</u>。论文中详细描述了一系列操作,确保在持续添加和删除节点后,AVL 树不会退化,从而使得各种操作的时间复杂度保持在 $O(\log n)$ 级别。换句话说,在需要频繁进行增删查改操作的场景中,AVL 树能始终保持高效的数据操作性能,具有很好的应用价值。
|
||||
|
||||
## AVL 树常见术语
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ extra:
|
|||
social:
|
||||
- icon: fontawesome/brands/github
|
||||
link: https://github.com/krahets
|
||||
- icon: fontawesome/brands/twitter
|
||||
- icon: fontawesome/brands/x-twitter
|
||||
link: https://twitter.com/krahets
|
||||
- icon: fontawesome/solid/code
|
||||
link: https://leetcode.cn/u/jyd/
|
||||
|
|
Loading…
Reference in a new issue