Physics.Math.Code
140K subscribers
5.15K photos
1.92K videos
5.78K files
4.32K links
VK: vk.com/physics_math
Чат инженеров: @math_code
Учебные фильмы: @maths_lib
Репетитор IT mentor: @mentor_it
YouTube: youtube.com/c/PhysicsMathCode

Обратная связь: @physicist_i
加入频道
🖥 Помните предыдущие два поста про примитивные callback-функции и фильтрующие функции? Может возникнуть вопрос, а можно ли, реализовать свой аналог reduce() ?

Давайте сразу напишем такой пример:
numbers = [1, 11, 12, 13, 18, 9, 8, 6]

from functools import reduce

func = lambda acc, cur : acc + cur

total = reduce(func, numbers, 0)
print('Встроенная reduce: ',total)

def _reduce(callback, collection, init = 0):
acc = init
for k in collection:
acc = callback(acc, k)
return acc

_total = _reduce(func, numbers)
print('Моя reduce: ',_total)


Теперь объясним параметры и работу конструкции:
result = reduce( function, iterable[, initializer] ) :
▫️function — функция, применяемая к элементам итерации. Она должна принимать два аргумента.
▫️iterable — итерируемый объект, элементы которого вы хотите уменьшить. Это может быть список, кортеж или любой другой итерируемый объект.
▫️initializer — (необязательно): начальное значение аккумулятора (накопителя). Оно используется в качестве первого аргумента при первом вызове функции, если оно предусмотрено.

⚠️ Обработка пустых итераций: Одной из распространенных ошибок при использовании функции reduce() является обработка пустых итераций. Передача пустой итерации в reduce() без инициализатора вызывает Ошибку типа поскольку нет начального значения для запуска процесса сокращения. Чтобы избежать этого, всегда указывайте инициализатор, когда итерируемый объект может быть пустым.

⚙️ Производительность:
▫️ Эффективность reduce() по сравнению с циклами: Функция reduce() может быть более эффективной, чем явные циклы, потому что она реализована на C, что может обеспечить преимущества в производительности. Однако это преимущество часто незначительно и зависит от сложности применяемой функции.
▫️Преимущества использования встроенных функций в производительности: Встроенные функции, такие как sum(), min(), и max() высоко оптимизированы с точки зрения производительности. Они реализованы на C и могут выполнять операции быстрее, чем эквивалентный код Python с использованием reduce().

🖥 Зачем разработчикам нужна функция reduce() ? Функция reduce() полезна при итеративной обработке данных, избегая явных циклов и делая код более читаемым и кратким. Некоторые распространенные варианты использования включают:
▫️ Суммирование чисел в списке: Быстрое суммирование всех элементов.
▫️ Умножение элементов итеративного элемента: Вычисление произведения элементов.
▫️ Объединение строк: Объединение нескольких строк в одну.
▫️ Нахождение максимального или минимального значения: Определение самого большого или самого маленького элемента в последовательности.

#python #разработка #программирование #IT #алгоритмы

💡 Репетитор IT mentor // @mentor_it
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40👨‍💻84🤨4🔥2👾2
📚 12 лучших книг по теме: Теория Графов

💾 Скачать книги

🪄 Теория графов — раздел дискретной математики, изучающий графы. В самом общем смысле граф — это множество точек (вершин, узлов), которые соединяются множеством линий (рёбер, дуг). Теория графов (то есть систем линий, соединяющих заданные точки) включена в учебные программы для начинающих математиков, поскольку:
▪️как и геометрия, обладает наглядностью;
▪️как и теория чисел, проста в объяснении и имеет сложные нерешённые задачи;
▪️не имеет громоздкого математического аппарата («комбинаторные методы нахождения нужного упорядочения объектов существенно отличаются от классических методов анализа поведения систем с помощью уравнений»);
▪️имеет выраженный прикладной характер.
#дискретная_математика #математика #алгоритмы #информатика #программирование #теория_графов #it #computer_science

📚 Подборка книг по теории графов [15 книг]

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41👍278🤩1🫡1
12 книг по теории графов.zip
130.1 MB
📚 12 лучших книг по теме: Теория Графов

📕 Графы и их применение [1965] Оре

