Как стать автором
Обновить

Все потоки

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Дерево без рекурсии

C++ *Алгоритмы *C *

В этой статье я покажу двоичное дерево без рекурсии. Я думаю что оно в некоторых случаях будет более удобно, нежели дерево с рекурсией.

Итак, начнем. Допустим есть задачка, получить много данных и вывести совпадения. Я нашел одно решение в интернете и понял как это сделать просто. Мне понравилось это решение, но мы знаем что рекурсия заполняет стек и если будет большая вложенность, то будет много выходов из функций. Я захотел попробовать сделать такой алгоритм, который не нуждается в рекурсии. Я буду писать на C, потому что это такой язык, который могут понять все.

Первым делом определим структуру.

Читать далее
Рейтинг 0
Просмотры 351
Комментарии 3

Новости

Как охотники на медведя с рогатиной объяснили, что такое квантовый компьютер

Научно-популярное

Охота на медведя с рогатиной старое "развлечение". Идея простая, делается длинная, прочная рогатина из дерева, охотник дразнит медведя, упирает рогатину прочно в землю, камень или пень и направляет на зверя. Зверь натыкается на рогатину, но вместо того, чтобы отойти, боль провоцирует его на ещё большую агрессию, в итоге медведь сам себя закалывает рогатиной.

Как охотники на медведя с рогатиной объясняют простым языком квантовые компьютеры и почему всего один хитрый охотник может полностью уничтожить все квантовые вычисления.

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Просмотры 1.1K
Комментарии 8

Компактный сгусток знания. Часть II — история систематики животных с античности до начала XIX века

Читальный зал Научно-популярное Биология

Систематика животных почти так же стара, как и само человечество. Представители самых примитивных племён превосходно знают природу и имеют особые названия для местной флоры и фауны. В языке одного из папуасских племён, обитающих в горах Новой Гвинеи, обнаружено 137 видовых названий, соответствующих 138 видам птиц. Таким образом, лишь в одном случае местные жители обозначают два вида одним и тем же названием. Нередко номенклатура таких племён носит ярко выраженный биноминальный характер, то есть название животного или растения включает в себя два названия: родовое и видовое. Как видно из рассказанной истории, человечество с самого раннего этапа своей истории испытывало тягу к организации окружающего мира. Со временем знания о животных расширялись, потребовалось составить такую классификацию, которая позволила бы не только выстроить всех животных по уровням их организации и родственным связям, но и помогала бы определять видовую принадлежность животных. Над этой задачей ломали умы великие учёные прошлого. Попробуем и мы пройти шаг за шагом тот путь в науке, который привёл учёных к величественному зданию современной таксономии.

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 224
Комментарии 1

Костыли и колеса (не от велосипеда) — как я структурировала прием таблеток

Визуализация данных Инфографика DIY или Сделай сам Здоровье
Из песочницы

Так уж получилось, что в последнее время я много и долго болею 🤒

Мой стандартный способ лечения "если простуду лечить — она пройдет за 7 дней, а если не лечить — за неделю" перестал работать (ох уж эта старость).

Пришлось обращаться к врачу и прибегать к особенному лечению.

Под особенным лечением — я имею ввиду гигантский список из таблеток, уколов и других препаратов со всякими особенностями.

Запомнить это все невозможно - поэтому пришлось визуализировать с помощью костылей и велосипедов.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 551
Комментарии 2

Neovim: модульность для разработчика

Open source *VIM *
Из песочницы

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

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Просмотры 800
Комментарии 1

Оптимистическая блокировка коллекций Агрегата при использовании Doctrine

PHP *Symfony *Doctrine ORM *
Из песочницы

Проектирование своего проекта по DDD последнее время становится всё более популярным. Сейчас не будем углубляться в данную методологию с её принципами, плюсами и минусами. Я хочу рассказать с какой проблемой столкнулась наша команда при использовании данной методологии на PHP, а именно внедрении Data Mapper’а Doctrine ORM.

Чтобы более понятно донести нашу проблему я буду использовать известный всем Агрегат Заказа (Order) и позиции заказа (OrderLine), которые являются коллекциями Dortrine ORM. Так же сильно упростим данный агрегат, чтобы фокусироваться на самой проблеме. И так начинаем!

Для начала мы создадим наш агрегат заказа.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 339
Комментарии 0

Как заменить себя скриптом. Часть 1. Режимы коротких замыканий в электросети с применением OpenCL

Delphi *Lisp *Инженерные системы Энергия и элементы питания


Длительная однообразная работа неизбежно вызывает приступы автоматизации. На этот раз предпримем попытку автоматизировать настройку устройств защиты электросетей напряжением 6 — 35 кВ.

Самозародившаяся задача требует расчёта коротких замыканий, а поскольку расчётов таких предвидится немало, выполнять их будем с помощью OpenCL, для должной утилизации имеющихся вычислительных мощностей.
Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 827
Комментарии 1

Кажется, Winamp возвращается… Снова и не совсем тот, что был

Блог компании Selectel История IT Софт Звук

