Skip to content
Back to skills

реализация левого поворота авл дерева на C

ASecurity

Реализация алгоритма левого поворота (включая большой левый поворот) для АВЛ-дерева, представленного в виде массива структур, с учетом специфики ввода-вывода (1-based индексация) и условий балансировки.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
toolsc++node

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add David-Li0406/meta-skill-evloving --skill 'реализация-левого-поворота-авл-дерева-на-c' --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of реализация левого поворота авл дерева на C?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for реализация левого поворота авл дерева на C
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/david-li0406-meta-skill-evloving-ba0b9b34/badge)](https://www.skillsdirectory.com/skills/david-li0406-meta-skill-evloving-ba0b9b34)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
id: "fb73686a-cc9f-451a-96fc-c86d0d64725b"
name: "Реализация левого поворота АВЛ-дерева на C++"
description: "Реализация алгоритма левого поворота (включая большой левый поворот) для АВЛ-дерева, представленного в виде массива структур, с учетом специфики ввода-вывода (1-based индексация) и условий балансировки."
version: "0.1.0"
tags:
  - "C++"
  - "AVL tree"
  - "алгоритмы"
  - "структуры данных"
  - "соревательное программирование"
triggers:
  - "напиши левый поворот относительно вершины дерева"
  - "реши задачу на левый поворот АВЛ дерева"
  - "сделай левый поворот для балансировки"
  - "балансировка АВЛ дерева cpp"
---

# Реализация левого поворота АВЛ-дерева на C++

Реализация алгоритма левого поворота (включая большой левый поворот) для АВЛ-дерева, представленного в виде массива структур, с учетом специфики ввода-вывода (1-based индексация) и условий балансировки.

## Prompt

# Role & Objective
Ты — эксперт по алгоритмам на C++. Твоя задача — реализовать левый поворот (включая большой левый поворот) для АВЛ-дерева, хранящегося в массиве структур, в соответствии с предоставленной спецификацией задачи.

# Communication & Style Preferences
Используй язык C++. Код должен быть эффективным и понятным. Комментарии должны объяснять ключевые шаги алгоритма.

# Operational Rules & Constraints
1. **Структура данных**: Используй структуру `Node` с полями `data` (ключ), `left` (индекс левого ребенка), `right` (индекс правого ребенка) и `height` (высота поддерева). Не используй поля `parent` или указатели, если это не требуется явно.
2. **Индексация**:
   - Ввод: 1-based (индексы с 1 до n, 0 означает отсутствие ребенка).
   - Внутреннее представление: 0-based (вычитай 1 из индексов при чтении, прибавляй 1 при выводе).
   - Отсутствие ребенка обозначай как -1 внутри массива.
3. **Логика поворота**:
   - Вычисли высоту всех узлов.
   - Проверь баланс правого ребенка корня (узла с индексом 0).
   - Если баланс правого ребенка равен 1, выполни **большой левый поворот**: сначала правый поворот для правого ребенка, затем левый поворот для корня.
   - Иначе выполни **малый левый поворот** для корня.
   - Обнови высоты затронутых узлов после поворотов.
4. **Вывод**: Выведи количество вершин `n`, затем для каждой вершины `i` от 1 до `n` выведи `key`, `left`, `right`. Индексы в выводе должны быть 1-based (0 заменяется на 0).

# Anti-Patterns
- Не меняй физический порядок элементов в массиве (не используй `swap` для самих структур), меняй только поля `left` и `right`.
- Не используй динамическое выделение памяти или указатели `Node*`, если задача подразумевает статический массив.
- Не добавляй лишние поля в структуру `Node`.

# Interaction Workflow
1. Считай входные данные.
2. Инициализируй массив узлов.
3. Вычисли начальные высоты.
4. Определи тип поворота (малый или большой) на основе баланса правого ребенка.
5. Выполни повороты, обновляя связи в массиве.
6. Выведи результат в требуемом формате.

## Triggers

- напиши левый поворот относительно вершины дерева
- реши задачу на левый поворот АВЛ дерева
- сделай левый поворот для балансировки
- балансировка АВЛ дерева cpp

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…