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

Комментарии 38

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

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

Идея была в показать какие структуры стоят за простыми строчками кода.

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

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

Проблем как таковых не возникает, программировать можно и не сильно заморачиваясь стеки ты делаешь или очередь


Как это тогда понимать?

Идея была в показать какие структуры стоят за простыми строчками кода.


Вы не привели ни одной строчки кода, чтобы это показать.

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


Действительно, тут не просто перевод. Тут просто перечисление и ни одного ответа на вопрос «Зачем это нужно знать», «В чем разница, кроме внешней», «Где и что используется и почему»
Как это тогда понимать?


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

Вы не привели ни одной строчки кода, чтобы это показать.

Извольте
$arOne = array('a','b');


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

А какая связь между типизацией и структурами данных? Когда я последний раз смотрел на динамически-типизированный Питон, там были и массивы, и списки, и множества, и словари.

В первую очередь спасибо за статью, думаю все же она вполне может быть полезна и труд не напрасен. Но насчет вашей фразы

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


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

На счет больших компаний, это не фетиш, просто бывают случаи когда приходят кодеры а их спрашивают технологии, а не кодинг, пример не в тему, но из последнего, от нас уходил пхп кодер, писал нормально, пошел в авито а там спросили «чем отличается https2 от http», он и ушел, хотя вроде простая для веб разработчика вещь. Но в кодинге не нужна и он с этим отличием не сталкивался сам.
Перевод ради перевода…
 <rhetoric> Зачем? </rhetoric>
Отчего же так критично, во-первых если вы сходите на оригинал вы увидите, что он меньше, я не зря писал источники другие.
Во-вторых, чтение ради чтения получается по вашему, я специально указал что это азы, просто в стримах на ютубе не рассказывают, а это есть )

Про префиксные деревья мне самому понравилось, я так сильно в них не вникал.

Я хотел напомнить за кодингом есть еще пласт знаний. Да про них если ты кодишь под веб можно и не думать вообще, а можно и пробежаться для ликбеза
Критично, потому что мне была интересна эта тема (как раз потому что я самоучка), в первых абзацах я решил, что тут действительно что-то интересное. И впоследствии узнав, что статья — пустышка, мое разочарование было настолько сильным, что я даже оставил комментарии под этой статьей.
Приведу снова сайт prog-cpp.ru/category/struct-posts
Там больше, может вам подойдет
В стримах может и не рассказывают, но есть же каналы, где ну очень много очень разнообразной информации, Володя Моженков, к примеру, и по базовым структурам и по алгоритмам роликов наснимал.
И если вы самоучка и надолго в программировании пробегитесь по статье

Я самоучка, в программировании в этом году как двадцать лет, и надеюсь здесь и оставаться.


Пробежался по статье. Нашел ошибку, неточность, неактуальный список вопросов, снова ошибку, надоело, бросил.


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


P.S.


По сути это [хэштаблица] ассоциативный массив, в котором ключ представлен в виде хеш-функции.

А что такое ассоциативный массив?

Спасибо, что прочли. Про неточности и особенно вопросы, не буду спорить, вы 21 год в профессии, конечно вы их видите, а те кто год или два увидят? Не обязательно
А новые слова они могут увидеть, пойдут по ссылкам пощелкают

Про ассоциативные массивы не упомянул, это проглядел, сейчас поправлю
Про неточности и особенно вопросы, не буду спорить, вы 21 год в профессии, конечно вы их видите, а те кто год или два увидят?

Ну так в этом же и проблема — ошибок не увидят, и подумают, что так и правильно. А нет.


А новые слова они могут увидеть, пойдут по ссылкам пощелкают

Вообще-то все эти "новые слова" есть в любом разумном обучающем материале. Как и ссылки, по которым щелкать. Но вы почему-то утверждаете, что люди этого не знают.

На интервью такие приходят

любом разумном
не лукавьте не любом, считать ли стрим по пхп обучающим материалом?
На интервью такие приходят

Какие "такие"?


не лукавьте не любом, считать ли стрим по пхп обучающим материалом?