Медиаплеер WinAMP является едва ли не сакральным проигрывателем музыки (а позже и видео) для миллионов пользователей. И действительно, он отличается минимализмом, широким спектром функций, потребляет мало ресурсов, благодаря чему хорошо и без лагов работает практически на любом ПК или ноутбуке. А еще там была (и есть) масса плагинов для визуализации музыки, причем плагинов очень хороших.

На днях появилась информация о том, что WinAMP вроде как возрождается, получив новый логотип и обновив сайт. Работает над новинкой владелец прав на WinAMP — компания Radionomy Group, которая объявила о поиске разработчиков. Плюс уже можно протестировать новую версию медиаплеера. В свете этих событий нелишним будет вспомнить историю легендарной программы, плюс, если вы уже опробовали новую версию, рассказать о своих впечатлениях. Ну и поразмыслить о перспективах плеера тоже стоит.
Читать дальше →
Всего голосов 16: ↑13 и ↓3 +10
Просмотры 6.6K
Комментарии 38

«Чуть ближе к Hi-Fi»: пара примечательных «вертушек» для домашней системы от ELAC и Technics

Блог компании Аудиомания Периферия

Продолжаем серию компактных обзоров проигрывателей винила [12345678910]. На этот раз мы смотрим на модели, стоимость которых превышает 125 тысяч рублей. Это — ELAC Miracord 60 и Technics SL-1500C.

Читать далее
Всего голосов 6: ↑4 и ↓2 +2
Просмотры 1K
Комментарии 2

Асинхронному django быть. Эксклюзивно для Хабра

Разработка веб-сайтов *Python *Django *

Здравствуйте, читатели хаба про django. Эта статья о фреймворке для перфекционистов с дедлайнами, и о том, можно ли добавить в него асинхронность. Некоторые в курсе, что со стороны Django Foundation также есть некоторые усилия в этом направлении. Например, есть [DEP-09](https://github.com/django/deps/blob/main/accepted/0009-async.rst), который примерно очерчивает границы будущих изменений. Причём, некоторые преобразования, на взгляд авторов, слишком объёмные, и про них явно говорится, что они выходят за рамки DEP. Такой, например, является задача сделать django orm асинхронной. Учитывая, что, по любым меркам, django orm - это больше 50% всего django, а на мой взгляд - его главная часть, DEP-09 мне кажется какими-то непонятными полумерами.

У меня есть альтернативное предложение по добавлению асинхронности, в какой-то степени, более радикальное. Такое, для которого не нужен DEP. В общем, я хочу сделать новую версию, которая заменит собой django. Не то чтобы это была самоцель: главное, я хочу выпустить асинхронную версию django, но синхронная будет тоже поддерживаться, так что традиционный django вряд ли будет очень нужен. К слову, если даже выбирать между только синхронной и только асинхронной версией, то только асинхронная имеет явное преимущество, на мой взгляд. Кстати, я хочу портировать только django orm, а не весь django. То есть, именно ту часть, которая выходит за рамки DEP-09. Итак, встречайте.

Читать далее
Всего голосов 10: ↑9 и ↓1 +8
Просмотры 2.4K
Комментарии 7

Senior Java Developer — как проходят собеседования

Java *Карьера в IT-индустрии
Из песочницы

Я прошел за свою деятельность больше 100 собеседований на позиции Senior Java Developer, и скажу я вам, что накопилось много интересных моментов, которыми и хочется поделиться.

Это не инструкция для прохождения собеседований, со списком вопросов.

Читать далее
Всего голосов 29: ↑18 и ↓11 +7
Просмотры 9.7K
Комментарии 46

Except в Linq

.NET *C# *

Думаю, что каждый программист рано или поздно сталкивается с кодом, который работает «не так, как ты от него ожидаешь». Именно это и подтолкнуло меня к написанию следующей статьи, в которой я пытаюсь понять, почему Except в Linq работает так, как написан, а не так, как я хочу.

Читать далее
Всего голосов 14: ↑2 и ↓12 -10
Просмотры 2.2K
Комментарии 11

Возможность автоматизации рутинных задач с помощью SCSM + SCO

Системное администрирование *Service Desk *

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 833
Комментарии 0

Зловещая долина: terra incognita, в которой расставлены нейронные сети

Машинное обучение *Компьютерная анимация *Дизайн Робототехника Научно-популярное

Не припомню, чтобы в детстве я боялся клоунов. За все детство я побывал в цирке-шапито, может быть, два раза. Зато я определенно испытывал отвращение и настороженную злость к деду Морозу,  поскольку примерно в семь лет прочел сказку Евгения Шварца «Два брата», а также был впечатлен завязкой фильма «Сказка странствий» (примерно 4.30 – 8.00). Много позже я стал понимать, что ощущение жуткой фальшивости деда Мороза было настоящим проявлением эффекта «зловещей долины». Этот эффект, получивший широкую известность в трактовке Масахиро Мори (род. 1927) в 1970 году, в дальнейшем стал предметом серьезных исследований и моделирования. В сегодняшней статье будет рассмотрено, как был обнаружен и как изучался этот феномен. Постараемся поговорить о нем с точки зрения психологии, распознавания образов и соотношения гармонии и уродства.

Статья написана в соавторстве с Екатериной Черских @MarkOcean, аспиранткой Санкт-Петербургского ФИЦ РАН.

Читать далее
Всего голосов 26: ↑25 и ↓1 +24
Просмотры 4.5K
Комментарии 10

Жизнь как принцип существования (нашей) вселенной

Читальный зал Научно-популярное

Земля

Начать, пожалуй, следует с того, что жизнь, несомненно, возникла. То есть, сейчас жизнь существует, по меньшей мере, на планете Земля. Это можно конечно отрицать, но трудно. Люди смеяться будут. А когда-то, примерно 13.7 млрд лет назад жизни не было нигде. Если быть более точным и занудным, не было этого самого «где» (где могла бы быть жизнь), более того не было этого самого «тогда», когда жизнь могла бы где-то быть. Не было вообще ничего, ни времени, ни пространства, ни материи. Привычно хочется сказать, что мы имеем в виду состояние «до большого взрыва», но и это абсолютно некорректно. Когда у тебя нет времени, нет никакого «до» и нет никакого состояния. А вот «после» в какой-то момент возникает. А именно, возникает в момент того самого большого взрыва. В этот момент возникает вообще всё, пространство, время, материя…

Ну а жизнь? Когда возникает жизнь? И где возникает жизнь? И что такое, вообще, жизнь? Давайте разбираться.

Читать далее
Всего голосов 23: ↑6 и ↓17 -11
Просмотры 9.1K
Комментарии 41

Базовые концепции аллокаторов

C++ *
Из песочницы
Перевод

Находясь в поисках какой-то агрегированной информации о стандартных приёмах, используемых при проектировании кастомных аллокаторов, я обнаружил, что существует достаточное количество статей о том, как аллокаторы работают в C++, каких-то базовых вариантах или наоборот очень специфических версиях, но ничего достаточно общего. Попался только замечательный доклад замечательного Андрея Александреску про неправильную архитектуру std::allocator и собственно базовые концепции построения своего нового самого крутого в мире аллокатора. Эта статья является довольно вольным переводом второй части его выступления с моими небольшими дополнениями. Конечно же, категорически рекомендую посмотреть оригинальный доклад, но, если вы любитель текстовых версий, прошу под кат.

Читать далее
Всего голосов 30: ↑30 и ↓0 +30
Просмотры 3K
Комментарии 1

Военные хитрости средних веков: диверсии с помощью «кошек-ракет»

Блог компании RUVDS.com Читальный зал Научно-популярное
Перевод
Кошка-ракета, XVII век (Источник: Wikimedia Commons/Folger Shakespeare Library, V.b.311, f. 129r)

«В войне все средства хороши… лишь бы вели к победе», — Так рассуждали когда-то и рассуждают до сих пор многие главнокомандующие. Хотя эта статья не будет поднимать вопрос оправданности или ошибочности подобной концепции, а лишь продемонстрирует частные случаи ее проявления в древности, в средние века и даже недалеком прошлом.
Читать дальше →
Всего голосов 32: ↑27 и ↓5 +22
Просмотры 7.8K
Комментарии 30

Regex for lazy developers

PHP *Python *JavaScript *.NET *Регулярные выражения *
Tutorial

Регулярные выражения для ленивых людей?!

Regex – это модуль вашего языка программирования который позволяет работать со сложными и большими строками просто! Давайте разбираться в них вместе. Приятного прочтения ;)

