mirror of
https://github.com/krahets/hello-algo.git
synced 2026-08-14 12:40:58 +00:00
update russian v2
This commit is contained in:
@@ -0,0 +1,441 @@
|
||||
# Приложение
|
||||
|
||||
{width="4.072915573053368in" height="5.270833333333333in"}
|
||||
|
||||
###### Содержание главы
|
||||
|
||||
1. Установка программной среды
|
||||
|
||||
2. Совместная разработка
|
||||
|
||||
3. Глоссарий
|
||||
|
||||
#### Установка программной среды
|
||||
|
||||
1. **Установка IDE**
|
||||
|
||||
> Рекомендуется использовать открытую и быструю интегрированную среду разработки (IDE) VS Code. Откройте официальный сайт VS Code и выберите подходящую вашей операционной системе версию для загрузки и установки.
|
||||
|
||||

|
||||
|
||||
> **Рис. 16.1.** Загрузка VS Code с официального сайта
|
||||
>
|
||||
> VS Code обладает мощной экосистемой расширений и поддерживает выпол- нение и отладку большинства языков программирования. Например, после установки расширения Python Extension Pack можно выполнять отладку кода на Python. Этапы установки показаны на рис. 16.2.
|
||||
|
||||
1. Установка программной среды ❖ **485**
|
||||
|
||||
> **Рис. 16.2.** Установка расширений в VS Code
|
||||
|
||||
### Установка языковой среды
|
||||
|
||||
##### Среда Python
|
||||
|
||||
1. Загрузите и установите инструмент Miniconda3, требуется Python 3.10 или более поздняя версия.
|
||||
|
||||
2. В магазине расширений VS Code выполните поиск по слову python и уста- новите расширение Python Extension Pack.
|
||||
|
||||
3. (Не обязательно) Введите в командной строке pip install black для уста- новки инструмента форматирования кода.
|
||||
|
||||
##### Среда C/C++
|
||||
|
||||
1. В системе Windows необходимо установить набор инструментов MinGW (руководство по настройке). В MacOS имеется встроенный компилятор Clang, дополнительная установка не требуется.
|
||||
|
||||
2. В магазине расширений VS Code выполните поиск по слову c++ и устано- вите расширение C/C++ Extension Pack.
|
||||
|
||||
3. (Не обязательно) Откройте страницу настроек, найдите параметр фор- матирования кода Clang_format_fallback Style и установите его в значе- ние { BasedOnStyle: Microsoft, BreakBeforeBraces: Attach }.
|
||||
|
||||
##### Среда Java
|
||||
|
||||
1. Загрузите и установите OpenJDK (версия \> JDK 9).
|
||||
|
||||
2. В магазине расширений VS Code выполните поиск по слову java и уста- новите расширение Extension Pack for Java.
|
||||
|
||||
##### Среда C#
|
||||
|
||||
1. Загрузите и установите .Net 8.0.
|
||||
|
||||
2. В магазине расширений VS Code выполните поиск по фразе C# Dev Kit
|
||||
|
||||
> и установите расширение C# Dev Kit (руководство по настройке).
|
||||
|
||||
3. Также можно использовать интегрированную среду разработки Visual Studio (руководство по установке).
|
||||
|
||||
##### Среда Go
|
||||
|
||||
1. Загрузите и установите Go.
|
||||
|
||||
2. В магазине расширений VS Code выполните поиск по слову go и устано- вите Go.
|
||||
|
||||
3. Нажмите сочетание клавиш Ctrl + Shift + P, чтобы открыть командную строку. Введите команду go, выберите Go: Install/Update Tools, отметьте все и установите.
|
||||
|
||||
##### Среда Swift
|
||||
|
||||
1. Загрузите и установите Swift.
|
||||
|
||||
2. В магазине расширений VS Code выполните поиск по слову swift и уста- новите расширение Swift for Visual Studio Code.
|
||||
|
||||
##### Среда JavaScript
|
||||
|
||||
1. Загрузите и установите Node.js.
|
||||
|
||||
2. (Не обязательно) В магазине расширений VS Code выполните поиск по слову Prettier и установите инструмент форматирования кода.
|
||||
|
||||
##### Среда TypeScript
|
||||
|
||||
1. Выполните шаги установки для среды JavaScript.
|
||||
|
||||
2. Установите TypeScript Execute (tsx).
|
||||
|
||||
3. В магазине расширений VS Code выполните поиск по слову typescript
|
||||
|
||||
> и установите расширение Pretty TypeScript Errors.
|
||||
|
||||
##### Среда Dart
|
||||
|
||||
1. Загрузите и установите Dart.
|
||||
|
||||
2. В магазине расширений VS Code выполните поиск по слову dart и уста- новите расширение Dart.
|
||||
|
||||
##### Среда Rust
|
||||
|
||||
1. Загрузите и установите Rust.
|
||||
|
||||
2. В магазине расширений VS Code выполните поиск по слову rust и уста- новите расширение rust-analyzer.
|
||||
|
||||
#### Совместная разработка
|
||||
|
||||
> Ввиду ограниченных возможностей автора в книге неизбежно присутству- ют некоторые упущения и ошибки, просим отнестись к этому с пониманием. Если вы обнаружите опечатки, неработающие ссылки, неполное содержание,
|
||||
|
||||
2. Совместная разработка ❖ **487**
|
||||
|
||||
> двусмысленности в тексте, неясные объяснения или нерациональную структу- ру изложения, пожалуйста, помогите нам в исправлении, чтобы предоставить читателям более качественные учебные ресурсы.
|
||||
>
|
||||
> Все идентификаторы GitHub авторов будут представлены на странице ре- позитория книги, в веб-версии и PDF-версии в знак благодарности за их бес- корыстный вклад в сообщество с открытым исходным кодом.
|
||||
|
||||
##### Небольшая корректировка содержимого
|
||||
|
||||
> В правом верхнем углу каждой страницы есть значок редактирования, как по- казано на рис. 16.3. Следуйте следующим шагам для изменения текста или кода.
|
||||
|
||||
1. Нажмите на значок редактирования. Если появится сообщение «Необходи- мо создать ответвление этого репозитория», согласитесь на это действие.
|
||||
|
||||
2. Измените содержимое исходного файла Markdown, проверьте правиль- ность содержания и постарайтесь сохранить единый формат оформления.
|
||||
|
||||
3. В нижней части страницы заполните описание изменений, затем на- жмите кнопку **Propose file change** (предложить изменение файла). После перехода на следующую страницу нажмите кнопку **Create pull request** (Создать запрос на слияние), чтобы инициировать запрос на слияние.
|
||||
|
||||

