首页
/ hello-algo 俄语版数据结构与算法术语表:英俄中三语对照与仓库源码印证

hello-algo 俄语版数据结构与算法术语表:英俄中三语对照与仓库源码印证

2026-09-07 16:59:51作者:殷蕙予

本文基于《Hello 算法》(hello-algo)仓库俄语文档附录中的术语表(terminology.md),完整收录全书 128 个核心数据结构与算法术语的英俄对照(并补充简体中文对照),将这些术语按复杂度分析、数组链表、栈队列、哈希、树、堆、图、查找排序、分治、回溯、动态规划与贪心十二个专题分组,并逐一映射到仓库对应的章节文档与多语言代码实现,帮助你以“术语—章节—源码”三条线索建立完整知识地图。

一、术语表的定位:俄语版第 16 章的最后一页

该术语表位于俄语文档的附录章节,在站点导航(ru/mkdocs.yml)中注册为第 16 章“Приложение(附录)”下的 16.3 节:

- Глава 16. Приложение:
    - chapter_appendix/index.md
    - 16.1 Установка среды программирования: chapter_appendix/installation.md
    - 16.2 Присоединяйтесь к созданию книги: chapter_appendix/contribution.md
    - 16.3 Глоссарий: chapter_appendix/terminology.md

原文档开篇给出了一条核心学习建议(译文):“建议记住各个术语的英文名称,以便更轻松地阅读英文资料。” 这一点在工程实践中非常关键——绝大多数算法论文、LeetCode 题解、技术博客和标准库 API 文档都以英文术语为索引词。例如当你看到 load factorseparate chainingtop-k problem 时,若能直接对应到“负载因子”“链地址法”“Top-k 问题”,就消除了阅读英文文献的第一道语言障碍。

该术语表在多语言版本中保持同一术语集合,可交叉对照:

下文第二、三节完整继承俄语版术语表的全部 128 个术语条目,并增加“简体中文”对照列,形成三语映射。

二、术语全表:按专题分组的英俄中三语对照

2.1 编程基础与复杂度分析(第 1、2 章相关术语)

原文档表格的第一部分覆盖最基础的编程概念与复杂度分析术语,对应书籍第 2 章“Анализ сложности(复杂度分析)”:

English Русский 简体中文
algorithm алгоритм 算法
data structure структура данных 数据结构
code код 代码
file файл 文件
function функция 函数
method метод 方法
variable переменная 变量
asymptotic complexity analysis асимптотический анализ сложности 渐近复杂度分析
time complexity временная сложность 时间复杂度
space complexity пространственная сложность 空间复杂度
loop цикл 循环
iteration итерация 迭代
recursion рекурсия 递归
tail recursion хвостовая рекурсия 尾递归
recursion tree дерево рекурсии 递归树
big-OO notation нотация big-OO OO 记号
asymptotic upper bound асимптотическая верхняя граница 渐近上界

这一组的术语在 ru/codes/python/chapter_computational_complexity/ 中有直接对应的可运行示例:iteration.py 演示循环与迭代,recursion.py 演示递归与递归树,time_complexity.pyspace_complexity.py 分别对应时间复杂度与空间复杂度,worst_best_time_complexity.py 则覆盖最坏/最好时间复杂度的区分。

2.2 数值编码术语(第 3 章相关术语)

English Русский 简体中文
sign-magnitude прямой код 原码
1's complement обратный код 反码
2's complement дополнительный код 补码

这三个术语对应第 3 章“Структуры данных(数据结构)”下的可选小节 3.3“Кодирование чисел(数字编码)”,即计算机内部如何表示正负整数。注意俄语翻译有本地化习惯:sign-magnitude 译为“прямой код(直码/原码)”、1's complement 译为“обратный код(反码)”,与中文术语一一对应。

2.3 数组、链表与内存层次(第 4 章相关术语)