Читать далее
Всего голосов 17: ↑11 и ↓6 +5
Просмотры 5.3K
Комментарии 23

Сравнение микрополосковой и копланарной линий (для СВЧ плат)

Разработка систем связи *Производство и разработка электроники *Электроника для начинающих
Перевод

От автора перевода:

Большая часть электроники в наши дни делается на основе печатных плат. СВЧ устройства требуют как специальных диэлектрических подложек (про это я писала тут и тут), так и других типов "дорожек". Чаще всего применяются микрополосковые и копланарные печатные линии.

Автор статьи - Джон Кунрад, технический маркетинг-менеджер компании Роджерс (Rogers Corp). Роджерс - крупнейший производитель диэлектрических подложек и других материалов.

Оригинал статьи можно найти тут. А вот тут и тут можно посмотреть видео этого автора на оф.канале компании на YouTube.

Оригинальная статья представлена без картинок, однако есть приписка "основано на презентации, показанной на IEEE 2015 International Microwave Symposium". Я нашла эту презентацию и дополнила слайдами перевод.

Читать перевод
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 1.7K
Комментарии 7

Разработчик игр на Unity: как начать работать с востребованным игровым движком

Блог компании Нетология Разработка игр *Unity *Unreal Engine *Дизайн игр *

По данным сайта gamedatacrunch.com, в 2021 году 49,48% всех платных игр, вышедших в Steam, были сделаны на Unity. А в сфере мобильных игр этот показатель уже давно превысил 50%. В этом материале мы расскажем, почему движок стал настолько популярным, и объясним, почему начинающие разработчики и небольшие инди-команды предпочитают использовать Unity. 

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Просмотры 3.6K
Комментарии 9