|
0 / 0 / 0
Регистрация: 12.02.2021
Сообщений: 38
|
||||||
Функция для словаря, которая возвращает наибольший ключ - int13.03.2021, 12:59. Показов 8066. Ответов 34
Метки нет (Все метки)
Здравствуйте, я только начинаю изучать Python и столкнулся с вот такой сложно для меня задачей:
Написать функцию которая в качестве аргумента принимает словарь, в котором в качестве ключей — числа int, а в качестве значений — либо словарь, с такой же структурой, либо None. Функция должна вернуть максимально большое число находящееся в этой структуре на произвольной глубине. Напишите два решения этой задачи - одно с использованием рекурсии, другое - без использования рекурсии я написал, но это какая то бессмыслица
0
|
||||||
| 13.03.2021, 12:59 | |
|
Ответы с готовыми решениями:
34
Написать функцию int gcd(int x, int y), которая ищет наибольший общий делитель для чисел x и y Функция gcd, которая возвращает наибольший общий делитель двух целых чисел
|
| 13.03.2021, 22:42 | ||
|
P.S. Стек это тоже очередь, но которая работает по принципу, "последний пришел, первый ушел".
1
|
||
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|||||||
| 14.03.2021, 07:21 | |||||||
|
Что-то вроде:
0
|
|||||||
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
|||
| 14.03.2021, 08:00 | |||
|
"в котором в качестве ключей — числа int, а в качестве значений — либо словарь, с такой же структурой, либо None." Словарь с такой же структурой без указания крайнего значения. В моем случае - крайнее значение строка.
1
|
|||
| 14.03.2021, 11:45 | ||
|
Не по теме:
Но замечу, что вести дискуссию можно только если определения понятий обоих сторон совпадают. В противном случае это не дискуссия, а базар. В моем понятии очередь это упорядоченная последовательность, в которой определено кто участвует (в чем либо) первый и кто стоит за кем. В очереди по умолчанию, тот кто стоит на первой позиции (первый пришел) тот и используется первым (первым ушел). В очереди в виде стека кто стоит последним (последний пришел) тот первым используется (первый ушел). При этом соблюдается последовательность, кто за кем стоит. https://ru.wikipedia.org/wiki/... 0%B4%D1%8C "Очередь — определённый порядок в следовании или в движении чего-либо или кого-либо. " https://ru.wikipedia.org/wiki/... 0%B5%D0%BA Для Вас очередь, это более узкое понятие, где кроме упорядочения, так же используется принцип "первый пришел, первый ушел". Для меня очередь не принимает во внимание, кто первым пришел. Важно кто в какой последовательности уходит. Например существует очередь поступления патронов в затвор автомата из магазина. Там патрон который был вставлен последним в магазин, используется первым. То есть действует принцип стека. При этом патроны в магазине используются в порядке очереди. В общем Вы можете считать стек не очередью, а я считаю очередью, так как объекты из стека используются в строгой очередности. Так как наши определения очереди не совпадают, то вести дальнейшую дискуссию не имеет смысла. Каждый остается при своем мнении. Удачи.:)
0
|
||
|
Status 418
|
||||||
| 14.03.2021, 11:54 | ||||||
|
значит я правильно решил?! а то по примерам что то не проходило и удалил.
0
|
||||||
| 14.03.2021, 11:56 | |||||
|
0
|
|||||
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
|
| 14.03.2021, 13:40 | |
|
0
|
|
| 14.03.2021, 23:00 | ||
|
Но если рассматривать стек рекурсии в питоне, то заполнение стека при рекурсии и забор элементов из стека разнесены по времени. И поэтому элементы из стека возвращаются поочередно в соответствии с их очередью в стеке но в обратном порядке в отличие от заполнения. Отсюда можно говорить о стеке при рекурсии питона как об очереди. Если бы эта очередь нарушалась, то рекурсия не работала бы.
1
|
||
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
|||
| 16.03.2021, 19:01 | |||
|
Думаю, оригинальный текст физико-математической монографии признанной в 1999 году одной из лучших монографий мира будет более авторитетным, чем таблицы памяти моей Стеки и очереди автор называет линейными списками, в которых операции вставки, удаления и доступа к значениям чаще всего выполняются в первом или последнем узле.“““и так далее если Вам интересно можете прочитать главу 2 Том 1... Важен или нет, данный вопрос? Решать Вам, Платон говорил, что ошибки начинаются с неправильных понятий, Аристотель, что с неправильных суждений. Искусство программирования это еще и правильная структуризация собственных мыслей в процессе выполнения поставленной задачи. Так как мой возраст не позволяет идти методом индукции в данной предметной области, развитие современных информационных систем получило свое начало еще с середины прошлого века. В своем размышлении на языке Python могу идти только от общего к частному. «Реальная» реализация стека и очереди получили свою истинную суть только на первых этапах развития компьютерных и других логико-математических систем и моделей. В настоящее время мы пользуемся в основном абстрагированными типами данных или структурами данных с дополнительным слоем абстракции над другой абстракцией. На данном этапе развития и в дальнейшей работе, скорее всего, что бы мы не называли стеком или очередью, все определения или будут верны в общем понимании смысла этого слова или не верны в контексте выполняемой задачи. Не много переформулирую представленную цитату из книги: «Программируйте не думайте ...»
1
|
|||
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 16.03.2021, 20:02 | |
|
Не по теме: AlexMarkov, несколько раз перечитал ваш пост - не понял смысла сего опуса, но интересно. По теме: есть такая алгоритмическая задача, как реализовать очередь на 2 стеках, что push(value) и pop() работали в среднем за O(1). Реализацию можно глянуть тут. Если бы стек был бы очередью, то какой смысл реализовывать очередь на очереди? Где логика?P. S. Стек и очередь - совершенно разные структуры данных. К ним неприменимо отношение is-a. Да, одну из них можно реализовать на основе другой, но не более того./upd Не по теме: Понимаю еще назвать дек очередью (двусторонней), но блин стек называть очередью - это просто кощунство.
1
|
|
| 17.03.2021, 00:18 | |
|
Не по теме: Вы так и не поняли, что процесс может менять свою организацию (алгоритм) во временном интервале. При рекурсии в питоне заполнение стека ничем не отличается от заполнения обычной очереди. И первый элемент у стека будет первым элементом у обычной очереди. Однако в отличие от обычной очереди при извлечении элементов алгоритм у стека меняется и он превращается в очередь первым элементом которой становится последний пришедший элемент. И освобождается стек в рекурсии у питона строго по очереди. Если бы извлечение из стека было с нарушением очередности, то рекурсия приводила бы к ошибочному результату. А то о чем вы говорите, это использование стека в процессах, где чередуются поступления в стек и извлечения из стека. В таком стеке не существует очереди. Хотя если применить дифференциал, то в каждый момент времени (во временной точке) существуют две относящиеся к этой временной точке очереди, которые в следующий момент времени могут изменится или нет. Это аналогично прямой на плоскости. Прямая линия имеет постоянный угол наклона к оси. Кривая непрерывная линия имеет также угол наклона в каждой точке, но этот угол постоянно меняется и вычисляется в каждой точке производной. Однако если мы возьмем ломанную кривую, состоящую из двух прямолинейных отрезков, то получим два участка, у которых будут разные углы наклона, но каждый из двух кусков этой ломанной является прямым отрезком. Стек в рекурсии питона ведет себя аналогично, он сохраняет структуру одной очереди при заполнении и структуру другой очереди при извлечении. Этим такой стек отличается от стека хаотично получающего элементы и хаотично их извлекая. Там можно говорить только о хаотично возникающих очередях привязанных к конкретным моментам времени.
0
|
|
| 17.03.2021, 10:02 | |
|
Не по теме: Viktorrus, прочтите, пожалуйста, курс по алгоритмам, например, хоть "Грокаем алгоритмы" Бхаргавы. Очень больно читать ваши умозаключения. Просто есть общепризнанные определения и понятия. Если каждый будет говорить на своем языке: получится как с Вавилонской башней...
0
|
|
| 17.03.2021, 12:42 | ||
|
Не по теме:
Тогда и поговорим.:) Всем другим, кто это читает, хочу предупредить, Если я не буду больше отвечать, это не значит что я признаю , что я неправ, а просто считаю, что пытаться что то объяснить, когда тебя не понимают, теряет смысл. А объяснять работу с питоном , тем кому мое мнение интересно, я буду продолжать. Благо у меня есть опыт преподавания в школе математики и в институте информатики.
0
|
||
|
99 / 86 / 20
Регистрация: 10.09.2019
Сообщений: 708
|
|||||
| 17.03.2021, 20:13 | |||||
|
асимптотиках, разъясняется, что же все таки такое О большое, наихудшие, наилучшие и средние случаи: Хайнеман, Джордж, Пояяис, Гэри, Сеяков, Стэнли.Алгоритмы. Справочник с примерами на С, C++, Java и Python. Ха, припомнилась одна фраза приписываемая Гете: Математики как французы всё, что вы им говорите, они переводят на свой язык,и это тотчас же становится чем-то совершенно иным. На самом деле, каждый математик другому математику точно такой же француз. А вот мысль заголовка "Не по теме" мне не ясна...все по теме, решение любой задачи требует соответствующих умозаключений.
0
|
|||||
| 17.03.2021, 20:25 | ||
|
Не по теме:
0
|
||
| 17.03.2021, 20:25 | |
|
Написать функцию которая возвращает значение по ключу, если ключа нет, то создает ключ со значением 3 и возвращает его
Разработать функцию, которая для заданных натуральных чисел N и N возвращает их наибольший общий делитель Разработать функцию, которая для заданного натурального числа N и M возвращает их наибольший общий делитель. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|