English Русский 简体中文
array массив 数组
index индекс 索引
linked list связный список 链表
linked list node, list node узел связного списка 链表节点
head node головной узел 头节点
tail node хвостовой узел 尾节点
list список 列表
dynamic array динамический массив 动态数组
hard disk жесткий диск 硬盘
random-access memory (RAM) оперативная память 内存
cache memory кеш-память 缓存
cache miss промах кеша 缓存未命中
cache hit rate коэффициент попадания в кеш 缓存命中率

这一组术语横跨第 4 章的两个主题:arraylinked list 等对应 4.1~4.3 节(数组、链表、列表),RAMcachecache misscache hit rate 对应可选小节 4.4“Оперативная память и кэш(内存与缓存)”。在俄语版代码中,ru/codes/python/chapter_array_and_linkedlist/ 提供四个实现文件:array.py(数组基本操作)、linked_list.py(链表操作)、list.py(列表抽象接口)与 my_list.py(基于动态数组的列表实现),其中节点结构定义在 ru/codes/python/modules/list_node.py,可直接印证 head node(头节点)、tail node(尾节点)等术语的实际形态。

2.4 栈与队列(第 5 章相关术语)

English Русский 简体中文
stack стек
top of the stack вершина стека 栈顶
bottom of the stack основание стека 栈底
queue очередь 队列
double-ended queue двусторонняя очередь 双向队列
front of the queue голова очереди 队首
rear of the queue хвост очереди 队尾

对应第 5 章(5.1 栈、5.2 队列、5.3 双向队列)。代码侧 ru/codes/python/chapter_stack_and_queue/ 采用“接口 + 多种实现”的组织方式:stack.pyqueue.pydeque.py 定义抽象接口,array_stack.pyarray_queue.pyarray_deque.py 是数组实现,linkedlist_stack.pylinkedlist_queue.pylinkedlist_deque.py 是链表实现——共 9 个文件,恰好覆盖术语表中全部 7 个术语。

2.5 哈希表(第 6 章相关术语)

English Русский 简体中文
hash table хеш-таблица 哈希表
hash set хеш-набор 哈希集合
bucket бакет
hash function хеш-функция 哈希函数
hash collision хеш-коллизия 哈希冲突
load factor коэффициент заполнения 负载因子
separate chaining цепная адресация 链地址法
open addressing открытая адресация 开放寻址
linear probing линейное зондирование 线性探测
lazy deletion ленивое удаление 懒删除

这一组 10 个术语是第 6 章(哈希表、哈希冲突、哈希算法)的完整词汇表,代码实现位于 ru/codes/python/chapter_hashing/simple_hash.py(简单哈希)、hash_map.py(基础哈希表)、hash_map_chaining.py(链地址法)、hash_map_open_addressing.py(开放寻址)、array_hash_map.py(基于数组对实现的映射)与 built_in_hash.py(语言内置哈希的使用示例)。

2.6 二叉树(第 7 章相关术语,全书最大术语组)

树相关术语共 29 个,是原表中规模最大的一组,完整覆盖第 7 章:

English Русский 简体中文
binary tree двоичное дерево 二叉树
tree node узел дерева 树节点
left-child node левый дочерний узел 左子节点
right-child node правый дочерний узел 右子节点
parent node родительский узел 父节点
left subtree левое поддерево 左子树
right subtree правое поддерево 右子树
root node корневой узел 根节点
leaf node листовой узел 叶节点
edge ребро
level уровень
degree степень
height высота 高度
depth глубина 深度
perfect binary tree идеальное двоичное дерево 完美二叉树
complete binary tree полное двоичное дерево 完全二叉树
full binary tree строгое двоичное дерево 完满二叉树
balanced binary tree сбалансированное двоичное дерево 平衡二叉树
binary search tree двоичное дерево поиска 二叉搜索树
AVL tree АВЛ-дерево AVL 树
red-black tree красно-черное дерево 红黑树
level-order traversal обход по уровням 层序遍历
breadth-first traversal обход в ширину 广度优先遍历
depth-first traversal обход в глубину 深度优先遍历
pre-order traversal прямой обход 前序遍历
in-order traversal симметричный обход 中序遍历
post-order traversal обратный обход 后序遍历
balanced binary search tree сбалансированное двоичное дерево поиска 平衡二叉搜索树
balance factor фактор баланса 平衡因子

