Основная проблема заключается в том, что (в вашей системе) matplotlib по умолчанию использует x-using бэкэнд. У меня была одна и та же проблема на одном из моих серверов. Решение для меня заключалось в том, чтобы добавить следующий код в место, которое читает перед любым другим импортом pylab / matplotlib / pyplot:
import matplotlib
# Force matplotlib to not use any Xwindows backend.
matplotlib.use('Agg')
Альтернативой является установка его в ваш .matplotlibrc
Бинарное дерево поиска построено немного странно. Видимо, вы знаете ранг команд заранее. В этом случае вы обычно сохраняете ранг с командой в Node
. Тогда вы можете легко получить звание позже. Таким образом, вы также не обязаны добавлять команды в порядке их рангов.
Ваш текущий метод getRank()
в настоящее время фактически не получает ранг. Обратите внимание, что если вы добавите команды в порядке их ранга сейчас, вы получите очень боковое дерево с поддеревом, всегда с правой стороны, с левой стороной всегда null
. Также вероятно, что ваши ошибки возникли: getRank()
всегда будет возвращать 1.