Никогда не видел и не слышал "стримов по пхп", ничего не могу сказать. А вот считать ли вашу статью обучающим материалом?

Но вы почему-то утверждаете, что люди этого не знают.

Которые этого не знают.

Нет, я не претендую на этот статус, я буду вполне рад если ознакомительным.
Которые этого не знают.

Вот пришли к вам люди, которые не знают чего-то, что вы хотели бы, чтобы они знали. Откуда вы знаете, были там, где они учились, эти слова и ссылки, или не было?


Нет, я не претендую на этот статус, я буду вполне рад если ознакомительным.

Вот прочитают люди ваш "ознакомительный" материал и придут, скажем, ко мне на собеседование, и начинают мне рассказывать про операцию insert в массиве. В ответ получают вопрос, в любом ли массиве возможна такая операция, и какова ее стоимость там, где она возможна. Спасибо вашему материалу за то, что в нем нет ни намека на правильный ответ.


(Вы, что характерно, так и не поправили описание хэш-таблицы на правильное)

ко мне на собеседование, и начинают мне рассказывать


Рассказывать, не молчать, тут вы их и поправите. А может случится и так что человек прочитает тут, потом по ссылкам, потом еще увидит знакомую тему, и уже на собеседовании будет точно знать и ответит вам правильно.

Я не думаю, что вы возьмете человека, что прочел одну статью всего, эту или еще какую другую.

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

Не поправлю, а зачту неправильный ответ.


Спасибо еще раз, что показали где не прав

Эм. У вас ошибки разбросаны по всей статье.

А вот это думаю зря, отчего не поправить, но это уже дело ваше.

Да, да, вы писали об этом, я помню это замечание.
А вот это думаю зря, отчего не поправить, но это уже дело ваше.

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


Да, да, вы писали об этом, я помню это замечание.

Но ничего с ним не делаете.

А вот это думаю зря, отчего не поправить, но это уже дело ваше.


Зачем тратить оплачиваемое время специалиста на обучение человека, который за свою карьеру/обучение не удосужился прочитать 1 (одну!!!!) несложную книжку? Зачем он вообще такой нужен? Знаете сколько таких ходит по собеседованиям и тратит чужое время?

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

Я отвечу, что такого вопроса в заметке и не ставилось, однако думаю вас ответ не удовлетворит )

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

С вашего позволения я прерву дискуссию, она не про статью, она про прав ли я или нет. И я не думаю что резон выяснять это тут, да и нужно ли не уверен.

Спасибо еще раз за ваше мнение.

Нет, она (дискуссия) про то, есть ли польза от вашей статьи, или нет.

9 августа был опубликован перевод этой же статьи: habr.com/company/alconost/blog/419685
Бегло сравнив две публикации, я не нашел принципиальных различий. Зачем делать еще один перевод одного и того же? Может стоило написать статью посвещенную этой теме, учесть в ней замечания к первому переводу и размещать уже не как перевод, а как свою собственную работу?
Да, вы правы, стоило, я не нашел эту статью, видимо плохо искал. Спасибо, что указали на это, буду лучше выбирать темы ((
Там не менее паршивый перевод очень паршивой статьи.
Trie представлено нерационально: зачем хранить пустые связи типа e -> i -> r, по ссылке от h, если вместо этого можно хранить просто суффикс «eir» и разбить его на компоненты только тогда, когда нужно будет вставить какой-нибудь «they»?

… это если у вас накладные расходы на хранение символа (и работу с ними) такие же, как в случае строки. Что не всегда так. Ну и вообще, униформность прежде оптимизаций.

Статья мешает в кучу абстрактные типы данных, структуры данных, и их сочетания. Про множество ошибок и неточностей молчу, уже сказали выше.

Некоторые куски текста (например описание связного списка) прямо из википедии скопированы.
Автор, очень хорошая статья. Мне очень понравилось что вся информация собрана в одном месте и написано коротко и по сути.
Спасибо =)
Это перевод, правда, я не совсем автор, я только собрал
коротко и по сути.

… и неправильно в ряде мест. Вы все их нашли?

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории