Массив [6, 2, 9, 4, 7, 1, 8] бинарлы үйінді (max-heap) ретінде сол массивтің өзінде түрлендіріледі: i түйіннің балалары 2i+1 және 2i+2 индекстерінде, түрлендіру соңғы ата-аналық түйіннен массив басына қарай «төмен сүзу» (sift-down) арқылы жүреді. Нәтиже қандай?
Дұрыс жауабы мен түсіндірмесі
Жауабы: [9, 7, 8, 4, 2, 1, 6]
Түйіндер 2 (9), 1 (2), 0 (6) ретімен өңделеді: 2 мен 7 орын ауыстырады, содан соң 6 төмен түседі (6↔9, 6↔8). Нәтиже [9, 7, 8, 4, 2, 1, 6]. [9, 7, 8, 2, 4, 1, 6] — элементтерді кезекпен қосу тәсілінің нәтижесі.
«Алгоритмдер және программалау» тақырыбынан тағы
- Оқушылар тізімі: Aru (B, 82); Bek (A, 75); Dana (B, 91); Erlan (A, 75); Gul (C, 60); Hana (A, 91); Iman (B, 82...
- Бинарлы ағаштың түбірден бастап тік (preorder) жүру реті: M D B A C H F K T R W, ал симметриялық (inorder) жүр...
- Разрядтар бойынша сұрыптау (LSD radix sort, тұрақты) [170, 45, 75, 90, 802, 24, 2, 66, 311, 129] массивіне қол...
- run("5 2 *") орындалып, содан кейін print(run("3 +"), st) шақырылады. Нәтиже қандай?
- Рекурсия туралы дұрыс тұжырымдарды таңдаңыз.
- Графтың төбелері 1-ден 10-ға дейін нөмірленген, қырлары: 1–2, 2–3, 4–5, 6–7, 7–8, 8–6, 9–9, 3–1. Графты байлан...
- Рекурсивті функция берілген: def j(n, k): if n == 1: return 0 return (j(n - 1, k) + k) % n j(10, 3) қандай мән...
- Берілген функцияда f(6) шақырылғанда f барлығы неше рет орындалады (бастапқы шақыруды қоса)? def f(n): if n <=...