🌲 AVL-дерево в C#
AVL-дерево — это самобалансирующееся бинарное дерево поиска, в котором:
• Баланс-фактор (разница высот левого и правого поддерева) каждого узла равен -1, 0 или 1.
• При нарушении баланса выполняется ротация (левая, правая или двойные) для восстановления баланса.
Баланс-фактор (BF) узла вычисляется так:
• BF = 0, 1 или -1 — дерево сбалансировано.
• BF > 1 — перегрузка слева.
• BF < -1 — перегрузка справа.
🤔 Что такое ротация в деревьях?
Ротация — это операция, которая переставляет узлы в бинарном дереве, изменяя их структуру без нарушения свойств дерева.
Когда высота левого и правого поддерева отличается более чем на 1, дерево становится разбалансированным. Это снижает эффективность операций поиска, вставки и удаления.
Виды ротаций в AVL-дереве:
1️⃣ Правое вращение
Применяется, когда перегрузка слева (BF > 1) и новый узел добавлен в левое поддерево левого потомка.
Простой пример:
После правого вращения:
2️⃣ Левое вращение
Применяется, когда перегрузка справа (BF < -1) и новый узел добавлен в правое поддерево правого потомка.
Пример:
После левого вращения:
3️⃣ Лево-правое вращение
Используется при перегрузке слева, если новый узел добавлен в правое поддерево левого потомка.
Сначала выполняется левое вращение для левого потомка.
Затем правое вращение для корня.
4️⃣ Право-левое вращение
Используется при перегрузке справа, если новый узел добавлен в левое поддерево правого потомка.
Сначала выполняется правое вращение для правого потомка.
Затем левое вращение для корня.
AVL-дерево — это самобалансирующееся бинарное дерево поиска, в котором:
• Баланс-фактор (разница высот левого и правого поддерева) каждого узла равен -1, 0 или 1.
• При нарушении баланса выполняется ротация (левая, правая или двойные) для восстановления баланса.
Баланс-фактор (BF) узла вычисляется так:
BF = Height(Left) - Height(Right)
• BF = 0, 1 или -1 — дерево сбалансировано.
• BF > 1 — перегрузка слева.
• BF < -1 — перегрузка справа.
🤔 Что такое ротация в деревьях?
Ротация — это операция, которая переставляет узлы в бинарном дереве, изменяя их структуру без нарушения свойств дерева.
Когда высота левого и правого поддерева отличается более чем на 1, дерево становится разбалансированным. Это снижает эффективность операций поиска, вставки и удаления.
Виды ротаций в AVL-дереве:
Применяется, когда перегрузка слева (BF > 1) и новый узел добавлен в левое поддерево левого потомка.
Простой пример:
C
/
B
/
A
После правого вращения:
B
/ \
A C
Применяется, когда перегрузка справа (BF < -1) и новый узел добавлен в правое поддерево правого потомка.
Пример:
A
\
B
\
C
После левого вращения:
B
/ \
A C
Используется при перегрузке слева, если новый узел добавлен в правое поддерево левого потомка.
Сначала выполняется левое вращение для левого потомка.
Затем правое вращение для корня.
Используется при перегрузке справа, если новый узел добавлен в левое поддерево правого потомка.
Сначала выполняется правое вращение для правого потомка.
Затем левое вращение для корня.
Please open Telegram to view this post
VIEW IN TELEGRAM
C# 12 and .NET 8 – Modern Cross-Platform
Development Fundamentals
Автор: Mark J. Price
Дата выхода: 2023
#csharp #en
Скачать книгу
Development Fundamentals
Автор: Mark J. Price
Дата выхода: 2023
#csharp #en
Скачать книгу
🔥5
Справочник C#. Кратко, быстро, под рукой
Автор: Е. В. Дубовик
Год издания: 2023
#csharp #ru
Скачать книгу
Автор: Е. В. Дубовик
Год издания: 2023
#csharp #ru
Скачать книгу
Вакансии для C#/.NET разработчиков за последние 14 дней:
✓ Junior C# Developer. Офис (РФ)
✓ Full stack разработчик (Middle). Удалёнка (РФ, Беларусь), 150–200 т.р.
✓ Разработчик C#. Гибрид (Москва) или удалёнка, 200–400 т.р.
✓ Разработчик .Net. Удалёнка или офис, 250–500 т.р.
✓ Unity разработчик (Middle/Senior). Удалёнка, ЗП по договорённости
✓ Unity разработчик (Middle/Senior). Удалёнка (Нидерланды), ЗП по договорённости
#подборка #csharp
✓ Junior C# Developer. Офис (РФ)
✓ Full stack разработчик (Middle). Удалёнка (РФ, Беларусь), 150–200 т.р.
✓ Разработчик C#. Гибрид (Москва) или удалёнка, 200–400 т.р.
✓ Разработчик .Net. Удалёнка или офис, 250–500 т.р.
✓ Unity разработчик (Middle/Senior). Удалёнка, ЗП по договорённости
✓ Unity разработчик (Middle/Senior). Удалёнка (Нидерланды), ЗП по договорённости
#подборка #csharp
Вакансии для C#/.NET разработчиков за последние 14 дней:
✓ QA Automation С# Удалёнка, 200–350 т.р.
✓ Backend разработчик Удалёнка (РФ), 200–280 т.р.
✓ Разработчик .Net, C# Удалёнка (РФ), 230–250 т.р.
✓ Net разработчик Middle Удалёнка (РФ), до 371 000 т.р.
✓ Разработчик C#/.Net Удалёнка (РФ), 230–250 т.р.
#подборка #csharp
✓ QA Automation С# Удалёнка, 200–350 т.р.
✓ Backend разработчик Удалёнка (РФ), 200–280 т.р.
✓ Разработчик .Net, C# Удалёнка (РФ), 230–250 т.р.
✓ Net разработчик Middle Удалёнка (РФ), до 371 000 т.р.
✓ Разработчик C#/.Net Удалёнка (РФ), 230–250 т.р.
#подборка #csharp
❤4
Вакансии для C#/.NET разработчиков за последние 14 дней:
✓ Мобильный разработчик (Flutter / .NET MAUI / Xamarin.Forms) Удалёнка, от 1200$
✓ Fullstack middle C# developer Офис (Москва), 200–500 т.р.
✓ Fullstack C# Developer Удалённо (МСК), 180-250 т.р.
✓ Fullstack C# разработчик Удалёнка (Мир), 200–250 т.р.
✓ Тестировщик автоматизации (C#, .NET) Удалённо, 300–380 т.р.
#подборка #csharp
✓ Мобильный разработчик (Flutter / .NET MAUI / Xamarin.Forms) Удалёнка, от 1200$
✓ Fullstack middle C# developer Офис (Москва), 200–500 т.р.
✓ Fullstack C# Developer Удалённо (МСК), 180-250 т.р.
✓ Fullstack C# разработчик Удалёнка (Мир), 200–250 т.р.
✓ Тестировщик автоматизации (C#, .NET) Удалённо, 300–380 т.р.
#подборка #csharp
Unity и C#. Геймдев от идеи до реализации
Автор: Бонд Джереми Гибсон
Год издания: 2024
#ru #unity
Скачать книгу
Автор: Бонд Джереми Гибсон
Год издания: 2024
#ru #unity
Скачать книгу
👍4👎1
Вакансии для C#/.NET разработчиков за последние 14 дней:
✓ .NET Engineer Удалёнка (Грузия), $30-35 h/gross
✓ .NET разработчик Удалёнка (РФ), 100 т.р.
✓ .NET Engineer Удалёнка (Europe, Georgia), $30–$35/hour
✓ Fullstack middle C# developer Офис (Москва), 300–500 т.р.
✓ C# Developer Удалёнка (ЕС), 3000 — 4000 €
✓ .NET разработчик Удалёнка (РФ), 180 – 200 т.р.
✓ .NET Developer Удалёнка (РФ), 190 - 270 т.р.
✓ .NET Разработчик Гибрид (Тбилиси), 3500-4000 $
✓ QA Auto C# Удалёнка (Москва), от 220 до 385 т.р.
#подборка #csharp
✓ .NET Engineer Удалёнка (Грузия), $30-35 h/gross
✓ .NET разработчик Удалёнка (РФ), 100 т.р.
✓ .NET Engineer Удалёнка (Europe, Georgia), $30–$35/hour
✓ Fullstack middle C# developer Офис (Москва), 300–500 т.р.
✓ C# Developer Удалёнка (ЕС), 3000 — 4000 €
✓ .NET разработчик Удалёнка (РФ), 180 – 200 т.р.
✓ .NET Developer Удалёнка (РФ), 190 - 270 т.р.
✓ .NET Разработчик Гибрид (Тбилиси), 3500-4000 $
✓ QA Auto C# Удалёнка (Москва), от 220 до 385 т.р.
#подборка #csharp
Вакансии для C#/.NET разработчиков за последние 14 дней:
✓ Fullstack Middle C# Developer Офис (Москва), 200–500 т.р.
✓ C# Developer Удалённо (РФ), 3000–4000 €
✓ .NET / C# Developer Удалённо (РФ), 250 т.р.
✓ Разработчик С# Гибрид (Москва), 200–400 т.р.
✓ .Net Developer Удалёнка, 240–300 т.р.
#подборка #csharp
✓ Fullstack Middle C# Developer Офис (Москва), 200–500 т.р.
✓ C# Developer Удалённо (РФ), 3000–4000 €
✓ .NET / C# Developer Удалённо (РФ), 250 т.р.
✓ Разработчик С# Гибрид (Москва), 200–400 т.р.
✓ .Net Developer Удалёнка, 240–300 т.р.
#подборка #csharp
❤1
Forwarded from Pattern Guru. Шаблоны проектирования. Архитектура ПО
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Pattern Guru. Шаблоны проектирования. Архитектура ПО
🚩 Шаблон проектирования Singleton
🟣Подробное описание паттерна
Лучшие методы:
1. Декоратор
2. Базовый класс
3. Метакласс
4. Декоратор возвращает класс с тем же именем
5. Модуль
🗂 Код на Python
🟣Подробное описание паттерна
Лучшие методы:
1. Декоратор
2. Базовый класс
3. Метакласс
4. Декоратор возвращает класс с тем же именем
5. Модуль
🗂 Код на Python
👍3
Вакансии для C#/.NET разработчиков за последние 14 дней:
✓ .NET разработчик Удалённо (Мир), 50 000 – 80 000 ₽
✓ .Net Developer Удалённо, 240 000 – 300 000 ₽
✓ C# QA Engineer Удалённо/гибрид, 100 000 – 120 000 ₽
✓ Net разработчик Middle Удалённо (РФ), 230 000 - 371 000 ₽
✓ .NET разработчик Удалённо, до 190 000 ₽
✓ .NET Developer Удалённо (РФ), 240 000 – 260 000 ₽
✓ Full Stack Developer (C#/.NET) Удалёнка, 190 000 – 300 000 ₽
✓ Full-stack Developer C# / Java Удалённо (РФ), 420 000 – 450 000 ₽
#подборка #csharp
✓ .NET разработчик Удалённо (Мир), 50 000 – 80 000 ₽
✓ .Net Developer Удалённо, 240 000 – 300 000 ₽
✓ C# QA Engineer Удалённо/гибрид, 100 000 – 120 000 ₽
✓ Net разработчик Middle Удалённо (РФ), 230 000 - 371 000 ₽
✓ .NET разработчик Удалённо, до 190 000 ₽
✓ .NET Developer Удалённо (РФ), 240 000 – 260 000 ₽
✓ Full Stack Developer (C#/.NET) Удалёнка, 190 000 – 300 000 ₽
✓ Full-stack Developer C# / Java Удалённо (РФ), 420 000 – 450 000 ₽
#подборка #csharp
👍1