📘 Теория графов для учителей и школьников [2017] Мельников
📗 Графы и их применение, Пособие для учителей [1979] Березина Л.Ю.
📒 Графы [2014] Гуровиц В.М., Ховрина В.В.
📔 Теория графов [2018] Омельченко А.В.
📓 Теория графов, Алгоритмический подход [1978] Кристофидес Н.
📙 Теория графов [2003] Харари Ф
📘 Введение в теорию графов [2019] Уилсон Р.Дж.
📕 Олимпиадная математика, Задачи по теории графов с решениями и указаниями [2023] Семендяева Н.Л., Федотов М.В.
📗 Дискретная математика: графы, матроиды, алгоритмы [2001] Асанов, Баранский, Расин

В этих книгах:
▪️ Основы теории графов и их приложение для внеклассной работы в математических кружках
▪️ Все основные разделы современной теории графов — деревья, циклы, связность в графах, паросочетания, раскраски графов, планарные графы. В конце каждого параграфа приводятся задачи, дополняющие изложенный в учебнике теоретический материал.
▪️ Разнообразные алгоритмы, связанные с нахождением структурных и числовых характеристик объектов из теории графов. В частности, подробно рассматриваются различные алгоритмы поиска решения в задаче коммивояжера.
▪️ Многочисленные примеры иллюстрируют работу конкретных алгоритмов. Приводятся оценки сложности соответствующих процедур.
▪️ Взаимосвязь между теорией графов и теоретической кибернетикой (особенно теорией автоматов, исследованием операций, теорией кодирования, теорией игр).
#дискретная_математика #математика #алгоритмы #информатика #программирование #теория_графов #it #computer_science

💡 Physics.Math.Code // @physics_lib
👍62❤‍🔥107🔥7🤩3
🖥 👨🏻‍💻 Товарищи-разработчики, давайте обсудим старт в IT. Расскажите в комментариях:

▪️С какой первой книги вы начали изучать программирование и Computer Science ? Понравилась ли вам эта книга или нет?

▪️ Какую книгу вы считаете лучшим вариантом для начала?

▪️ Самая сложная книга, связанная с программированием, с которой вы сталкивались?

▪️Книги VS Курсы VS Метод научного тыка, пока не скомпилируется?

▪️Условный Chat GPT — добро или зло для программиста?

📝 Обсуждаем вопросы здесь

#computer_science #разработка #IT #программирование #code #coding #алгоритмы

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍407🔥7👨‍💻2👏1
👨🏻‍💻 Подборка из полезных ссылок. ТОП 100+ англоязычных сайтов об IT

Несколько новостных порталов на en-языке, которые IT-направленность и интересны разработчикам, админам, тестировщикам, веб-дизайнерам и техническим инженерам.

Англоязычные (EN) аналоги хабра:
www.reddit.com
slashdot.org/
dzone.com/
stackoverflow.com/
www.codeproject.com/
gizmodo.com/
hackaday.com/
hashnode.com/
techhype.io/
www.anandtech.com/

lazyfoo.net — интересный сайт про OpenGL и SDL

news.ycombinator.com — удобно собранные новости из сферы IT

reddit.com/r/$SUBJECT, где $SUBJECT — вставляйте по желанию. Все самое интересное с других ресурсов там появляется в виде ссылок всегда, и очень оперативно

medium.com
Title: Medium – Read, write and share stories that matter

www.gamasutra.com
Title: Gamasutra — The Art & Business of Making Games

medium.freecodecamp.com
Title: freeCodeCamp

hackernoon.com
Title: Hacker Noon — how hackers start their afternoons

www.youtube.com
Title: Donald Knuth (Scientist) on YouTube

geekflare.com
Title: Geek Flare — Web Infrastructure, Web Security & Web Tools.

github.com
Title: The world's leading software development platform

likegeeks.com
Title: Linux, Tutorials, Pentesting, Python and IOS — Like Geeks

blogs.msdn.microsoft.com
Title: MSDN Blogs — Get the latest information, insights, announcements, and news from Microsoft experts and developers in the MSDN blogs.

about.gitlab.com
Title: Code, test, and deploy together with GitLab open source git repo management software | GitLab

