Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MODUL6 #142

Open
wants to merge 1 commit into
base: Naumova_Elena
Choose a base branch
from
Open

Conversation

LenaNaumova
Copy link

No description provided.

@LenaNaumova
Copy link
Author

КАК ВСЕГДА ВСЁ ДЕЛАЛИ СО СВЕТОЙ. КОММЕНТАРИИ ВСЕ ЕСТЬ, ЧИТАЙТЕ ВНИМАТЕЛЬНО
МОДУЛЬ ПЯТЬ ДОДЕЛЫВАТЬ НЕ БУДЕМ ДВЕ ЗАДАЧИ, МЫ НЕ ТАКИЕ УМНЫЕ

@@ -0,0 +1,611 @@
#(v-1)/2 - индекс родителя
#shift up - чтобы что-то всплывало наверх(если внизу маленькое счило, можно его поднять наверх)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

не что-то)) а элемент)

@@ -0,0 +1,611 @@
#(v-1)/2 - индекс родителя
#shift up - чтобы что-то всплывало наверх(если внизу маленькое счило, можно его поднять наверх)
#shift down - чтобы что-то опустить (если вверхну большой элемент, можно его опустить вниз)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну и жаргон)) "чтобы что-то опустить")

left_index = 2*v+1 #это формула для нахождения идекса левого элемента
right_index = 2*v+2 #это для нахождения индекса правого элемента
index = 2*v+1 #в индекс записываем тоже что и в левый индекс, потому что в этих кучах слева всегда число более стоит
if right_index < len(heap) and heap[left_index] < heap[right_index]: #если правый индекс меньше конца кучи и индекс левого элемента меньше индекса правого элемена то...
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

heap[left_index] < heap[right_index] -> мы сравниваем значения элементов, индексы мы запоминаем)

else:
return 0, v

def get_max(heap): #функция python max() возвращает самый большой элемент в итерируемом объекте
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Только мы не используем встроенную функцию питона)

else:
res.append(add(int(data[-1]), heap)) #метод append вставляет в конец исходного списка значение аргумента
for value in res:
if type(value) == tuple:
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Только не дали объяснение, почему сравниваем с tuple)

shift_down(v-1, heap)
elif i > inda:
shift_up(v-1, heap)
return inda
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ну так прокомментируйте только, то, что добавили)

for i in range(num): #в цикле проверяем элементы, сортируем их от меньшего к большему
print(*heap) #выводим каждую этерацию
res.append(extract(heap))
res.reverse()
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Что можно использовать вместо reverse()?

res.reverse()
print(*res) #выводим конечный вид кучи
main()

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Свете 2 балла за 4 задачу из 4 модуля не надо? На контесте задача не добавлена, могу в общем-то не ставить...

main()


#в пятом модуле мы не стали две задачи доделывать, я бы честно бы их не сделала
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Поставлю Вам по дополнительному баллу за честность)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants