@Fsharp_chat

Страница 324 из 772
Pawel
25.09.2017
10:00:17
@gsomix, смущает дублирование семантики - index это как мы знаем тоже key. @fillpackart > Операции поиска по чему угодно - не больше O(log n) (в этом вся соль). > Но за это платим долгой инициализацией/добавлением/удалением Ну вот видишь, это всё подтверждает тезис, который я выше озвучил. sortedmap, dictionary: сложность поиска не больше O(log N), но вставка/удаление - опять таки O(log n), а не O (N), как в sorted list. Если нужно оптимизировать поиск и можно забить на вставку удаление, то какие преимущества у sortedlist ты видишь перед dictionary, у которой поиск и вовсе O(1) ? > byKey и byIndex - они имеют разный смысл стесняюсь спросить, а зачем byKey, когда есть byIndex ?

Fill
25.09.2017
10:01:20
это как я в dictionnary по value буду искать не за On?

Pawel
25.09.2017
10:02:14
это как я в dictionnary по value буду искать не за On?
спасибо, мы свяжемся с вами позже (с)

Vasily
25.09.2017
10:03:28
На самом деле кейс интересный

Google
Fill
25.09.2017
10:03:36
стесняюсь спросить, а зачем byKey, когда есть byIndex ? у меня есть список объектов, которые являются командами. Я хочу добавлять их в коллекцию по ключу "commandName" будут кейсы, когда мне нужна будет команда сключом "-start", и будут кейсы, когда мне нужна третья по порядку команда [2]

Vasily
25.09.2017
10:03:55
Надо смотреть, как внутри словаря хранятся значения

Evgeniy
25.09.2017
10:04:02
Fill
25.09.2017
10:04:44
спасибо, мы свяжемся с вами позже (с)
очевидно, что мне нужно не value, а его позиция

Vasily
25.09.2017
10:04:45
Если массивы, то поиск по значению действительно O(n)

Evgeniy
25.09.2017
10:05:10
Vasily
25.09.2017
10:05:35
или я не понимаю какой-то магии

Fill
25.09.2017
10:05:44
спасибо, мы свяжемся с вами позже (с)
да, и оставь своё высокомерие для своих соискателей

Evgeniy
25.09.2017
10:10:04
Тем, что он не sorted.
Думаю, чаще хочется более простую структуру, не key-value, а просто отсортированный список значений. С индексацией.

Google
Pawel
25.09.2017
10:10:37
Тем, что он не sorted.
так отсортируй, или добавляй с сохраннием порядка. в чём проблема то?)

Evgeniy
25.09.2017
10:11:24
так отсортируй, или добавляй с сохраннием порядка. в чём проблема то?)
Нет проблемы. Но клево же, когда все за тебя написали? :)

Vasily
25.09.2017
10:12:43
да, и оставь своё высокомерие для своих соискателей
У Павла своеобразная манера общаться. Я подозреваю, что ему просто по-другому сложно.

Evgeniy
25.09.2017
10:13:38
Возможно, это какая-то экономия на спичках для тех, кому не подходит SortedDictionary, но хочется key-value. > SortedList<TKey, TValue> uses less memory than SortedDictionary<TKey, TValue>. > If the list is populated all at once from sorted data, SortedList<TKey, TValue> is faster than SortedDictionary<TKey, TValue>.

Ну, такое.

Roman
25.09.2017
10:14:27
Sorted list в гуях полезно

Fill
25.09.2017
10:15:28
У SortedDictionnary есть индексы?

Pawel
25.09.2017
10:15:55
а зачем индексы в b-tree?

Vasily
25.09.2017
10:16:13
Кстати да,справедливый вопрос

Fill
25.09.2017
10:16:28
т.е. в sortedDictionnary как я получу предыдущий элемент?

за O(logN)

а в SortedList - за O1

Vasily
25.09.2017
10:17:22
Ну зависит от задачи

Если тебе индекс нужен, то лучше SortedList, наверное

Fill
25.09.2017
10:18:03
Приведи пример.
Пример чего?

Google
Evgeniy
25.09.2017
10:18:23
Пример чего?
Зачем может быть нужно получать предыдущий элемент.

Evgeniy
25.09.2017
10:27:45
вот тут
Я все равно не понял кейс про третью команду. :)

Vasily
25.09.2017
10:29:30
Кейс с третьей командой странный, да