对应代码在 ru/codes/python/chapter_tree/binary_tree.py(二叉树构造)、binary_tree_dfs.py(深度优先遍历,含前序/中序/后序)、binary_tree_bfs.py(广度优先遍历)、array_binary_tree.py(数组表示的二叉树)、binary_search_tree.py(二叉搜索树)与 avl_tree.py(AVL 树,含旋转与平衡因子维护)。树节点结构定义于 ru/codes/python/modules/tree_node.py,其中的 valleftright 字段正是术语表中 root/leaf/edge 等抽象概念的具体载体。

2.7 堆(第 8 章相关术语)

English Русский 简体中文
heap куча
max heap максимальная куча 大顶堆
min heap минимальная куча 小顶堆
priority queue приоритетная очередь 优先队列
heapify упорядочивание кучи 堆化
top-kk problem поиск kk наибольших элементов Top-kk 问题

对应第 8 章(8.1 堆、8.2 堆的构建、8.3 Top-k 问题)。注意俄语中“堆”译为“куча”(直译为“堆/小丘”),且排序章中的堆排序因此被称为“пирамидальная сортировка(金字塔排序)”,读俄语资料时这是同一个术语。代码位于 ru/codes/python/chapter_heap/heap.pymy_heap.py(手写堆)与 top_k.py(Top-k 问题),详见第四节源码印证。

2.8 图(第 9 章相关术语)

English Русский 简体中文
graph граф
vertex вершина 顶点
undirected graph неориентированный граф 无向图
directed graph ориентированный граф 有向图
connected graph связный граф 连通图
disconnected graph несвязный граф 非连通图
weighted graph взвешенный граф 有权图
adjacency смежность 邻接
path путь 路径
in-degree входящая степень 入度
out-degree исходящая степень 出度
adjacency matrix матрица смежности 邻接矩阵
adjacency list список смежности 邻接表
breadth-first search поиск в ширину 广度优先搜索
depth-first search поиск в глубину 深度优先搜索

对应第 9 章(图、图的基本操作、图的遍历)。代码位于 ru/codes/python/chapter_graph/graph_adjacency_matrix.py(邻接矩阵)、graph_adjacency_list.py(邻接表)、graph_bfs.py(广度优先搜索)、graph_dfs.py(深度优先搜索),顶点结构定义于 ru/codes/python/modules/vertex.py

2.9 查找与排序(第 10、11 章相关术语)

English Русский 简体中文
binary search двоичный поиск 二分查找
searching algorithm алгоритм поиска 搜索算法
sorting algorithm алгоритм сортировки 排序算法
selection sort сортировкой выбором 选择排序
bubble sort сортировка пузырьком 冒泡排序
insertion sort сортировка вставкой 插入排序
quick sort быстрая сортировка 快速排序
merge sort сортировка слиянием 归并排序
heap sort пирамидальная сортировка 堆排序
bucket sort блочная сортировка 桶排序
counting sort сортировка подсчетом 计数排序
radix sort поразрядная сортировка 基数排序

对应第 10 章(二分查找及其变体)与第 11 章(11.1~11.10 全部九种排序算法)。ru/codes/python/chapter_sorting/ 下九种排序各有一个同名实现文件(selection_sort.pybubble_sort.pyinsertion_sort.pyquick_sort.pymerge_sort.pyheap_sort.pybucket_sort.pycounting_sort.pyradix_sort.py),ru/codes/python/chapter_searching/ 则包含 binary_search.pybinary_search_insertion.pybinary_search_edge.pylinear_search.pyhashing_search.pytwo_sum.py

