Как получить крайний левый узел или крайний правый узел двоичного дерева?

Моя структура БД введите описание изображения здесь

Я записал все запросы для обработки бинарного дерева, только большинство левых узлов находится в ожидании. также я получил решение для этого на stackoverflow, но это для SQL, но я хочу это в Mysql вот ссылка Решение SQL Link. Кто-нибудь может изменить это для меня в MYSQL.

вот моя хранимая процедура MYSQL

CREATE DEFINER=`root`@`localhost` PROCEDURE `getLeftMost`(IN `iNode` INT)
BEGIN

DECLARE left_id int;
DECLARE prev_id int;
SET prev_id=iNode;SELECT lnode into left_id from binTree where nodeid=iNode;

CREATE TEMPORARY table IF NOT EXISTS temp_table as (select * from binTree where 1=0);
TRUNCATE table temp_table;

WHILE  left_id <> 0 DO
INSERT INTO temp_table SELECT * FROM binTree where nodeid=prev_id;
SET prev_id=left_id;
SELECT lnode into left_id from binTree where nodeid=prev_id;
END WHILE;

SELECT lnode as `leaf_node` FROM temp_table order by nodeid desc limit 0,1;

END

Спасибо

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]