Fill
25.09.2017
10:29:37
Ты не понял, зачем это вообще нужно - получать следующую. Нужно за тем же, зачем и по ключу - из условий задачи

выполняем команду по ключу, потом следующую, потом следующую - не сошлось, вернулись на две назад, заново выполняем

Evgeniy
25.09.2017
10:31:16
Ок, надо просто хорошую задачу придумать.

Fill
25.09.2017
10:31:27
у меня была такая

юзер заполняет анкету, каждый ответ - команда на запись, при ответе может перейти к любому вопросу, перейти к следующему и предыдущему

в каком-то тестовом задании правда, но была

Fill
25.09.2017
10:35:07
в том кейсе было около 10)

Fill
25.09.2017
10:35:26
у вопросов есть номера

по ним юзер и ходит

Pawel
25.09.2017
10:36:06
в том кейсе было около 10)
тогда чем не устраивает поиск перебором по массиву? это одной корткой инструкцией делается если что

Fill
25.09.2017
10:37:09
это так, спортивный интерес. Было бы миллионов 20 - тогда да

Google
Fill
25.09.2017
10:38:11
в любом случае, не очень хорошо искать по On, когда можно O1 или OlogN

Pawel
25.09.2017
10:38:33
если N мизерный - то по фиг вообще

Fill
25.09.2017
10:39:31
если N мизерный - то по фиг вообще
если он гарантировано мизерный - да

использование sortedList - не сложней, чем массив, dictionnary или лист,а профит в скорости есть. Why not?

Evgeniy
25.09.2017
10:44:42
Вы сегодня какие-то агрессивные.

Fill
25.09.2017
10:45:58
просто структуры данных - очень интимная тема для нас всех

Vlad
25.09.2017
10:46:27
Pawel
25.09.2017
10:49:02
использование sortedList - не сложней, чем массив, dictionnary или лист,а профит в скорости есть. Why not?
профита в скорости нет, уже разобрались благодаря @gsomix . см. выше. есть мизерный профит по памяти в сравнении с sortedmap за счёт адской деградации вставки/удаления. Первоначальный вопрос остаётся - на хрена это всё, где оно реально полезно и зачем кому-то вообще про это знать? допускаю, всякое бывает, может и чёрт с рогами прегодиться. Но в этом случае нормальный человек скорее возьмёт массив и сделает для него индекс в виде хэша или b-tree, чем будет разбираться в каком-то мутном контейнере. Вот ты же не разобрался как вяснилось ?

Унизить других за счёт собеседования - бесценно.
я думал как бы самому не оказаться дураком, а не унизить. если контейнер очевидно нелепый - то как объяснить человеку, почему он обязан его знать?))

Диджитал
25.09.2017
10:56:04
System.Containers.Generic.Ridiculous

Pawel
25.09.2017
10:59:36
скорость чего?
вставки - относительно всего, поиска по индексу - относительно массива, поиска по ключу - относительно деревьев

Fill
25.09.2017
11:01:30
ну. Так все эти коллекции являются комбинациями этих скоростей. Нужно быстро искать по ключу - dictionnary. по индексу - массив. По ключу и по индексу - SortedDictionnary. По ключу, по индексу и по value (получение ключа/индекса объекта) - sortedList. Или я чего-то не понимаю?

Andrew
25.09.2017
11:12:37
https://mobile.twitter.com/dsyme/status/911198651808133121?ref_src=twsrc%5Etfw&ref_url=https%3A%2F%2Fsergeytihon.com%2F2017%2F09%2F24%2Ff-weekly-38-be-on-the-safe-stack-today%2F

В чем тут big step?

Просто создали сайт со ссылками на существующие технологии

Или я чего-то не понял?

Google
Pawel
25.09.2017
11:14:42
ну. Так все эти коллекции являются комбинациями этих скоростей. Нужно быстро искать по ключу - dictionnary. по индексу - массив. По ключу и по индексу - SortedDictionnary. По ключу, по индексу и по value (получение ключа/индекса объекта) - sortedList. Или я чего-то не понимаю?
Это потому,что ты наверное не отравился SQL как я) По ключу и по индексу - не нужно в реальных случаях. трудно придумать такой кейс на практике. Но допустим действительно нужно - "индексировать" массив - это вообще не проблема. А вот изучить контейнер и понять как он работает - это проблема. Ну и ты же понимаешь, что ни кто реально ничего изучать не будет. будут просто тупо говнокодить. А мне потом с этим разбираться))

Evgeniy
25.09.2017
11:15:09
В чем тут big step?
Коммерческая поддержка.

Fill
25.09.2017
11:17:52
Это потому,что ты наверное не отравился SQL как я) По ключу и по индексу - не нужно в реальных случаях. трудно придумать такой кейс на практике. Но допустим действительно нужно - "индексировать" массив - это вообще не проблема. А вот изучить контейнер и понять как он работает - это проблема. Ну и ты же понимаешь, что ни кто реально ничего изучать не будет. будут просто тупо говнокодить. А мне потом с этим разбираться))
Не имел дело с SQL, тут ты прав. Но я частенько слышу "какого хера из коробки нет такой-то структуры данных!?!", так что разрабы тут просто перестраховались, тем более что её не долго было сделать. А насчёт того, кто и какие коллекции должен знать - я думаю, соискатель должен обладать пониманием структур данных и принципов оптимизаций, без всякой конкретики дальше dictionnary, list и array

Pawel
25.09.2017
11:23:28
"какого хера из коробки нет такой-то структуры данных!?!" - вот честно, за такие фразы хочется начать бить уже сейчас, а вы говорите "чего агрессивные")) Впрочем, я согласен. В ru-коллективах с вежливостью и корректностью всё ужасно. прошу прощения, если кого-то чем-то обидел

Dmitry
25.09.2017
11:26:00
Внезапно нарисовалась интересная задачка: Есть произвольное дерево, у каждого листа есть некоторый вес. Надо разбить дерево на множество деревьев, чтоб сумма весов листьев в каждом дереве не превышала лимит. А потом собрать дерево в первоначальном виде Убрав абстракции: дерево = html-документ листья = текст в параграфах, спанах, дивах, заголовках... вес = длинна текста преобразование = перевот текста с языка на язык у меня постепенно в голове решение проявляется, но может есть какой-то типовой алгоритм?

Vasily
25.09.2017
11:26:41
пока получается, что есть два дерева условно

Roman
25.09.2017
11:28:25
Я как-то хотел нечто подобное сделать https://github.com/ninjarobot/FSharp.Text.Docker

Pawel
25.09.2017
11:34:25
== разбить дерево на множество деревьев, чтоб сумма весов листьев в каждом дереве не превышала лимит сгруппировать dom-узлы по длине текста или что?

Andrew
25.09.2017
11:37:57
Коммерческая поддержка.
Прочел и заметку в блоге https://compositional-it.com/blog/2017/09-22-safe-release/index.html. Но нигде не увидел явно о коммерческой поддержке. Из чего это следует?

Pawel
25.09.2017
11:46:35
типа того, только так, чтоб оригинальное дерево из этих кусков можно было собрать
тогда надо обойти хтмл, а в процесе обхода пронумеровать узлы и создать - мапу [номер узла] -> [массив номеров дочерних узлов + то, что тебе надо] - мапу [ссылка на узел DOM] -> [номер узла]. С этими двумя мапами можно делать всё что вздумается, не?

Evgeniy
25.09.2017
11:49:48
Pavel
25.09.2017
11:52:02
Именно. https://safe-stack.github.io/ Смотри последний пункт на сайте

По оброзу и подобию MEAN stack. Это на самом деле большой шаг вперед. Будет годный гайдлайн по созданию веб и мобильных приложений на F# с поддержкой компаний и сообщества.

Andrew
25.09.2017
11:57:27
Смотрю. Заголовок: "куда мне обратиться за помощью". Отмечены 2 компании : Compositional IT, Lambda Factory. Под коммерческой поддержкоя я понимаю, когда компания тратит деньги на развитие проекта, правку багов, предоставляет платную техподдержку и быстрое реагирование на запросы клиентов. Т.е. это нечто большее для меня, чем просто коммерческие компании, использующие и развивающие технологии из стека.

По мне это все же больше как маркетинг и популяризация выглядит. Что конечно тоже полезно.

Pavel
25.09.2017
11:58:30
Это не какой-то продукт

да, в первую очередь маркетинг

есть вопросы - пишешь этим компаниям, все решается в индивидуальном порядке

Страница 324 из 772