2.10 分治、回溯、动态规划与贪心(第 12~15 章相关术语)

分治(第 12 章):

English Русский 简体中文
divide and conquer разделяй и властвуй 分治
hanota problem задача о Ханойской башне 汉诺塔问题

回溯(第 13 章):

English Русский 简体中文
backtracking algorithm алгоритм поиска с возвратом 回溯算法
constraint ограничение 约束
solution решение
state состояние 状态
pruning отсечение 剪枝
permutations problem задача о перестановках 全排列问题
subset-sum problem задача о сумме подмножеств 子集和问题
nn-queens problem задача о nn ферзях nn 皇后问题

动态规划(第 14 章):

English Русский 简体中文
dynamic programming динамическое программирование 动态规划
initial state начальное состояние 初始状态
state-transition equation уравнение перехода состояния 状态转移方程
knapsack problem задача о рюкзаке 背包问题
edit distance problem задача о расстоянии редактирования 编辑距离问题

贪心(第 15 章):

English Русский 简体中文
greedy algorithm жадный алгоритм 贪心算法

这 15 个术语对应 ru/codes/python/chapter_divide_and_conquer/hanota.py 汉诺塔、binary_search_recur.py 递归二分、build_tree.pyfast_power.py)、ru/codes/python/chapter_backtracking/permutations_i.pysubset_sum_i.pyn_queens.py 等)、ru/codes/python/chapter_dynamic_programming/knapsack.py 0-1 背包、unbounded_knapsack.py 完全背包、edit_distance.py 编辑距离、climbing_stairs_dp.py 等)以及 ru/codes/python/chapter_greedy/fractional_knapsack.pymax_capacity.pymax_product_cutting.py)。

三、术语组与仓库章节、代码目录的映射总览