fabiensanglard.net
Title: Fabien Sanglard's website: Deep magic explained. Fabien Sanglard's chronicles of software wizardry. Fabien Sanglard's non-blog.

www.pymnts.com
Title: Payments News & Mobile Payments Trends, Consumer Payments News, Financial Technology News | PYMNTS.com

uxdesign.cc
Title: User Experience, Usability, Product Design. Follow the UX Bear.

www.smashingmagazine.com
Title: Smashing Magazine — For Professional Web Designers and Developers

docs.microsoft.com
Title: docs.microsoft.com | Microsoft Docs

blog.wolfram.com
Title: Wolfram Blog: News and Ideas from Wolfram Research

facebook.github.io
Title: Facebook code

blog.cleancoder.com
Title: Clean Coder Blog

learnopengl.com
Title: Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

preshing.com
Title: Preshing on Programming — Jeff Preshing, Canadian computer programmer.

www.linux.com
Title: Linux.com | News for the open source professional

gamedevelopment.tutsplus.com
Title: How To Make and Design Computer Games by Envato Tuts+

bitsofco.de
Title: bitsofcode — Articles on Frontend Development. All articles are written by Ire Aderinokun, Frontend Developer and User Interface Designer.

eli.thegreenplace.net
Title: Eli Bendersky's website

dev.to
Title: dev.to() => The DEV Community

eng.uber.com
Title: Uber Engineering Blog

www.redblobgames.com
Title: Red Blob Games

gamedevelopment.tutsplus.com
Title: How To Make and Design Computer Games by Envato Tuts+

drawings.jvns.ca
Title: julia's drawings

m.signalvnoise.com
Title: Signal v. Noise — Strong opinions and shared thoughts on design, business, and tech. By the makers (and friends) of Basecamp. Since 1999.

martinfowler.com
Title: Martin Fowler — software delivery and consulting company

blog.revolutionanalytics.com
Title: Revolutions — Daily news about using open source R for big data analysis, predictive modeling, data science, and visualization since 2008

slack.engineering
Title: Several People Are Coding — The Slack Engineering Blog

www.percona.com
Title: Percona – The Database Performance Experts

blog.intercom.com
Title: Inside Intercom — Design, Customer Success, & Startup Blog

peteris.rocks
Title: Pēteris Ņikiforovs | peteris.rocks — Software Developer

jpauli.github.io
Title: Welcome to Julien Pauli's page

dzone.com
Title: Programming, Web Development, and DevOps news

#полезные_ссылки #программирование #development #code #IT #science #наука

💡 Physics.Math.Code // @physics_lib
👍387👨‍💻7🔥5😢1
🖥 Какая самая страшная структура данных?

🖥 Структуры данных в программировании — это способ организации и хранения данных таким образом, чтобы их можно было эффективно использовать и обрабатывать. Они играют ключевую роль в разработке алгоритмов и оптимизации производительности программ.

Некоторые структуры данных в программировании:

◾️ Списки. Подходят для хранения и обработки упорядоченных данных. Полезны в управлении задачами, лентах соцсетей и корзинах интернет-магазинов.

◾️ Массивы. Упорядоченная коллекция элементов фиксированного размера. Подходят для ситуаций, где размер коллекции известен или редко меняется.

◾️ Стеки. Следуют принципу «последним пришёл — первым вышел». Используются для реализации операций отмены/повтора в текстовых редакторах или ведения истории просмотров в веб-браузерах.

◾️ Очереди. Работают по принципу «первым пришёл — первым вышел». Подходят для управления заданиями печати, отправки действий пользователя в играх на сервер или обработки сообщений в чат-приложениях.

◾️ Деревья. Организуют данные иерархически. Полезны для представления данных с естественными иерархиями или связями.

◾️ Графы. Состоят из узлов (вершин) и рёбер, соединяющих эти узлы. Используются для моделирования сетей, таких как социальные сети, транспортные сети и компьютерные сети.

◾️ Хэш-таблицы. Позволяют эффективно искать, вставлять и удалять данные. Используют хэш-функцию для сопоставления ключей с соответствующими местами хранения и обеспечивают доступ к сохранённым значениям за постоянное время.
#программирование #разработка #структуры_данных #алгоритмы #IT #computer_science

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9322👨‍💻9🙈5🌚43🔥2👻2❤‍🔥1
Media is too big
VIEW IN TELEGRAM
🟢 Чай в виде шара в невесомости на МКС 🛰

