Форум сайта python.su
Добрый день, не так давно начал изучать язык, множество затруднений возникает, словом,взываю о помощи.
Начал решать задачу по написанию алгоритма Хаффмена, и вроде все понятно, но столкнулся с трудностью, которую не могу преодолеть.
На входе есть 2 массива, один с весом, другой со знакоами, порядковые номера весов и знаков совпадают. Дальше создаю массив, который отражает структуру бинарного дерева. Вот пример :
a=[1,2,3,4,5,6,7,8,9] b=['a','b','c','d','e','f','g','h','x'] while len(a)!=1: zna= [b[0],b[1]] z=a[0]+a[1] a.append(z) a.sort() b.insert(a.index(z),zna) del a[1] del a[0] del b[1] del b[0] print(b) [[[['d', 'e'], 'x'], [[[['a', 'b'], 'c'], 'f'], ['g', 'h']]]]
Отредактировано Kaloed (Сен. 21, 2016 18:26:41)
Офлайн