原术语表的分组顺序与书籍章节顺序一致。下表把每个术语组映射到俄语版文档章节(导航配置见 ru/mkdocs.yml)与 Python 代码目录,其他语言(C、C++、C#、Dart、Go、Java、JavaScript、Kotlin、Ruby、Rust、Swift、TypeScript、Zig)代码位于平行的 ru/codes/ 子目录下,文件命名规则相同:

术语组 对应文档章节(ru/docs/ 下) 对应代码目录(ru/codes/python/ 下)
编程基础、复杂度分析、数值编码 chapter_computational_complexity/chapter_data_structure/ chapter_computational_complexity/
数组、链表、内存与缓存 chapter_array_and_linkedlist/ chapter_array_and_linkedlist/
栈、队列、双向队列 chapter_stack_and_queue/ chapter_stack_and_queue/
哈希表 chapter_hashing/ chapter_hashing/
二叉树、遍历、平衡树 chapter_tree/ chapter_tree/
堆、优先队列、Top-k chapter_heap/ chapter_heap/
图与图遍历 chapter_graph/ chapter_graph/
查找、排序 chapter_searching/chapter_sorting/ chapter_searching/chapter_sorting/
分治与汉诺塔 chapter_divide_and_conquer/ chapter_divide_and_conquer/
回溯与三大经典问题 chapter_backtracking/ chapter_backtracking/
动态规划 chapter_dynamic_programming/ chapter_dynamic_programming/
贪心算法 chapter_greedy/ chapter_greedy/

从源码结构看,代码目录命名(chapter_*)与文档章节目录一一对应,术语表中的每一个术语都能在这条“文档章节 → 代码目录”链路中找到落点,这也是本书“动画图解 + 一键运行代码”设计思路的体现。

四、关键术语的源码级印证

4.1 负载因子、扩展与链地址法(load factor / separate chaining)

ru/codes/python/chapter_hashing/hash_map_chaining.pyHashMapChaining 类构造器直观给出了术语表中 load factorbucket 等概念的工程定义(第 17~23 行):

def __init__(self):
    """构造器"""
    self.size = 0  # 键值对数量
    self.capacity = 4  # 哈希表容量
    self.load_thres = 2.0 / 3.0  # 触发扩容的负载因子阈值
    self.extend_ratio = 2  # 扩容系数
    self.buckets = [[] for _ in range(self.capacity)]  # 桶数组

即:size(已存键值对数)与 capacity(桶数量)之比就是负载因子,超过阈值 2/3 时按系数 2 扩容;buckets 数组中的每个桶是一个链表,正是 separate chaining(链地址法)术语在代码中的形态。

4.2 Top-k 问题与小顶堆(top-kk problem / min heap)

ru/codes/python/chapter_heap/top_k.pytop_k_heap 函数(第 16~29 行)演示了术语表中 top-k problemmin heap 的组合使用:

def top_k_heap(nums: list[int], k: int) -> list[int]:
    """利用堆找到数组中最大的 k 个元素"""
    # 初始化最小堆
    heap = []
    # 将数组前 k 个元素放入堆中
    for i in range(k):
        heapq.heappush(heap, nums[i])
    # 从第 k+1 个元素开始,维持堆的长度为 k
    for i in range(k, len(nums)):
        # 若当前元素大于堆顶元素,则弹出堆顶并压入当前元素
        if nums[i] > heap[0]:
            heapq.heappop(heap)
            heapq.heappush(heap, nums[i])
    return heap

其核心思想恰好串联起三个术语:用“小顶堆(min heap)”维持大小为 k 的窗口,堆顶即当前窗口最小值,配合 heapify(堆化,见 ru/codes/python/chapter_heap/my_heap.py 中的手写实现)完成 Top-k 问题求解。

4.3 树节点与图顶点结构(tree node / vertex)

术语表中 tree nodeleft-child noderight-child noderu/codes/python/modules/tree_node.py 中对应含 valleftright 字段的节点类;vertexedgein-degreeout-degree 则在 ru/codes/python/modules/vertex.pychapter_graph 的邻接矩阵/邻接表实现中落地。这些通用模块集中在 ru/codes/python/modules/ 目录(另含 list_node.pyprint_util.py),是各章节示例代码的公共依赖,可作为“术语 → 数据结构定义”的最短查证路径。

五、如何使用这份术语表

  1. 按英文索引记忆:遵循原文档的建议,以英文列为首要记忆单元(如 balance factorstate-transition equation),俄文与中文列作为语义校验。日常阅读英文文献、API 文档时,英文术语是检索入口。
  2. 术语 → 章节 → 代码三跳定位:遇到不熟悉的术语,先在第二节分组表中定位所属专题,再到第三节映射表找到对应 ru/docs/chapter_* 章节文档,最后打开 ru/codes/<语言>/chapter_*/ 下同名文件阅读实现,形成闭环。
  3. 运行验证:俄语版代码与主仓库代码结构一致,Python 版可通过各语言目录下的 test_all.py(如 ru/codes/python/test_all.py)批量运行示例,把静态术语转化为可观察的运行行为。
  4. 多语言对照:同一术语集合在 docs/chapter_appendix/terminology.md(简体中文)、ja/docs/chapter_appendix/terminology.md(日本語)中保持同步维护,若发现某条俄文译法与其他语言版本语义不一致,可对照英文原文列判定基准含义。

术语表本身不含代码,它是全书 12 个章节(第 2~15 章)知识点的词汇索引。掌握这 128 个术语的英文表达,并借助本文的章节与代码映射,读者可以在任意语言版本、任意编程语言的 hello-algo 代码库中快速定位与当前概念直接相关的文档段落和可运行实现。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.13 K
2.75 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
857
1.35 K
docsdocs
暂无描述
Markdown
897
5.8 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
529
593
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
915
1.83 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.58 K
1.01 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.35 K
1.46 K
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
1.01 K
515
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
547
388