В невесомости жидкость принимает форму шара. Связано это с действием сил поверхностного натяжения. У шара минимальное отношение площади поверхности к объему. Поэтому поверхностное натяжение стягивает воду к этой форме. Любая другая фигура обладает большей поверхностью, а природа стремится к уменьшению силы затрачиваемой на поверхностное натяжение, к уменьшению потенциальной энергии. Обычно сила тяжести мешает жидкости принимать эту форму, и жидкость либо растекается тонким слоем, если разлита без сосуда, либо же принимает форму сосуда, если налита в него. #физика #гидродинамика #physics #опыты #эксперименты #космос #IT #science

🔴 Вращение шарика воды

🔥 Огонь и горение в космосе 💫

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥68🔥47👍42🫡87🤔4🤯3😍2
⌨️ Программирование циклично, дамы и господа? Ваше мнение в комментариях...

👨🏻‍💻 Комментарий одного из наших подписчиков к посту с рассуждением о развитии IT:

... скорее всего тут имелось ввиду то не то чтобы сам код как таковой* а программное обеспечение в целом растёт по сложности, что провоцирует необходимость аппаратной развиваться чтобы адекватно выполнять этот код, и полученные новые вычислительные мощности в свою очередь запускают новую итерацию увеличения фичастости программ, а те в свою очередь опять подгоняют к развитию CPU.

* — не смотря на общераспространенное мнение что в целом программирование сейчас стало топорным: программисты стараются не писать реализацию сами, а прежде всего искать готовое, применять сверхвысокоуровневые и сверхабстрагированные конструкции (тратящие процессорное время) вместо того чтобы написать на Си, а сейчас так еще (что на самом деле возможно плохо для индустрии) - применяют для написания ИИ. И даже есть шутка что "раньше, когда компьютеры были большими, а программисты умными" - вот не смотря на все это и сам код в целом становится лучше, хорошеет, в том плане что тенденция в коде такова что он стремится быть максимально независящим и от аппаратуры и процессоров и от размера данных, а весь необходимый аппаратно-зависимый код стараются максимально минимизировать и изолировать в отельных маленьких модулях.

Яркий пример первые DOS игры которые от аппаратуры зависели на столько что стали не играбельны когда процессоры стали быстрее, тк "физика" в играх зависела не от времени а от частоты процессора.

Я описал более менее хороший сценарий, когда одно другое подгоняет и мы уже имеем возможность вооружившись необходимым минимумом абстракций писать код независящий от оборудования. Но дальше этим начинают злоупотреблять особенно читая мантры "время программиста дороже всего", "интересы бизнеса дороже всего", и в итоге получаются такие вещи как Electron, как Python, как приложения в браузере - печальная сторона современного IT, тот самый плохой код, тормозящий процессоры.


#IT #алгоритмы #computer_science #программирование #наука

💡 Physics.Math.Code // @physics_lib
💯48👍23❤‍🔥146🔥2🤓2🗿2🤷‍♂1
👨🏻‍💻 Интересная история из нашего чата ( @math_code ), которая может послужить темой для обсуждения нескольких важных вопросов.

▪️ Нужно ли переживать по поводу возраста, в котором вы начинаете изучать Computer Science и программирование в частности? Или силы и знания приходят во время процесса, во время решения и умственной активности, и это не зависит от возраста?

▪️ Нужно ли впадать в депрессию, если что-то долго не получается? Сравнивать себя с другими? Если все вокруг лучше, то неужели нужно бросать это дело? Или же наоборот нужно стремиться быть именно в том коллективе, где ты самый слабый (временно), чтобы был рост?

▪️ Что делать, если не получается решить задачу? Какой алгоритм можно предложить, чтобы научиться вытаскивать себя из таких ситуаций?

▪️ Если вы опытный разработчик, дайте советы начинающим. Именно те советы, которых вам так сильно не хватало на старте вашего обучения. Расскажите про свой опыт, свою историю успеха и неудач. Расскажи про ваш возраст.