|
||||
|
||||
> **Рис. 16.3.** Кнопка редактирования страницы
|
||||
>
|
||||
> Изображения нельзя изменить напрямую, необходимо создать новую Issue (Задачу) или оставить комментарий для описания проблемы. Мы как можно быстрее изменим и обновим изображение.
|
||||
|
||||
##### Создание содержимого
|
||||
|
||||
> Если вы заинтересованы в участии в этом проекте с открытым исходным ко- дом, включая перевод кода на другие языки программирования, расширение содержания статей и т. д., необходимо выполнить следующий рабочий процесс Pull Request (Запрос на слияние).
|
||||
|
||||
1. Войдите в GitHub, создайте ответвление хранилища кода книги в свой личный аккаунт.
|
||||
|
||||
2. Перейдите на страницу ответвления и используйте команду git clone
|
||||
|
||||
> для клонирования хранилища на локальный компьютер.
|
||||
|
||||
3. На локальном компьютере создайте содержимое и проведите полное те- стирование, чтобы проверить правильность кода.
|
||||
|
||||
4. Зафиксируйте изменения, сделанные локально, затем отправьте их в удаленное хранилище.
|
||||
|
||||
5. Обновите страницу хранилища и нажмите кнопку **Create pull request**
|
||||
|
||||
> (Создать запрос на слияние), чтобы инициировать запрос на слияние.
|
||||
|
||||
##### Развертывание Docker
|
||||
|
||||
> В корневом каталоге hello-algo выполните следующий сценарий Docker, чтобы настроить доступ к проекту по адресу http://localhost:8000:
|
||||
>
|
||||
> docker-compose up -d
|
||||
>
|
||||
> Для удаления развертывания выполните следующую команду:
|
||||
>
|
||||
> docker-compose down
|
||||
|
||||
#### Глоссарий
|
||||
|
||||
> В табл. 16.1 приведен англо-русский словарь важных терминов, встречающих- ся в книге. Он поможет вам в чтении англоязычной литературы.
|
||||
>
|
||||
> **Таблица 16.1.** Англо-русский словарь терминов 1's complement обратный код
|
||||
>
|
||||
> 2's complement дополнительный код
|
||||
>
|
||||
> adjacency смежность
|
||||
>
|
||||
> adjacency list список смежности
|
||||
>
|
||||
> adjacency matrix матрица смежности
|
||||
>
|
||||
> algorithm алгоритм
|
||||
>
|
||||
> array массив
|
||||
>
|
||||
> asymptotic complexity analysis асимптотический анализ сложности
|
||||
>
|
||||
> asymptotic upper bound асимптотическая верхняя граница AVL tree АВЛ-дерево
|
||||
>
|
||||
> backtracking algorithm алгоритм обратного поиска
|
||||
>
|
||||
> balance factor фактор баланса
|
||||
>
|
||||
> balanced binary search tree сбалансированное двоичное дерево поиска balanced binary tree сбалансированное двоичное дерево
|
||||
>
|
||||
> big-O notation обозначение «О» большое
|
||||
>
|
||||
> binary search двоичный поиск
|
||||
>
|
||||
> binary search tree двоичное дерево поиска
|
||||
>
|
||||
> binary tree двоичное дерево
|
||||
>
|
||||
> bottom of the stack основание стека
|
||||
>
|
||||
> breadth-first search поиск в ширину
|
||||
>
|
||||
> breadth-first traversal обход в ширину
|
||||
>
|
||||
> bubble sort сортировка пузырьком
|
||||
>
|
||||
> bucket корзина
|
||||
>
|
||||
> bucket sort блочная сортировка
|
||||
>
|
||||
> cache hit rate коэффициент попадания в кеш
|
||||
>
|
||||
> cache memory кеш-память
|
||||
>
|
||||
> cache miss промах кеша
|
||||
>
|
||||
> code код
|
||||
>
|
||||
> complete binary tree совершенное двоичное дерево
|
||||
>
|
||||
> connected graph связный граф
|
||||
>
|
||||
> constraint ограничение
|
||||
>
|
||||
> counting sort сортировка подсчетом
|
||||
>
|
||||
> data structure структура данных
|
||||
>
|
||||
> degree степень
|
||||
>
|
||||
> depth глубина
|
||||
>
|
||||
> depth-first search поиск в глубину
|
||||
>
|
||||
> depth-first traversal обход в глубину
|
||||
>
|
||||
> directed graph ориентированный граф
|
||||
>
|
||||
> disconnected graph несвязный граф
|
||||
>
|
||||
> divide and conquer разделяй и властвуй
|
||||
>
|
||||
> double-ended queue двусторонняя очередь
|
||||
>
|
||||
> dynamic array динамический массив
|
||||
>
|
||||
> dynamic programming динамическое программирование
|
||||
>
|
||||
> edge ребро
|
||||
>
|
||||
> edit distance problem задача расстояния редактирования
|
||||
>
|
||||
> file файл
|
||||
>
|
||||
> front of the queue голова очереди
|
||||
>
|
||||
> full binary tree полное двоичное дерево
|
||||
>
|
||||
> function функция
|
||||
>
|
||||
> graph граф
|
||||
>
|
||||
> greedy algorithm жадный алгоритм
|
||||
>
|
||||
> hanota problem задача о Ханойских башнях
|
||||
>
|
||||
> hard disk жесткий диск
|
||||
>
|
||||
> hash collision хеш-коллизия
|
||||
>
|
||||
> hash function хеш-функция
|
||||
>
|
||||
> hash set хеш-набор
|
||||
>
|
||||
> hash table хеш-таблица
|
||||
>
|
||||
> head node головной узел
|
||||
>
|
||||
> heap куча
|
||||
>
|
||||
> heap sort пирамидальная сортировка
|
||||
>
|
||||
> heapify упорядочивание кучи
|
||||
>
|
||||
> height высота
|
||||
>
|
||||
> in-degree входящая степень
|
||||
>
|
||||
> index индекс
|
||||
>
|
||||
> initial state начальное состояние
|
||||
>
|
||||
> insertion sort сортировка вставкой
|
||||
>
|
||||
> iteration итерация
|
||||
>
|
||||
> knapsack problem задача о рюкзаке
|
||||
>
|
||||
> lazy deletion ленивое удаление
|
||||
>
|
||||
> leaf node листовой узел
|
||||
>
|
||||
> left subtree левое поддерево
|
||||
>
|
||||
> left-child node левый дочерний узел
|
||||
>
|
||||
> level уровень
|
||||
>
|
||||
> level-order traversal обход по уровням
|
||||
>
|
||||
> linear probing линейное зондирование
|
||||
>
|
||||
> linked list связный список
|
||||
>
|
||||
> linked list node, list node узел связного списка, узел списка list список
|
||||
>
|
||||
> load factor коэффициент заполнения
|
||||
>
|
||||
> loop цикл
|
||||
>
|
||||
> max heap максимальная куча
|
||||
>
|
||||
> merge sort сортировка слиянием
|
||||
>
|
||||
> method метод
|
||||
>
|
||||
> min heap минимальная куча
|
||||
>
|
||||
> n-queens problem задача об n ферзях
|
||||
>
|
||||
> open addressing открытая адресация
|
||||
>
|
||||
> out-degree исходящая степень
|
||||
>
|
||||
> parent node родительский узел
|
||||
>
|
||||
> path путь
|
||||
>
|
||||
> perfect binary tree идеальное двоичное дерево
|
||||
>
|
||||
> permutations problem задача о перестановках
|
||||
>
|
||||
> priority queue приоритетная очередь
|
||||
>
|
||||
> pruning обрезка
|
||||
>
|
||||
> queue очередь
|
||||
>
|
||||
> quick sort быстрая сортировка
|
||||
>
|
||||
> radix sort поразрядная сортировка
|
||||
>
|
||||
> random-access memory (RAM) оперативное запоминающее устройство (ОЗУ), опера-
|
||||
>
|
||||
> тивная память
|
||||
>
|
||||
> rear of the queue хвост очереди
|
||||
>
|
||||
> recursion рекурсия
|
||||
>
|
||||
> recursion tree дерево рекурсии
|
||||
>
|
||||
> red-black tree красно-черное дерево
|
||||
>
|
||||
> right subtree правое поддерево
|
||||
>
|
||||
> right-child node правый дочерний узел
|
||||
>
|
||||
> root node корневой узел
|
||||
>
|
||||
> searching algorithm алгоритм поиска
|
||||
>
|
||||
> selection sort сортировка выбором
|
||||
>
|
||||
> separate chaining цепная адресация
|
||||
>
|
||||
> sign-magnitude прямой код
|
||||
>
|
||||
> solution решение
|
||||
>
|
||||
> sorting algorithm алгоритм сортировки
|
||||
>
|
||||
> space complexity пространственная сложность
|
||||
>
|
||||
> stack куча
|
||||
>
|
||||
> state состояние
|
||||
>
|
||||
> state-transition equation уравнение перехода состояния subset-sum problem задача о сумме подмножеств
|
||||
>
|
||||
> tail node хвостовой узел
|
||||
>
|
||||
> tail recursion хвостовая рекурсия
|
||||
>
|
||||
> time complexity временная сложность
|
||||
>
|
||||
> top of the stack вершина стека
|
||||
>
|
||||
> top-k problem поиск k наибольших элементов
|
||||
>
|
||||
> tree node узел дерева
|
||||
>
|
||||
> undirected graph неориентированный граф
|
||||
>
|
||||
> variable переменная
|
||||
>
|
||||
> vertex вершина
|
||||
>
|
||||
> weighted graph взвешенный граф
|
||||
>
|
||||
> Книги издательства «ДМК Пресс» можно купить оптом и в розницу на складе издательства по адресу:
|
||||
>
|
||||
> Москва, ул. Электродная, д. 2, стр. 12, офис 7,
|
||||
>
|
||||
> тел. **+7 (499) 322--19--38**,
|
||||
>
|
||||
> а также заказать на сайте [**www.dmkpress.com**](http://www.dmkpress.com/)
|
||||
>
|
||||
> с доставкой в любой регион РФ.
|
||||
|
||||
##### Цзинь Юйдун (@krahets)
|
||||
|
||||
> **Алгоритмы и структуры данных с примерами на Python**
|
||||
>
|
||||
> Главный редактор *Мовчан Д. А.*
|
||||
>
|
||||
> Зам. главного редактора *Яценков В. С.*
|
||||
>
|
||||
> <editor@dmkpress.com>
|
||||
>
|
||||
> Перевод *Шевкун И. А.*
|
||||
>
|
||||
> Корректор *Абросимова Л. А.*
|
||||
>
|
||||
> Верстка *Луценко С. В.*
|
||||
>
|
||||
> Дизайн обложки *Трофимова С. В.*
|
||||
>
|
||||
> Формат 70×100 1/16.
|
||||
>
|
||||
> Гарнитура «PT Serif». Печать цифровая.
|
||||
>
|
||||
> Усл. печ. л. 40,14. Тираж 100 экз.
|
||||
>
|
||||
> Веб-сайт издательства: [www.dmkpress.com](http://www.dmkpress.com/)
|
||||
Reference in New Issue
Block a user