Skip to content

Commit b14b8e7

Browse files
committed
task 24
1 parent 9e53754 commit b14b8e7

3 files changed

Lines changed: 44 additions & 2 deletions

File tree

tasks/24.md

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,54 @@
33
<img src="./art/24.png" alt="solution" >
44

55
#### eng:
6+
You are given a table, BST, containing two columns: N and P, where N represents the value of a node in Binary Tree,
7+
and P is the parent of N.
68

9+
Write a query to find the node type of Binary Tree ordered by the value of the node. Output one of the following
10+
for each node:
11+
12+
Root: If node is root node.
13+
Leaf: If node is leaf node.
14+
Inner: If node is neither root nor leaf node.
715

816

917
#### рус:
18+
Вам дана таблица BST, содержащая два столбца: N и P, где N представляет значение узла в двоичном дереве, а P
19+
является родителем N.
20+
21+
22+
Напишите запрос, чтобы найти тип узла двоичного дерева, упорядоченный по значению узла. Выведите одно из следующего
23+
для каждого узла:
1024

25+
Корень: если узел является корневым узлом.
26+
Лист: если узел является листовым узлом.
27+
Внутренний: если узел не является ни корневым, ни конечным узлом.
1128

1229

1330
#### код с коментариями:
1431
```sql
15-
32+
SELECT /* выбрать данные */
33+
n , /* столбец номер */
34+
CASE /* создадим новый столбец, в котором */
35+
WHEN p IS NULL THEN "Root" /* если значение ноль, то выводим значение "Root"*/
36+
WHEN n IN(SELECT p FROM bst) THEN "Inner" /* если значение есть в столбце то значение "Inner" */
37+
ELSE "Leaf" /* все остальные значение "Leaf" */
38+
END /* закончить новый столбец */
39+
FROM bst /* из таблицы */
40+
ORDER BY n; /* отсортировать по номеру */
1641
```
1742

1843
#### код для hackerrank:
1944
```sql
20-
45+
SELECT
46+
n ,
47+
CASE
48+
WHEN p IS NULL THEN "Root"
49+
WHEN n IN(SELECT p FROM bst) THEN "Inner"
50+
ELSE "Leaf"
51+
END
52+
FROM bst
53+
ORDER BY n;
2154
```
2255

2356

tasks/24.sql

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
SELECT
2+
n ,
3+
CASE
4+
WHEN p IS NULL THEN "Root"
5+
WHEN n IN(SELECT p FROM bst) THEN "Inner"
6+
ELSE "Leaf"
7+
END
8+
FROM bst
9+
ORDER BY n;

tasks/art/24.png

21.6 KB
Loading

0 commit comments

Comments
 (0)