📚 Подборка книг по дискретной математике, информатике, алгоритмам

📚 Искусство программирования / The Art of Computer Programming

📚 3 книги по программированию [Никлаус Вирт]

🖥 Какая самая страшная структура данных?

#IT #алгоритмы #computer_science #программирование #наука

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
36👍25🔥8👻32❤‍🔥1🙏1
👨🏻‍💻 Алгоритмическая задачка для наших программистов. Попробуйте самостоятельно написать алгоритм для расчета данного выражения.

💡 Как можно написать алгоритм для общего случая, когда число под самым внутренним корнем равно n ?

✏️ Обсуждаем задачу здесь в комментариях 🔎

#программирование #IT #разработка #computer_science #алгоритмы #задачи #code #разбор_задач #programming #coding

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2114🔥9🤔3🤯2🤗21🌚1
🖥 👨🏻‍💻 Товарищи-разработчики, давайте обсудим старт в IT. Расскажите в комментариях:

▪️С какой первой книги вы начали изучать программирование и Computer Science ? Понравилась ли вам эта книга или нет?

▪️ Какую книгу вы считаете лучшим вариантом для начала?

▪️ Самая сложная книга, связанная с программированием, с которой вы сталкивались?

▪️Книги VS Курсы VS Метод научного тыка, пока не скомпилируется?

▪️Условный Chat GPT — добро или зло для программиста?

🖥 Обсуждаем здесь в комментариях

📝 Прошлое обсуждение этой темы

#computer_science #разработка #IT #программирование #code #coding #алгоритмы

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
22👍5🔥2👨‍💻2🤯1
🖥 Программируем на Python, 3-е издание (+CD) [2014] Майкл Доусон [RU + EN]

💾 Скачать RU + EN

💳 Купить RU книгу за 2025

Промокод на - 35 % : MATH CODE

Майкл Доусон — автор книг по программированию, а также преподаватель, обучающий созданию компьютерных игр. Доусон получил степень бакалавра компьютерных наук в Университете Южного Калифорнии. Работал как программистом, так и дизайнером и продюсером компьютерных игр. Разрабатывал и читал курсы по программированию игр на факультете UCLA Extension в Калифорнийском университете Лос-Анджелеса, а также в Академии цифровых и медиатехнологий (DMA) и в Кинематографической школе Лос-Анджелеса.

▪️ «Программируем на Python». Пособие для начинающих изучать Python, учит фундаментальным принципам программирования на примере создания простых игр.

▪️ «Изучаем C++ через программирование игр». Помогает освоить разработку игр с самых азов, каждая глава описывает самостоятельный игровой проект.
#python #программирование #разработка #IT

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1211🔥6
Программируем_на_Python_Майкл_Доусон_RU+EN.zip
75.9 MB
🖥 Программируем на Python, 3-е издание (+CD) [2014] Майкл Доусон [RU + EN]

Эта книга - идеальное пособие для начинающих изучать Python. Руководство, написанное опытным разработчиком и преподавателем, научит фундаментальным принципам программирования на примере создания простых игр. Вы приобретете необходимые навыки для разработки приложений на Python и узнаете, как их применять в реальной практике.

Для лучшего усвоения материала в книге приведено множество примеров программного кода. В конце каждой главы вы найдете проект полноценной игры, иллюстрирующий ключевые идеи изложенной темы, а также краткое резюме пройденного материала и задачи для самопроверки. Прочитав эту книгу, вы всесторонне ознакомитесь с языком Python, усвоите базовые принципы программирования и будете готовы перенести их на почву других языков, за изучение которых возьметесь. Научитесь программировать на Python играючи.

Прилагаемый к книге диск содержит исходные коды и дополнения с сайта поддержки. В папке py3e_source содержится исходный код всех законченных программ, которые представлены в этой книге, и вспомогательные файлы к ним. А папка py3e_software включает в себя файлы всех программных пакетов, упомянутых в книге, (установочный файл Python 3.1.1 для Windows, мультимедийный пакет pygame версии 1.9.1, совместимый с Python 3.1.х под Windows и игровой движок livewires).

Python programming for the absolute beginner: Michael Dawson
#python #программирование #разработка #IT

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
21🔥9👍8👨‍💻1🙈1