Это копия, сохраненная 19 августа 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Вместо шапки:
https://pastebin.com/3xNpju3M
Благословляем тред, чтобы не сгнил.
Есть же сикп- и ньюфаг-треды, а этот про что?
>>213860
Используй кнопочку [!], мимокапитан.
bump
Удваиваю вопрос:
>Есть же сикп- и ньюфаг-треды, а этот про что?
Лучше бы рассказал, о чем тред, чем просто бампать в тематике >_<
Да, боюсь тред не взлетит.
Я недавно наслушался разных лекций, видях и осел. Прям ощущения что "всё пропало" и надо срочно учить кампухтер саянс. Начал с математики и железяк, ибо параллельны и не требуют друг другу. Помнится было у меня такое в универе, но я не слушал ибо считал "я погромист, я и не железячник". А щас стыдно.
Меня пермаментно такое ощущение преследует, кстати. Шаг влево, шаг вправо - и все, ебаные дебри и осознаешь, что ничего не знаешь. Се ля ви, епт.
>Шаг влево, шаг вправо - и все, ебаные дебри и осознаешь, что ничего не знаешь.
Бедняжка, плохо быть тобой.
Какую доску?
Да.
Дударь вообще СТРАННЫЙ КАКОЙ-ТО. Жирный хотя бы мысли может последовательно излагать
Обычно на курсах железа дают разные архитектуры процессоров и прочих вычислителей. И это имеет самое прямое отношение к CS.
Смотря какие у тебя цели. Высок шанс что быстро перегоришь, если нырнешь в низы без четких целей зачем оно тебе.
Булщит. Мне, например, низы больше нравятся.
На самом деле можно и то и то учить одновременно, чтоб не надоедало. И одновременно матан. Как в универах. А то что-то одно за раз - можно и сгореть
BUMP!
Держи в курсе
k-d tree
Так лечись.
Что такого тебе скажут в универе, что ты не найдёшь сам? Универ нужен только чтобы давать тебе задачки и проверять их, ну это ты тоже можешь сам. Другое дело, что это сложнее.
>Что такого тебе скажут в универе, что ты не найдёшь сам?
Дофига на самом деле. Дело не в доступности знаний. Нужно знать где, что и зачем искать. Когда у тебя базис школьного уровня, ты просто не знаешь о существовании нужных тебе знаний, не можешь понять что тебе нужно, даже когда смотришь на эти знания в упор.
Когда за тебя придумали, что учить - это, конечно, здорово, но иногда вредно. Да что уж там, даже и не иногда.
Вот как раз когда ты не знаешь, что нужно, пойдешь учить ЖС и станешь очередной голодной макакой.
А вот пойдёшь в универ - совсем другое дело! Поучишь сишарп и станешь очередной голодной макакой.
>Пацаны, когда нужно использовать красно-черное дерево, а когда АВЛ? Гугл даёт противоречивую инфу, а тут все мои друзья же.
rb - когда больше поиска, мало вставок
AVL - больше вставок
>rb - когда больше поиска, мало вставок
>AVL - больше вставок
>даёт противоречивую инфу
Блядь, а я уже нагуглил с точностью наоборот! rb когда больше вставок/удаления, а авл больше поиска. Вот кто пиздит?
Чтобы не быть голословным.
Both red-black trees and AVL trees are the most commonly used balanced binary search trees and they support insertion, deletion and look-up in guaranteed O(logN) time. However, there are following points of comparison between the two:
AVL trees are more rigidly balanced and hence provide faster look-ups. Thus for a look-up intensive task use an AVL tree.
For an insert intensive tasks, use a Red-Black tree.
AVL trees store the balance factor at each node. This takes O(N) extra space. However, if we know that the keys that will be inserted in the tree will always be greater than zero, we can use the sign bit of the keys to store the colour information of a red-black tree. Thus, in such cases red-black tree takes O(1) extra space.
In general, the rotations for an AVL tree are harder to implement and debug than that for a Red-Black tree.
What are the application of Red black tree?
Red-black trees are more general purpose. They do relatively well on add, remove, and look-up but AVL trees have faster look-ups at the cost of slower add/remove. Red-black tree is used in the following:
Java: java.util.TreeMap , java.util.TreeSet .
C++ STL: map, multimap, multiset.
Linux kernel: completely fair scheduler, linux/rbtree.h
Можешь заглянуть в "Архитектуру компьютера" Таненбаума.
Луркай в каталоге networking thread, там были ссылки
Фак прочитал, и вопрос, а С не староват для изучения? Я читал даже SICP в MIT к примеру преподавать перестали, универы по всему миру которые раньше только всякие С и преподавали переходят на Яву, Питон и т.д. Не зря учить буду?
Все что сейчас становится модным и "быстрым" (большинство даже не знает почему та или иная технология быстрее другой) написано на С. Иногда на плюсах.
Не перестали, ты это здесь на харкаче небось услышал.
Си учить нужно, чтобы немного в общих чертах понимать про низкоуровневое программирование. Если учить его именно для этого (а не для изучения программирования вообще), то нет, не староват. Там есть конечно определенный шарм 80-ых, типа идиоматичным считается как можно более непонятный код с кривыми непонятными именами, это надо иметь в виду, да. Но если постоянно держать в уме, что это нишевый язык, то все будет ок.
Два чаю. Писать на сях не надо, особенно если есть альтернативы, но знать обязательно.
C уже давно не низкоуровневый, это все обман и иллюзия.
https://queue.acm.org/detail.cfm?id=3212479
Это да, но знать всё равно полезно, тем более, что он остаётся самым низкоуровневым, не считая ассемблера.
Насколько хорошо знать? Минное поле сишки очень большое, чтобы его за пару месяцев изучить.
Поверхностно, конечно же. Детали спецификации и тем более имплементаций учить не следует, кроме случаев, когда на этом языке приходится реально писать.
Ну а смысл поверхностно? Ради синтаксиса? Или чтобы ручками пописать базовые алгоритмы к структурам данных, да системные ресурсы повыделять и поосвобождать? Так это можно сделать и в языках высокого уровня.
Поэтому и написал "в общих чертах", алсо байан.
Допустим, я хочу закодировать гифку 4х4 с такой последовательностью цветов: голубой-голубой-красный-красный-голубой-зелёный-синий-красный-синий-красный-голубой-зелёный-синий-синий-зелёный-зелёный.
Составляем первичный словарь:
#0 — голубой
#1 — красный
#2 — синий
#3 — зелёный
#4 — Clearcode
#5 — EoI
Кодируем цветовую последовательность по алгоритму LZW. На выходе получаем: #4 #0 #0 #1 #1 #0 #3 #2 #1 #12 #10 #2 #2 #3 #3 #5 при следующем словаре:
#6 — #0 #0
#7 — #0 #1
#8 — #1 #1
#9 — #1 #0
#10 — #0 #3
#11 — #3 #2
#12 — #2 #1
#13 — #1 #2
#14 — #2 #1 #0
#15 — #0 #3 #2
#16 — #2 #2
#17 — #2 #3
#18 — #3 #3
Загоняем всё это в байты при минимальном размере кода в 2 + 1 == 3 бита:
00000100
00010010
01001100
01100001
00010101
10011001
00101001
Результат: 04 12 4C 61 15 99 29. Должно получаться то, что я наметил в начале поста, но получается какая-то хуета с чёрными пикселями.
ЧЯДНТ? Разжуйте, будьте-ласка, если понимаете в этом.
Допустим, я хочу закодировать гифку 4х4 с такой последовательностью цветов: голубой-голубой-красный-красный-голубой-зелёный-синий-красный-синий-красный-голубой-зелёный-синий-синий-зелёный-зелёный.
Составляем первичный словарь:
#0 — голубой
#1 — красный
#2 — синий
#3 — зелёный
#4 — Clearcode
#5 — EoI
Кодируем цветовую последовательность по алгоритму LZW. На выходе получаем: #4 #0 #0 #1 #1 #0 #3 #2 #1 #12 #10 #2 #2 #3 #3 #5 при следующем словаре:
#6 — #0 #0
#7 — #0 #1
#8 — #1 #1
#9 — #1 #0
#10 — #0 #3
#11 — #3 #2
#12 — #2 #1
#13 — #1 #2
#14 — #2 #1 #0
#15 — #0 #3 #2
#16 — #2 #2
#17 — #2 #3
#18 — #3 #3
Загоняем всё это в байты при минимальном размере кода в 2 + 1 == 3 бита:
00000100
00010010
01001100
01100001
00010101
10011001
00101001
Результат: 04 12 4C 61 15 99 29. Должно получаться то, что я наметил в начале поста, но получается какая-то хуета с чёрными пикселями.
ЧЯДНТ? Разжуйте, будьте-ласка, если понимаете в этом.
>Так это можно сделать и в языках высокого уровня.
Нет, там всё сделано за тебя уже. Взять тот же оператор in в Питоне, встроенные словари и множества. Реализовывать их самостоятельно там -- какое-то извращение.
Прикол именно в том, что Си близок к реальной работе компьютера, то есть ты пишешь код, и примерно понимаешь, как он исполняется.
https://raft.github.io
Можно.
1. Но у Паскаля более своеобразный синтаксис, а большинство языков похожи на Си, включая С++, для которого Си -- чуть ли не подмножество языка.
2. Паскаль нигде не применяется, у Си есть своя ниша -- встроенные системы, например. Плюс операционные системы, компиляторы, интерпретаторы (да и вообще любой серьёзный софт) как правило написаны на Си (либо на С++).
1. В контексте нашего обсуждения синтаксис C ничего не значит. Чтобы изучить синтаксис Java или C#, не нужно изучать сам C.
2. Все верно написал, да только для того, чтобы писать/читать сишный код операционок, компиляторов и интерпретаторов, нужно основательно изучить C, а не просто ознакомляться с ним. Ну серьезно, даже после чтения K&R не получится разобраться в трехстрочных хаках в коде линукса или хитростях кода GCC.
Единственное практическое применение сишки при знании его в малом объеме вижу только в переписывании на нем медленного кода из питона/шарпа/пхп/что-там-еще-умеет-сишные-функции-вызывать.
>Чтобы изучить синтаксис Java или C#, не нужно изучать сам C.
Но после него привычнее будет, чем после Паскаля. Хотя это, конечно, мелочь, согласен.
>нужно основательно изучить C, а не просто ознакомляться с ним
А что там основательно изучать-то? Язык то простой как пробка не считая всякой ерунды типа ++i + i++. Это тебе не плюсы с виртуальными деструкторами при множественном наследовании.
Правда, конечно, для компиляторов и ОС нужно кучу теории знать, да и вообще это огромные монстроузные системы, где без 100 грамм не разберёшь, но именно синтаксис там не то чтобы особо сложный.
MacOS для пидоров
Ты ошибся дверью, дружок пирожок.
Чтобы заниматься настоящим cs нужно хорошее образование - мехмат/вмк мгу, мфти, вшэ, спбгу. Какой смысл в cs, если ты не умеешь даже в базовую математику?
Математика эта какие-то тайные знания доступные только в стенах университета?
Давай.
Но самому изучить математику довольно трудно, а с преподами в разы легче
Ну хуй знает. Я два года ходил на матмех и один хер приходилось учиться самому после прослушанных лекций, по совершенно другим материалам. И вообще, когда учишься сам, сам же и решаешь, когда, чего и сколько ботать, а с преподами ты ботаешь то, тогда и столько, как предложат преподы.
Двачую этого. Я на лекциях по математике всё время хуйи пинал и с друзьями пиздел. Профессор был старенький и увлекать не умел. Читал лекцию безвкусно. Пришлось самому всё учить.
Ещё добавлю, что литературы нормальной на русском языке сегодня найти очень тяжело, а самая годная лит-ра совестких времён уже морально устарела
Погугли николая лихачева
А без этого никак? Книг по алгоритмам для даунов без матана не бывает?
Не хочу в ряды, хочу видеокурсов пятиминутных на ютубе посмотреть, чтоб не обосраться, когда мне какой-нибудь дебилоид на собеседовании предложит пузырьковую сортировку на бумажке нарисовать.
Чувак, Дмитрий Письменный - это и есть такой даун-френдли талмуд для даунов,суть которого - чтобы дауны после первой сессии в армейку не поехали дружным строем, ниасилив/проебав лекции в универе/задачник демидовича.
И если ты даже его не можешь осилить - значит ты совсем конченый и работать тебе только дворником.
Ну ладно, выглядит многообещающее, спасибо.
Только вот нахуя мне дифуры, аналитическая геометрия и вообще добрая половина этой книги, если я просто хочу алгоритмы без регистрации и смс?
Адитья Бхаргава "Грокаем алгоритмы" -- объясняет основные алгоритмы без матана с нуля
По математике советую в ютубе посмотреть тематические видео на канале 3blue1brown. Там лампово и визуально объясняются основы лин. алгебры и фун. анализа (и много еще чего). Для меня канал стал прямо открытием года. Нигде не видел такого доходчивого и приятного(!) объяснения математики.
Так а бесплатные курсы гарвардов и прочих митов для чего?
Вот тебе академическое обучение в форме самообразования.
Скажут что, где, и почему искать, прямо как ты любишь, только с возможностью просиживать штаны не в тесных пыльных аудиториях за бабло, а дома под поединком забесплатно.
Под пледиком блядь
Чтобы жизнь медом не казалась
О, выглядит максимально даунско и полезно. Спасибо, анончик.
Вопрос был про алгоритмы, а не про то, как решать демидовича.
Письменный слишком сложный. Александрова, Мордкович, Винберг, Колмогоров, Кострикин, Макарычев,
Внутреннее устройство, из чего состоит и тд
Просто бери любую годную литературу по сетям, в самом браузере нет ничего особенного. Но если так интересно, посмотри на исходники хромиума, к примеру.
https://github.com/chromium/chromium
1) В компьютерных сетях много оптоволокна и низкого уровня
2) Я пытаюсь полезть в исходники фаерфокса. Сложно очень, но интересно. Думал есть ли чё почитать про то, как вообще должно быть.
Браузер - очень сложный софт. Где-то не далеко от ОС и компилятора
В том, где надо джаваскрипт интерпретировать.
Почему так ? Почему мы гнием в развитии IT? А другие процветают .
Хорошо хоть сбербанк школу айтишников открыла.
1. Дискретка.
2. Мат. логика (параллельно с первым).
3. Теория алгоритмов.
4. Парадигмы-парадигмочки, переосмысление своих повадок в погромировании. Познание дзен, практика.
Во-первых, системное, сетевое погромирование на С/С++.
Во-вторых, потом с чисметами мб научные расчёты, многопоток.
В-третьих, в пунктах же вообще мастхэв для уважающего себя человека, в вузах нормальных разве не так читают?
Просто посмотрел, каково учить алгоритмы без дискретки - невозможно.
Я пытался применить симплекс метод, прогнать несколько вариантов на сайтах (потому что величины могут быть лубыми, как и условия), прежде чем писать свой код, и алгоритм зацикливается и не выдает нужный результат. Соответственно вопрос, как решать эту задачу, в какую область математики копать? Линейное программированте, дискретная оптимизация? Или еще куда?
Создаешь лист/массив/слайс с шарами.
Проходишь по каждому элементу и добавляешь в нужный лист.
Самый простой способ это тупо перебрать. Задача, судя по всему, np-полная, так что вперед, читай, как они решаются: Задачи комбинаторной оптимизации можно решить с помощью методов дискретного программирования. Одними из основных методов решения задач дискретного программирования являются метод отсечения[1], метод ветвей и границ[2] и динамическое программирование[3].
Если прямо страсть как охота заюзать внешний солвер, то, просто линейного солвера будет недостаточно, так как задача дискретная, дискретного линейного солвера, внезапно, тоже, так как условие "в каждом ящике оказалось одинаковое количество шаров" нелинейное (остальные легко расписать в виде матриц Ax<b, Aeq x=beq, l<x<u, но вот это - никак, вроде бы). Его можно свести к тому, что число (шаров в 1-м ящке - число шаров во 2-м ящике)^2 равно нулю, аналогично для любой другой пары ящиков. То есть тебе нужен дискретный квадратичный солвер, aka mixed integer quadratic programming. Типа такой йобы https://github.com/sschnug/pyMIQP
Но сводить ты эту задачу заебешься быстрее, чем напишешь перебор.
Спасибо большое, этого я и боялся. Но я описал задачу, похожую на мою в формате ящики/шары для простоты. А что, если в реальной задаче можно пренебречь целочисленной составляющей (я этого не хочу делать и буду изучать все, что ты мне посоветовал). Например, количество шаров изначально получено с погрешностью и можно решить задачу как линейную, а потом просто округлить?
С таким упрощением у меня получилось использовать симплекс-метод, но разброс "шаров" одного типа по разным коробка получился слишком большим
Я пока еще не знаю, но почитав теорию пришел к выводы, что надо использовать метод ветвей и границ. Надо только придумать функцию ветвления и нижнюю границу. Думаю для первого спускаться по каждой переменной, а для нижней границы использовать частную производную целевой функции. Не знаю, на сколько это правильно, если честно.
Актуально?
Черкните план изучения сетей и архитектуры сетевых приложений\взаимодействию с сетями.
и вот эта
Сети TCP IP. Том 3. Разработка приложений типа клиент/сервер для Linux/POSIX 2002г
Нечего свежее не нашел
Может кто помочь, описать алгоритм действия b+ дерева, я вроде вник в то что оно представляет из себя, но не могу код написать нормально, всегда выходит какая то хуета, я не понимаю как это реализовывать.
я не понимаю, кто картинки отражает по вертикали?
Красное говно кроме хардвера и крипты можно смело выбрасывать
https://ai42.files.wordpress.com/2012/02/type_equivalence_checking.pdf
На курсеру уже сходил, и чот я ебал плотить далары за материал такого качества. Всякие курсы MIT за полтора косаря с edx может и пиздатые, но это уже для состоявшихся погромистов с зряплатой от 100к в год.
Да, очень желательно чтобы это был текст в котором работает поиск, ну или в крайнем случае достаточно информативные видео чтобы не засыпать под них.
Короч пока что кочаю с торрентов Introduction to Computer Science and Programming Using Python, но там блядские видео.
Нужен Кнут искусство програмирования и вирт алгоритмы, но не дежавю, а хотябы пдф норм. В идеале фб2
недавно попалась эта ссылка. никто не находил контент полезным?
Мат. основа может послужить хорошим контекстом для изучения теории алгоритмов, но верно и обратное. Так что делай что хочешь.
Сам мучаюсь. PDF видел, но таки сканы тоже. Так шо двачую реквестик
в раисянских реалиях, без бумажки о высшем образовании в камплюхтер сиенс не берут. а так хоть какие-то знания + бумажка
Звучит как теоретическая военная медицина.
Есть лекции, даже на русском, на англеском не смотрел но думаю тоже есть, ну а практика... Заходи на topcoder/codeforses/etc
Вообще в блльшей части алгосов не сложная математика
Если тебе нужно только асимптотики классических алгоритмов знать (а это уровень 99% этой доски и большая часть IT в целом), матан не нужен.
Ядро ОС манипулирует процессором, загружая его очередностью задач(многозадачностью).
В случаи с многоядерными цп гомогенной структуры - 1 исполняемый процесс делится на потоки в его ядрах, позволяя процессу выполнятся быстрее, но очередность в переключение процессов в определенный квант времени сохраняется.
В ГЕТЕРОГЕННЫХ многоядерных цп, процессы вместо единой очередности, разделяются между ядрами, по ядру на каждый процесс.
Я правильно понял?
Привет, анон. Что можешь сказать по поводу информационной безопасности в веб сфере, есть ли какие-то книги по этой теме, которые стоит прочесть, или курсы, которые введут в курс дела?
1.Понятие «структура данных». (...хуета…) -Понятия интерфейс, реализация, модуль.
И я что-то не всасываю, что это может быть за модуль структуры данных, блясуканахуй.
Я фронтендер без CS-бэкграунда (пришёл из биофизики). Прогаю на жаваскрипте достаточно хорошо, но хочу уйти в system programming. Не хватает знаний низкоуровнего CS
Посоветуйте что-нибудь, чтобы глубже понимать, в какие команды ассемблера компиляторы (скажем, gcc) преобразуют исходный код, какие оптимизации компилятор производит, как работают branch prediction и loop unrolling. Интересуют языки C/C++/Rust и ассемблер
Заранее спасибо
Алсо, как хаскель борется с переполнением стэка? Я запускал эту хуйню даже на бескрнечном цикле, но никаких ошибок не было.
https://www.cs.hmc.edu/~oneill/papers/Sieve-JFP.pdf
Можно для начала обрабатывать только нечетные числа, а к результату добавить 2, ведь, кроме 2, все простые числа нечетные
getPrimes n = 2 : (eratos [3,5..n])
where eratos [] = []
eratos (h:t) = h : eratos (filter (\x -> x`mod`h /= 0) t)
Хуя ты оптимизатор. Все равно с императивным вариантом оно не сравнится.
Кажется, что пока я читаю про Binary Search Tree, кто-то создает что-то полезное и мощное.
Я бы советовал теорию, но 25 летний сеньор в моей конторе, а по совместительству аспирант-математик говорит, что книжки хуета, обучаешься только делая что-то.
Это так и есть. Но они уже все что надо прочли.
Но как ты создашь что-то полезное и мощное без Binary Search Tree?
Без теории очень туго, т.к. без основ даже не догадаешься, как изобрести велосипед. Конечно, можно всегда уйти во фронтенд. Но хочешь ли ты всю жизнь клепать сайты? Синдром замозванца быстро сожрёт тебя с головой. Надо комбинировать и то, и другое. Читать книжки, особенно, я считаю, надо сосредоточиться на алгоритмах и структурах данных. Хорошо это позволяет тренировать спортивное программирование. Да, надо мозги напрячь, но задачки позволят видеть применение тех или иных алго дальше их типичных use-case. Никто не требует брать топы тимуса и быть гроссмейстером на кф. В качестве практики, можно написать свою бд с разными структурами, алго, оптимизациями для разных видов запросов. Можно написать свой текстовый редактор - там целая наука, недавно на хабре была статья про редактор jetbrains. Делать всё, что интересно: нейронки, машинное зрение, блокчейн и т.д. Главное - не бояться трудностей.
Так парни поясните, я не пойму что блять надо подсчитать и почему там сука 4!
> почему там сука 4!
Наверное считаеться что лист это тоже subtree - тоесть у тебя три листа с 5 плюс еще 5-5 subtree
Тоесть все чуваки у которых нету чайлдов + чуваки предки которых имеют такое же value?
>>349715
Да, лист - это тоже поддерево из одной вершины. Для каждого поддерева можно через dfs от корня посчитать. Для каждой вершины храним флаг, является ли она корнем univalue subtree. Это значение легко поддерживать для каждой вершины: данная вершина не univalue, если хотя бы один из её потомков не univalue. Если оба univalue, то надо проверить, совпадают ли у них значения. Рекомендую на бумажке разобраться.
Ага четко, спасибо, заебошу на бумажке.
> предки которых имеют такое же value
У этих предков еще все дети должны быть с таким же value
Смотря чего хочешь этим добиться, я решал задачки много лет, в конце концов все таки стал «красным» в рейтинге, цель жизни, лол. Но в гугл не взяли, в амазон тоже, ну с другой стороны зарабатываю около $15k фрилансом, может эти задачки и помогли как-то.
Пишите, кто сколько учил, учит или что еще
Поддал газу.
Неожиданно захотел сменить унизительную должность уеб-программиста на стильного, модного Data Scientist-иста. В основном ради большего кол-ва нолей в ЗП.
Так вот подойдет ли подобный курс для этого, чтобы стартануть в качестве джуна: skillfactory.ru/data-scientist ? Обещают за год и 120к рублей, сделают из уеб-макаки вот это существо:
Специализация Data Scientist. Освой профессию Data Scientist с нуля за 12 месяцев. Вы пройдете полный цикл обучения, начиная с изучения языка Python для анализа данных, классическое машинное обучение и, наконец, самое востребованное направление в области машинного обучения - нейросети и deep learning.
тебе уже ответили в другом треде, но я ещё добавлю, что имо любые курсы которые просят деньги, вообще любые, и не дают котирующуюся бумажку (нужный тебе диплом или сертификат) - строго нахуй, научиться можно бесплатно и все равно большую часть сам рыть будешь
Поддерживаю. Ну конечно можно платить за какие-либо курсы чисто из-за того что тебе отсортировали инфу и ты не проебывал время на ее поиск и адаптацию, а также если "обучающая" сторона предоставляет какую-либо площадку для обучения, например как делают некоторые популярные проекты - встроенная IDE с кодом или крутые тесты. За это еще можно заплатить какую-то небольшую сумму (не более 2-3к в месяц), но 120к хуй знает за что это перебор.
Яндекс сейчас той же хуйней начал заниматься, только там около 80к за курс и вроде по окончанию какие-то профиты вроде приема на работку.
Открываю Скиену, дохожу до первых заданий, прорешиваю пару штук а на остальных впадаю в ступор и закрываю книгу. Хотя теорию понимаю, в принципе. Видать математическое мышление у меня напрочь отсутствует.
В первой же главе пример задания: Реализуйте два эвристических алгоритма решения задачи коммивояжера из
раздела. Какой из них выдает на практике более качественные решения? Можете ли вы предложить эвристический алгоритм, работающий лучше любого из них?
И как мне выучить алгоритмы?
>И как мне выучить алгоритмы?
Нахуй тебе это вообще нужно - стать профессиональным разработчиком алгоритмов решил? Надо было для этого родиться лет пятьдесят назад. Если хочешь в говнояндекс пролезть то просто читай-разбирай задачки которые они постоянно на швабре и в своих бложиках выкладывают. Это самый эффективный путь, буквально на несколько порядков чем это битье головой в стену, инфа соточка.
В яндекс/гугл хотел бы, но это не первостепенная цель. Больше всего для себя хочу, что бы не чувствовать себя унтерком.
А у меня фрустрации из-за этого. Гуманитарную хуйню я легко понимаю, с детства тяга к компьютерам, в целом интеллект выше среднего, но алгоритмы меня останавливают и как бы говорят: "не, дружок, ты даун, иди работай клерком, пиши круды за 100к и не выебывайся".
просто признай, что ты посредственность, и забей. Сразу легче станет, по собственному опыту говорю.
Признать - легче всего. Это самый последний вариант. Я лучше выпилюсь, если я окончательно пойму, что вот он, мой порог, дальше не суйся. И в кого я такой максималист? При этом, мне уже далеко не 16 лет и это не юношеский максимализм. Блять, буду сидеть над алгоритмами сутками, но выдрочу их.
В пизду вас, с такими советами.
Это пре-миддл зарплата в дсах. С моими проблемами ты бы выпилился.
>Гуманитарную хуйню я легко понимаю
Ну-ну. Вас таких весь интернет. А как ответственно речь держать тематическую, так вся страна в дебилах, не имеющих представления о специфике "гуманитарной" области.
Introduction to algorithms Крутая книга, от ублюдков из MIT, нужна матеша, хотя там есть овервью по нужной математике.
Skiena Algorithm Design Manual, не такая серьезная как первая, но более прикладная, профессор скиена подгонит тебе по несколько жизненных кул стори в каждой главе.
>в целом интеллект выше среднего, но алгоритмы меня останавливают и как бы говорят: "не, дружок, ты даун
Чет проиграл с этого ИНТЕЛЛЕКТУАЛА.
Мань, ну давай, поясни мне за алгоритмы.
Тут каждый интеллекутал, который и сицп за день читает и кнута осиливает, а по факту нихуя подобного.
Что тебе пояснить?
>Тут каждый интеллекутал, у которого интеллект выше среднего, а по факту нихуя подобного.
Починил тебя ;)
Хуй знает где ваш нейротред. Пояните, сейчас вообще есть готовые либы или что-нибудь для вычленения текста из видео потока в реальном времени? Типа брать кучу фреймов за секунду, находить в них осмысленный текст и всё это более менее быстро? Такое уже возможно в тукей найнтин или надо самому писать? (== невозможно, т.к. мама всегда говорила, что я дебил). Я знаю такое гугл транслейт делает, но эти что хотят, то и делают, а я обычный лох с улицы, но этот функционал мне и нужен.
Это такое условие выхода из рекурсии?
проблемы уже нет, я взял себя в ручки и начал заниматься
Проиграл как ебанутый с вас.
> без CS-бэкграунда
> какие оптимизации компилятор производит
> branch prediction
Воу-воу.
Если очень хочется, читай книгу красного дракона (ахо, ульман итд) и http://www.csapp.cs.cmu.edu, но лучше не лезть в это дерьмо. Скорее всего у тебя пробелы в базе не там. И скорее всего они сходу окажутся тебе не по зубам, там нужно много свободного времени и пресловутая база. Алгоритмы, оси, сети, дискретка, архитектура (железок) -- примерное представление об этих областях отличает выпускника вуза от самоучки. Судя по тому, что тебя тянет к железу, возможно стоит глянуть Таненбаума про архитектуру. Если сложно -- то сначала книгу про код пецхольда, которую тут хвалили (совершенно заслуженно).
А из того, что ты перечислил, я бы сейчас ставил на rust. К ним реально вписаться на волне хайпа. Там у тебя преимущество в том, что rust толком никто не знает, все одинаковые нубы по сути (просто некоторые с образованием). И шрамов от пойнтеров не останется. И даже если не пойдет как работа, границы сознания немного расширит. У них там есть живое англоязычное irc если что.
Такой же вопрос, но уже про Cuda GPUs.
В чем проблема поставить пакет, с которым блас идет в комплекте? Это быстрее чем писать свой велосипед. А так самый простой из велосипедов: транспонируешь правую матрицу и компилируешь -ffast-math.
http://web.karabuk.edu.tr/hakankutucu/CME222/MIT[1].Press.Introduction.to.Algorithms.2nd.Edition.eBook-TLFeBOOK.pdf
сам иду по 3-му изданию из Тора, но для блядской problem 9-3 это не важно. Так вот, поломал я голову денек, другой, наконец сдался, открыл solutions и... НИХУЯ НЕ ПОНЯТНО!!!
http://sites.math.rutgers.edu/~ajl213/CLRS/Ch9.pdf (стр.6)
А теперь поясняю. Суть задачи в том, чтоб найти i-й по возрастанию элемент в неотсортированном массиве. Общий метод понятен: берем рандомный элемент, грубо раскидываем влево все что меньше, вправо все что больше, дальше ищем только в одной из частей. Но вот тут книжка предлагает охуительную оптимизацию, мол, если i < n/2, то мы можем тупо сравнить n/2 пары и дальше искать только среди n/2 меньших из каждой пары. Но это ж бред. Взяли массив 2 3 5 8 10 1 4 6 7 9, распидорили пары a[1]-a[6], a[2]-a[7], ..., a[5], a[10], дальше в 1 3 5 7 9 2 4 6 8 10 нашли наш 4-й (4 < 10/2 ага) элемент среди 1 3 5 7 9, получили 7 и что дальше? Ведь это ж нихуя не ответ. Постановка задачи в основной книге дает больше подсказок, чем предоставленное решение, хотя бы этим
n/2 + Ui(n/2) + T(2i)
Но вот какие именно загадочные 2i (в моем примере 8) элементов я должен скормить обычному алгоритму, и как сопоставить результат с моей ублюдочной 7-кой, я в душе не ебу.
вот блин, так всегда. Могу часами бомбить, но стоит запостить, и мозг включается. По ходу, при каждом сравнении-свапе вместо с элементом надо таскать всю его пару, а с каждой парой - пару пар и т.д. от глубины рекурсии. Сравниваем меньшие элементы из групп, а перемещаем целые группы. Размер группы - параметр функции, который удваивается при каждом рекурсивном вызове. В ключевые моменты стандратная процедура, работающая за T(n), будет поддерживать свалку всего, что меньше, слева, и потом можно будет просто пройтись ею же по всем "левым". Верно соображаю?
https://pastebin.com/ajYfd44c
Глава осилена, академическая инвестиция в светлое будущее инженера алгоритмов сделана, сделка с совестью на полсуток в /b/ заключена. Всем спасибо за внимание.
так, куда я спрятал свои таблетки...
Есть такие понятия как лучший, средний и худший случаи временной сложности.
Например, алгоритм поиска определённого значения в массиве имеет временную сложность O(n). (1)
Для лучшего случая - когда элемени найдётся сразу же в первом элементе массива - временная сложность будет O(1).
Для худшего случая O(n).
Получается, что когда называют временную сложность алгоритма, как я это сделал здесь 1, то по дефолту всегда называют худший случай?
А как тогда вычисляется средний случай?
Похерил разметку - поставил звёздочку перед жирной единичкой.
у вирта в структурах и алгоритмах прекрасно объяснена эта задача, плюс отличный перевод на русский язык..
быстрее бы понял как работает все это..
чет выглядит щас не сильно популярным..
Ух ты ж бля, тредик живи.
>отличный перевод на русский язык
Без ложного хвастовства, научную/техническую литературу уже привык на иглише читать.
>быстрее бы понял как работает все это
Да я по собственной тупости всасываю, неграмотно сосредоточиваюсь.
теория вероятности не применяется при оценке временной сложности алгоритмов, ну ты че, зачем она там
Конечно же применяется. Спросишь, в каком месте? А хотя бы в том, где худшее, лучшее и ожидаемое время действия алгоритма - 3 большие разницы. Нет гарантии, что qsort не сожрет n! времени. Но теория вероятности позволяет формализовать понятие взвешенной оценки и увидеть, что при использовании генератора случайных чисел этого не случится в ближайшие стопицот лет, и все останутся довольны expected n∗lgn. Да и не только в оценке временной сложности используется. Существуют рандомизированные алгоритмы, для которых даже не доказуемо 100% исключение ошибочного результата. Но все та же теория вероятности говорит, что сбой процессора от космической радиации случится скорее. В этом разница между чистой математикой и инженерией.
Последние слова честно спизжены мною из SICP.
Эти полуёбки просто пытаются оправдать свои бездарно проёбанные в шараге годы. Какое высшее образование в педерашке, вы о чём вообще?
угу, соглашаюсь
в кормене, к примеру, для быстрой сортировки сначала сложность рассчитывается интуитивно путем рассуждений в наихудшем и среднем случае, а затем уже повторно рассчитывается математическое ожидание времени работы в обоих случаях
Хули раскукарекался? Сынок Чики, что ли?
>>225403
Блядь, у вас тут компьютер саенс или дамский клуб?
Какие критерии у вас?
Одно лучше другого чем?
AVL:
Lookup, insertion, and deletion all take O(log n) time in both the average and worst case
R-B:
The balancing of the tree is not perfect, but it is good enough to allow it to guarantee searching in O(log n) time, where n is the total number of elements in the tree. The insertion and deletion operations, along with the tree rearrangement and recoloring, are also performed in O(log n) time
Хули тут сравнивать?
Основы программирования на языках высокого уровня не имеют почти ничего общего с основами программирования, близкого к аппаратному уровню
Твой вопрос сродни "есть ли книга, которая учит играть на скрипке, начиная с выращивания травки для коровки, из кишок которой я сделаю струны"
Блядь, я охуеваю. 21-й век, а еще кто-то ведет речь о "системном программировании".
Что, блядь, это такое? И чем отличается от несистемного программирования?
Там алгоритмы какие-то другие? Массивы по диагонали в памяти располагать нужно?
Нахуй тебе дискретка, если ты собираешься калькулятор писать или в рс-232 биты хуярить?
Хахахаха.
У меня в бумаге есть. Советское еще издание.
На английском есть и пдф.
Хули вы пытаетесь учить искуственные языки, не одолев естественных?
Конечно, подойдет, но не все же знают, что это такое
Максимальный поток в двудольном графе, весы ребер - количество шаров (может быть не целочисленным). Решается за полиномиальное время.
O() - ротешник твоей мамки
f(n) - мой огромный хуй с волосатыми яйцами, который я в него вставляю
Так понятнее?
У тебя 7 линейный уравнений. (4 ящика, 3 типа шаров)
Есть ограничния, которые дают тебе возможность делать неполный перебор.
Я бы даже не закладывался на какие-то специальные алгоритмы здесь
А чем отличается "Основы программирования" от "Основы программирования(другой путь)" из шапки? Почему они не в одной группе?
Ууу сколько завистников пошло.
Не надо проецировать свою школьную травлю на него. Не получится. Ни у кого в мыслях не возникало что он СТРАННЫЙ. Дударь
во-первых ровный пацан. Во-вторых он тупо гений.
А ты никто
Езжайте на запад, получать как рабочие
Потому что уровень ассемблера тоже исполняется в среде ОС и использует апи ОС (например, для доступа к дисковой подсистеме). Но конечно, если ОС просто нет и ты программируешь голове железо, то и такого уровня абстракции уже не будет.
Deep Learning это такая настройка над нейронками с использованием биг дейты. Это практически прикладное использование этих самых больших данных. Причем если смотреть по вакансиям часто это настолько смежное, что разницы нет. Из математики матрицы перемножаешь уже заебись.
>Из математики матрицы перемножаешь уже заебись.
так этому в 9-10 классе вроде учат одно из немного, что я из математики помню. А я там по нейронкам статьи посмотрел и формулы страшные увидел.
Нейронки это в основном коннекционистские задачки: видео, изображение, звук, анализ текста как потока сигналов. Короче, нейронки непрерывные и однородные.
Бигдата это в основном анализ всяких дампов и результатов парсинга из интернета. Короче говоря, бигдата дискретная и разнородная.
А дальше все зависит от твоих вкусов. Если словосочетание "кредитный скоринг" вызывает у тебя тошноту, вряд ли ты будешь заниматься бигдатой. С нейронками аналогично. Вакасний больше по бигдате ясен перец, потому что какие-никакие банки в рашке еще есть, а вот с дипленинг-стартапами напряженка.
На первом курсе вузика, если специальность техническая.
Если ты будешь не просто тыкать neural network, а нормально и вдумчиво изучать машинное обучение, то ты найдёшь там много тервера.
Сборник всех данных, которые он продавал
есть вариант скачать это в зипе?а то не охото проебать если он репортнет
У меня вот такое есть, если нужно могу торрентом ебануть, только вот у меня ip серый, не шарю можно ли при таком раскладе изначальную передачу осуществить.
А, ну на крайняк можно ноду вручную добавить.
https://anonfiles.com/9bB5E8z6n8/Winderton-master_zip
это то что было на гитхабе
как скачать с трелло я не понял
залей куда-нибудь в телеграм,если не сложно.недавно решил вкатится во все это как раз,думаю полезно будет
Чувак забей, планы говно. Автор наебщик, контент по написанию кода пиздил у других ютуберов и был пойман за руку как дешевка.
Тем более он сам спизданул, что у него 2 года коммерческой разработки, то есть он даже не сеньор. А ещё у него нет высшего образования, ну это так для кучи
все равно хотелось бы посмотреть,даже если пиздить посмотреть на сборник того что он собрал было бы неплохо мне как новичку.буду все таки очень благодарен если перезальешь
Держи, но мой совет, лучше обрати внимание на OSSU, там план получше.
https://trello.com/b/fNa6nNf1/oh-shit-here-we-go-again
From NAND to Tetris
что он за говорилку юзает?
Можешь рассматреть главу "модульность потоков и модульность объектов" в sicp в контекте психотипов Юнга, мол, функциональщики интроверты, а ооп-программисты экстраверты.
Вообще можешь копнуть в стили программистов с точки зрения психологии.
я имею ввиду моделирование. Нейроночки же прикрутили в программирование, может и всякие псих структуры можно запилить
Нельзя
Погугли моделирование человеческого общества, например в игре Sims. Там использовали какие-то наблюдения из психологии.
Типа как искать нужный текст и т.д.
Ничего кроме принципов работы ОКР-а найти не могу
Без образования можно заниматься КС? В смысле, самоучкой? Или без образования и доступа к мощным ВЦ нет смысла?
Зависит от области так-то. Кое-где тебе ничего кроме карандаша, листика и ластика ничего не понадобится. Конечно лучше иметь академическую карьеру чтоб этим заниматься нормально, но чисто теоретически ничего не мешает просто изучить все необходимое самостоятельно, консультируясь с людьми кто в теме по сети. Обычно нормальные рецензируемые журналы не пропускают публиками васянов, но если ты что-то стоящее и актуальное будешь предлагать то тебя найдут и зацитируют даже если будешь публиковаться у себя в бложике.
Можно применять в мультиагентных системах.
https://en.m.wikipedia.org/wiki/Multi-agent_system
В отличие от акторов у агентов может быть своя картина мира, убеждения и т.д
Ищу кого-нибудь для общения вокруг программирования и матана, обмена ссылками и книгами, а так же для парного программирования.
Мои языки C, Python. Считаю что программист из меня так себе.
Сферы интересов: Теория игр, теория принятия решений, Управление и оптимизация, многокритериальное принятие решений, Марковские модели, конечные автоматы, теория графов, теория вероятностей, статистические методы, имитационное моделирование, ии и коллективное поведение и проч.
Может кто знает какие-нибудь книжки оодны по основам бик тата? Чтоб хотя бы принцип понять. Счас читаю "Big Data. Principles and best practices of scalable real-time data systems". Только хз, достаточно ли будет этой книжки.
Спасибо за ответ. Вот я и думаю, что век новый, информационный, дистанционный. Что такие науки как информатика, математика, лингвистика, экономика и т.д можно и нужно давать людям изучать за стенами университета, самим и тупо аттестовать их окончательным экзаменом
> Ребят, иду работать в компанию, в которой бик тата и всякие распределенные вычисления. Говорят используют хадуп, hbase, кафка, хэйзелкаст, эластик серч. Короче тонны фреймворков, в которых хуй разберешься без понимания, что вообще таеое бик тата.
http://dataintensive.net/
Спасибо чел! Счас ту прочитаю, потом эту. А потом уж на работе как-нибудь разберусь с биг датой этой (надо только собеседование пройти для начала, лол)
Бля, анон, респектос тебе вообще. Реально заебись книга, намного лучше той, что я читал (та говно). Не думал, что на двачах могут чето годное посоветовать
продажная девка империализма
С чего тогда начинали чуваки, которые сейчас отвечают за сложные вещи типа Data Science или Machine Learning? Очень любопытно.
А чем тогда заниматься, чтобы не работать с бытлокодерами, а то походу все к этому и идет, зачем я тогда основательно изучаю структуры данных, дискретку, ассемблер и тд?
Не работать с макаками не значит не быть макакой, и наоборот. Для первого достаточно уметь вертеть языком, таргетиться на решение не реальных академических или бизнес задач, а задач с собесов (литкод, cracking the coding interview и прочее хайповое говно), чтобы максимально эффективно проходить интервью в топовые конторы с высоким процентным содержанием крутых программистов. Для второго можно дрочить
>структуры данных, дискретку, ассемблер и тд
но это не гарантирует тебе трудоустройство в топовые места. Такие дела.
>>451450
С магистратуры лиги плюща или зубодробительных книжек по теории ML от профессоров оттуда же. К сожалению, коммерческий ML (по крайней мере в РФ) примерно так же далек от этого как софтвейр инжиниринг от академического CS. Ну, ты знаешь, как джава в теории это виртуальные машины, крутая имплементация алгоритмов в стандартной либе, state-of-the-art гарбаж коллектор и тд, а джава на практике это очередной круд.
Я имею в виду, есть ли такие сферы в проге, где просто так за год не натаскаешься для работы, а ты бывает у "прогеров" спрашиваю, что необходимо знать для устройства на работу, а мне начинают затирать про всякие фреймворки, что сейчас то модно, то вышло из моды и тд, начинаю спрашивать чуть глубже, по типу, какие алгоритмы, структуры данных используете, они отвечают, а , когда начинаю спрашивать, почему не тут алгоритм, чел тупо не может ничего ответить, спрашиваю про языки, операционки, чел абсолютно нихера не знает, но при этом у него есть работы и сотку он получает. Куда идти, чтобы без таких людей было?
По-моему, тут два варианта: если хочешь работать с крутыми прогерами и над интересной идеей, то это в стартап и без денег особо или идти и тупо работать на фреймворках с хорошей ЗП , но с быдлокодерами. Но опять таки я хз, ещё никогда не работал в принципе)
for j := 0; j <= i; j++ {
m += 1
}
}
Почему сложность O(n), а не O(log n)?
while (a < 0) {
a = a * 2
}
while (a > 0) {
a = a / 2
}
Шараги для пидорасов, тебе же сказали. Неспособен в самообразование - идёшь на анальную дрессировку, выходишь таким же дебилом, но с дипломом. Нахуй нам дипломированные дебилы?
Если a < 0, то алгоритм работает бесконечно, потому что a * 2 всегда < 0. В противном случае O(log(a)), потому что каждую итерацию a уменьшается в 2 раза. Это если числа целые. А если нет, то теоретически a никогда не достигнет нуля, хотя на практике это зависит от точности представления числа с плавающей точкой.
Разве они не вечные? Или это рофл такой?)
Это был дабл-троллинг, если что.
>а , когда начинаю спрашивать, почему не тут алгоритм, чел тупо не может ничего ответить
Скорее всего не он принимает решения, какой алгоритм использовать. А если в его работе алгоритмы не особо важны а так в 90% случаев на сегодняшний день, то какие к нему могут быть претензии?
>спрашиваю про языки, операционки, чел абсолютно нихера не знает
Ну это часть университетского образования. Он не обязан знать наизусть всего таненбаума, главное лишь иметь хоть какое-то представление о том, что происходит внутри.
>спрашиваю, что необходимо знать для устройства на работу, а мне начинают затирать про всякие фреймворки
А что не так?
Как ты хочешь сделать что-то серьезное и относительно надежное, если не умеешь пользоваться готовыми вещами? Или хочешь везде писать свои кривые велосипеды?
>Вместо шапки
В шапку лучше добавить материалы по математике на русском языке, в частности есть неплохие лекции по матану и ангему на лектории мфти, также есть курсы на степике (матан, дискретка, алгоритмы и структуры данных).
Единственный минус всего - это сложно и вы получите мало практики.
Если кто желает ликбез в области базовых математических понятий, рекомендую курс "Дискретные структуры" на степике, там оче годно чел из мфти простыми словами рассказывает про множества, основы комбинаторики, графы, и.т.д.
> > чел абсолютно нихера не знает
> Ну это часть университетского образования. Он не обязан знать
Ну и нахуй это говно вообще нужно?
Да.
1
2 3
4 5 6
В каждой ноде помимо значения есть указатель на следующую ноду, нужно проставить эти указатели, не используя очередь, то есть в этом примере будет так: 1 -> 2 -> 3 -> 4 -> 5 -> 6
Заебался уже, помогайте.
>можно и нужно давать людям изучать за стенами университета
В отрыве от сообщества, из таких самоучек ничего не получится. От слова совсем.
Двачую, только что видел минт на компе админши в хостеле.
Танненбаум. Архитектура , Сети и Лаффоре - ООП в С++
С чего начать небыдлокодерский путь в Украине? Интересно пиздец, но цели смутные какие-то. Жестко клинит на Сишечке, ньюфаг в математике, знаком с ASM, читаю Таненбаума, хз че еще рассказать. Алсо, в шапке говорится, что без математики недоступны такие книги, как kniga, kniga, CLRS, ... А я за CLRS как раз взялся еще несколько взялся, методично осилил почти 2 раздела, забуксовал на теоретических задачках по хеш-таблицам. Ничего нереального, но как-то уж очень больно это все решать без математического бэкграунда. Там в конце еще дается математический аппарат, необходимый для осиливания основной книги. Стоит отдельным курсом по этому аппендиксу пройтись, или лучше уже какой-нибудь MCS взять и со вкусом посидеть? Ну же, аноны, вдохновите меня. Я хоть и распиздяй, но в быдлокодерство пуще огня противлюсь идти.
Пушто syscall. Ты не можешь просто взять и написать код с прямыми инструкциями взаимодействия с периферией, собрать его и запустить в юзерспейсе. Там операционка (не без помощи железа) перехватывает контроль и свои уполномоченные процедуры запускает на основе того, какие аргументы ты в основных регистрах оставил.
>>429926
Какую же лютую хуету ты написал, святой кринж...
>>430025
Взвизгнул максимально, спасибо анон.
Отпишись от них и всячески избегай
Помимо уже упомянутых здесь Петцольда как-то все слегка поверхностно и отвлеченно от реальности и Танненбаума на русский переведено 6 издание суперхуёво, додумывать за долбоеба-переводчика приходится половину в сложных местах.
английский учу, не надо про это.
хенеси паттресон архитектура компьютера
Попробуй лекции на русском на ютубе поискать, там наверняка что-то годное есть.
Хватит ли пройти:
https://stepik.org/course/217/syllabus
https://stepik.org/course/1547/syllabus
https://stepik.org/course/253/syllabus
https://stepik.org/course/1780/syllabus
?
Сам хорошо знаю C, немного Python, учусь в Бауманке на 4 курсе. Хочу потом в маш. об. С матаном все более-менее.
Алгоритмы это ладно, пройди, операционки нахуй не нужны, для мл надо знать питон нормально, сам cs для ml не особо нужен, скорее надо как раз повторить тупую матешу с функциями многих переменных, векторами, свертками, статистику, теорвер. Если хочешь именно CS для ml, а не для общего развития, то обрати внимание на матлогику, в частности нечеткую логику и нечеткий вывод. И вообще вкатывайся быстрее в ml, а то пока пройдешь все эти подготовительные курсы станешь безработным аспирантом
Окей, точно также думаю, решил спросить, спасибо!
Вот это збс тема: https://www.coursera.org/specializations/machine-learning-data-analysis
? Стоит по ней вкатываться?
необходимо начать дрочить именно по воображению, а не на порнуху привычным способом. попробуй. потом отпиши как помогло.
В этом есть и переносный смысл, однако...
А в прямом я без замка живу, дрочу в душе, чтоб сосед не спалил, какой тут еще прон, лол
Что конкретно вызывает вопросы?
Привет, двач. Есть у кого на примете годный курс лекций по алгоритмам? Знаю, что библией алгоритмизации считается книга Кормэна(потом по нисходящей идут Дасгупта и Бхагарва, тоже знаю) и мне нравится её полнота, однако, формальный язык очень и очень отталкивает, не способствуя пониманию. Да и вообще, формат лекций мне как-то ближе, нежели просто чтение книги. В общем, какие требования? Полнота(речь не об N-полноте, лол) Кормэна в сочетании с интересным, не сухоформально рассказывающим преподом. А, да, и чтобы на русском(знаю, что охуел). Подскажите чего по сабжу?
Я ж не знал, что кто-то тут разом во всех тредах сидит. Думал, что везде разное коммунити. Извини
>>437225
>>435732
https://github.com/HeatherEliza/Juli-TwitchBot/blob/master/bot.py
https://github.com/Winderton/TwitchBot/blob/master/bot.py
Да у него даже бот на питоне украденный у какого-то ноунейма. Зачем вам эти советы, которые гугл выдаёт первым запросом?
Я очень уважаю Computer Science, но
>Q: Зачем мне надо изучать computer science?
>A: Для того чтобы стать не быдлокодером, а настоящим программистом.
95% программистов программируют на языках высокого уровня и скриптах и им эта наука не нужна. Ну как, нужна: им достаточно знать, что язык компилируется в машинные коды, а машинные коды выполняются последовательно.
Знание языков низкого уровня и архитектура процессора может понадобиться только тем, кто пишет операционки, драйвера и в embedded.
Я бы не сказал, что знание как работают черные ящики в компуктере делает его небыдлокодером, обычно под "небыдлокодерством" подразумевается следование архитектурным и языковым правилам в какой-то области, набираемое только опытом и код ревью, ну и в ногу себе не стрелять. Если имеется в виду способность быть каким-то архитектором-переархитектором, который постоянно выдумывает велосипеды лучше имеющихся на рынке, то для такого человека конечно нужны именно знания компьютер саенс, но скорее базовые и абстрактные вроде алгоритмов + серьезные практические знания в его предметной области. Если низкоуровщина нужна, то это уже его предметная область, а не что-то базовое, общее и нужное всем
>Я очень уважаю Computer Science
>Знание языков низкого уровня и архитектура процессора
Ты не очень умный, и любишь поговорить о том, чего совсем не понимаешь, да?
Мне тоже Кормэн не зашел. Все разжевано, как для гуманитариев, но упражнения больно охуевшие, и приходится курить аппендикс по математике, КОТОРЫЙ блядь, в свою очередь, представляет из себя люто сумбурную выкладку с такими же охуевшими упражнениями. Короче, есть над чем помедитировать без дополнительной подготовки. А Кнут заебись. Изящный слог, методичная подача идей, вот это все... Пообмазывался началом, и аж захотелось поосновательней вкатиться - взял Concrete Mathematics (развернутый вариант первого раздела). Не исключено ниасилил.жпг, но пока все нравится.
Какой даун вообще придумал использовать этот хипстерский термин computer science. Вообще-то по русски это информатика называется. Пора бы уже вспомнить родной язык, а то каких-то неграмотных индусов напоминаете.
Кибернетика по-советски называется ТАУ, а CS - информатикой. Хотя и там и там это примерно как Буратино и Пиноккио, не совсем то
>Буратино и Пиноккио, не совсем то
Ну положим Пиноккио тоже был Бураттино, прямо в заглавии книжки.
Да, я прочитал шапку, да я поискал на курсере, степике, интуите.
Нет. Просто мне надоело, что если разговор/задачи заходят за тему моей работы, то я сижу и хлопаю глазами. Я хочу понимать.
Запоминай, что говорят, гугли и изучай дома. Просто брать и читать все подряд не имеет смысла.
Ну и база какая-то должна быть, ты что-то должен знать про процы, что-то про оси, что-то про компиляторы, что-то про алгоритмы и структуры данных. Найди по одной книге по каждой тематике с норм отзывами на амазоне, они все плюс-минус одинаковые. Прям мастхэв из всего это только dragon book по компиляторам.
Одного курса, который сделает тебя спецом по CS, чтобы тебе потом не пришлось учить что-то новое, ты все равно не найдешь, поэтому лучше начать с этого, а потом копать куда интереснее.
Спасибо. Придется видимо так как ты описал действовать.
мягкое с теплым путаешь
Какая? У тебя сажа прилипла.
у меня все робит
Помогите студентоте с сортировками связного списка. Вот есть двусвязный список. Если сортировать пузырьком, то вопросов-то вообщем никаких, так как рассматриваемые элементы в каждой итерации являются соседними.
Но есть смысл пытаться сортировать такие списки посредстовом апгрейженых алгоритмов вроде Шелла или квик-сорта?
В случае Шелла, придётся постоянно передвигать поинтеры по списку, что при больших размерах имхо займёт может занимать дохуя времени. С быстрой - ещё дополнительно придётся выделять память после каждого прохода под текущий обрабатывемый список и при этом удалять старый.
Я правильно понимаю, что с подобными структурами отдельная история со своими оценками производительностями, отличными от обычных массивов?
Эмм, как насчет построить временный массив указателей и сортировать qsort-ом? O(n)+O(nlgn) же...
Алсо, проиграл с самой идеи
>придётся постоянно передвигать поинтеры по списку
юзать подход, максимально жадный до сравнений, но невъебенно щедрый до разыменования одних и тех же указателей овердохуя раз
Сап ч, расскажите как вы читаете книги по Cs/Тех.литре. Интерес есть, но сложно сидеть больше 30 минут.
Почему n = O(n^2)? И все остальные тоже не понел. Объясните плез.
Потому что это не равенства. Это гарантии, что медленнее не будет
Книга для тех, кто хочет научиться анализировать алгоритмы. Ну и сами алгоритмы там есть.
Кто не шарит в математике - могут читать книги для макак - там нет страшных формул. Копируешь из книги, вставляешь, все работает.
Я помню читал эту книгу в 14 лет и понимал где-то 20%.
Переписал алгоритм LUP-разложения а он и не работал, я был расстроен. Теперь то конечно многие вещи очевидными стали, но тогда было реально тяжело вкатиться сразу в эту книгу.
Если ты в такой же ситуации советую
https://www.coursera.org/specializations/algorithms
Препод Тим просто охуительный, рассказывает простыми словами то что я не мог понять много лет.
>страшные формулы
Да ради Бога. Готов мешками носить, в ванную высыпать и обмазываться. Ясен хуй, что алгоритмы имеет смысл изучать только комплексно, а не код красно-черного дерева с e-maxx.ru скопипастить. Проблема книги вовсе не в этом...
Алгоритмы мало смысла изучать. Хочешь применить свои мозги - смотри в сторону ML и матстата, хэш-функций, компьютерной графики. А алгоритмы для стандартных контейнеров уже написаны и новые не нужны. Так, поизучать, чтобы изучить разные практики программирования, но не более того.
Я понял, что меня бесит в одних книгах и тащит в других. Для мыслящего человека, когда что-то не понятно сходу, естественнее остановиться и подумать, а не ускоряться за подробным объяснением дальше по тексту. Хорошая книга должна быть составлена так, чтоб работал первый вариант, иначе выходит какое-то макаковоспитательство. Мозг расслабляется и можно реально что-то упустить + удовольствия мало, нет стимула продолжать. Когда сам допер, возникает кайф, а когда ты заранее знаешь, что нихуя не поймешь, пока дядя автор тебе не разжует, то чем дальше, тем с более кислой миной воспринимаешь всю эту чуждую хуету.
> уже написаны и новые не нужны
> для стандартных контейнеров
Для тебя алгоритмы это почти равно структуры данных или мне
показалось?
Ты же понимаешь что бывают алгоритмы которые обобщить вообще довольно сложно (невозможно)? Простой пример - динамическое программирование
Так хэш функции тоже для всего уже написаны и новые не нужны, как и библиотеки для МЛ
Ты же понимаешь, что писать какое-либо утверждение, и добавлять к нему "ты же понимаешь" - признак мудака?
Обсуждается книга Кормена, в которой на то что ты пишешь тянет разве что первая глава. Остальное там это именно что изучение стандартной либы.
>динамическое программирование
Редкая хуйня, часто упоминаемая только из-за олимпиадников. Об этом я и написал в контексте практик программирования - можно поизучать, но не более того.
Я бомбил по поводу Кормэна, подразумевая перекат на другие книги. Однако я бы не сказал, что ЭТО - "художественное" описание исходников STL.
Ну да, наверное я обосрался
Сап двач. Что такое void?
Nothing?!! But what with my eyes?
Поясните за пикрил, че за ранг, откуда у него ноги растут. Главным образом интересует есть ли у него какая-то математическая подоплека, или это просто вспомогательный приемчик. Ну или, возможно, есть какие-то обобщения этой темы.
наверно это связано с operator precedence. ты случайно не про компиляторы читаешь?
Нет, не компиляторы, просто пример инфиксного калькулятора в книжке.
Прост хотелось бы посмотреть на доказательство и до каких пределов это можно обобщить.
Можете подсказать литературу по структурам данных? На метаните вообще не понимаю что написано
>>1539324
Не взяли потому что не пытался или потому что не подошел по собеседованию?
Пузырёк, наверное, даже бомжу с улицы понятен будет.
Хотя доказать его бомжу с улицы не удасться.
разные книги
>Почему ты считаешь себя умнее бомжа?
Потому что русский есть мой не родной язык, и я с ним работаю не каждый день.
ловите блть!)3912
Ты вообще не понял меня, мне насрать, что ты можешь грамотно или неграмотно писать. С чего ты взял, что бомж глупее тебя?
Да, я не прав. Правильнее сказать "глупый человек". Ибо бомжи иногда не от тупости и лень бомжи.
пожалуйста отправьте от 1 до 7 включительно
одной цифрой
на номер 89874153248
цена около 3 рублей т.к. номер татарстана
Ты заголовок треда видел, чепушило формошлёпное?
Вопрос - как настроить openvpn так, чтобы он стал mitm-vpn?
мимо-СиДрочер
Читай On Lisp Грехема, там вся книга про это.
ты вообще линейку изучал?)
если вверху 1 внизу 0 при побитовом И выйдет 0
откуда там вылезло 0.0.6.5
начни со статьи на википедии и по ссылкам
привет треду, подскажите книги по ОС что бы не совсем с места в карьер а так что бы потом понимать таненбаума "современные ОС"
Достаточно долбоёбская статья, к слову
Типа, ололо, в стандарте Си описывается виртуальная машина, поэтому мы прогаем под ВИРТУАЛЬНУЮ МАШИНУ, а не под настоящее железо, а значит си НИХУЯ НЕ УЧИТ ТЕБЯ АРХИТЕКСТУРЕ КОМПА.
Умалчивается чудесный момент, что сейчас даже асм заметает кучу всего под ковёр, типа, блядь протокола взаимодействия ядер с памятью через посредство кэша, и проч и проч.
При этом, почти все концептуальные вещи, что асм не заметает под ковёр, си тоже не заметает под ковёр, ну, в каком-то смысле
Сдавай экзамены, поступай в ШАД Яндекса, хуле
>годная лит-ра совестких времён уже морально устарела
производные или коэффициент корреляции устарели?
правильно - почитать умных дядь, про моды использования криптографических примитивов. если выдумывать самому, сделать что-то взламываемое не легко а оень легко(даже используя разумные примитивы).
>и совковых учебников
Тут имеются в виду всякие общие книжки по дискретке с парой страниц "а вот у нас автомат Мили, а вот автомат Мура, ну ты понел". Более глубокая литература всячески приветствуется.
Кто то может внятно вкрации пояснить почему еще нет GAI, что этому препятствует и тд и тп. Такие можно кинуть ссылку на годную статью на английском.
Ты шаришь в теме? Может го в телегу в чат?
>>216099
Правильно ли я понимаю, что этот раздел ("Программирование") - это часть "Computer Science" (а именно - "Computer Engineering")?
Так как здесь дохуя тредов с "Applications" (ИИ) и тд, то раздел называется неправильно, и его надо было бы переименовать в "Computer Science". Или запилить новый, чтобы туда перешли все треды про "ИИ" и тд? А тут осталось только Computer Engineering
как распараллелить метод монте-карло на дохуилард компов?
2) Пытается ли кто нибудь создать именно интеллект, а не прикладную хуйню ?
3) Кто вообще этим занимается ? частные фирмы или институты типа MIT и прочие.
начал читать таненбаума современные ОС, первая же тема про процессы и потоки, не могу ответить на половину вопросов на эту тему
хуево знаю архитектуру пк, неужели надо с нее начинать было
> Как далеко продвинулась наука в области ИИ на данный момент ?
Никто не понимает как использовать логику второго порядка и потому из-за появившихся вычислительных мощностей все просто методом тыка пытаются создать что-то, надеюсь что оно само собой выработает что-то подходящее.
>есть что нибудь круче, чем "умная" кофеварка или контекстная реклама ?
Да.
> Пытается ли кто нибудь создать именно интеллект, а не прикладную хуйню ?
Да, конечно.
С дивана отвечаю, лучше не слушай. Не представляю что там пробуют местные нерды за закрытыми дверьми.
да черт его побери тысяча килобит езернет его!!!
Желательно в видео формате на часик времени (если возможно).
>Никто не понимает как использовать логику второго порядка и потому из-за появившихся вычислительных мощностей все просто методом тыка пытаются создать что-то, надеюсь что оно само собой выработает что-то подходящее.
как ты собираешься логику второго порядка "использовать"? Для неё теорема Гёделя о полноте не работает, хуле там делать?
Не буду.
Есть ли алгоритм в O(n) и лучше для обьеденения и пересечения множеств, основаных на красно-черных деревьях?
лучше знать чем не знать
Хотел такой учебник купить
Для цифровой обработки сигналов и теории кодирования пригодится.
Ну вот, например, я скажу, что извлекаются одновременно. На самом деле я хз, как оно на самом деле, но я не вижу причин, чтобы было последовательно.
Что тебе это даст?
Процессор так то тоже не особо сложный, на уровне вентилей.
Придумай архитектуру с вменяемым объёмом и малой латенси, раз всё совсем просто.
Принцип ракетного двигателя тоже максимально простой, но для того чтобы технология не просто заработала, а стала эффективной и пригодной для чего-то большего, чем стенд с демонстрацией принципа работы - нужно не один десяток ежей родить.
Почему в пасте нет книги таненбаума?
Это простой процессор несложный.
А если добавить всяких оптимизаций: переупорядочивание инструкций, параллельное исполнение назависимых, спекулятивное исполнение, то будет довольно сложно. А ещё чтобы всякие Spectre от таких оптимизаций не возникали...
Я знаю. О том и речь, я же как раз про всё то же самое написал в отношении памяти - которая пусть даже и проще, но всё-равно сложная.
Я не бачу вообще в чем делать и как подрубить ии, слышал про GPT-2, но не нашел как его подключить куда-то или что-то в этом роде. Если тут есть парни которые в этом разбираются, расскажите пж как делать это в принципе, сначала нужно написать саму текстовую игру, а потом генерировать стори через бота, или как?
А что ты хочешь?
Как называется обратная syscall операция? Коллбэк из ядра в юзер спейс?
https://www.youtube.com/channel/UCS0N5baNlQWJCUrhCEo8WlA
Увлекательно и понятно рассказывает про передачу данных на самом низком уровне, но по-английски.
Не знаю насчёт существования конкретного алгоритма, но попробую описать то, что сам только что придумал.
Начнём с объединения. В общем, выпишем все вершины каждого в порядке возрастания в отдельный массив. Для этого будем при обходе дерева будем идти сначала в левую ветку, затем выписывать вершину, а потом в правую. Затем стандартным способом, как в merge sort, объединим эти массивы. И затем построим обратно новое дерево. Для этого будем рекурсивно делать следующее действие: на каждом шаге берём центральную элемент в списке, как корень текущего поддерева, бьём массив на две части в этой вершине и запускаемся от левой и правой половин. В процессе нужно только правильно красить вершины.
С пересечением почти тоже самое, только нужно подкорректировать объединение двух массивов: добавляем элемент в результат только тогда, когда элементы на текущих позициях двух указателей равны и увелечиваем оба указателя одновременно.
Любая часть алгоритма работает за O(n) и даже рекурсивная, т.к. каждый шаг отрабатывает за O(1) и в конце каждый элемент бывает рассмотрен.
На самом деле, с объединением достаточно весело, если все ключи в первом дереве меньше, чем в правом, то как и любое сбалансированное дерево их можно объединить за O(log n).
Есть очень простая, но крутая структура - декартово дерево (декартач, курево, treap и прочие), вершины которой состоят из пар значений (x, y). x - ключ, y - приоритет. Это дерево образует бинарное дерево поиска по x и бинарную кучу по y. В действительности, y - это случайно сгенерированные числа, благодаря чему дерево получается сбалансированным. На практике обычно не используется (хотя по слухам от чуваков, учившихся и работавших с Н. Дуровым, в Telegram очень много данных хранится во вложенных декартачах), т.к. опирается на случайность и ожидаемая высота у него больше, чем у AVL и RB. Но для него есть крутые алгоритмы.
Например, его можно объединять амортизированно за O(log ^ 2 n) без выполнения инварианта о ключах.
https://codeforces.com/blog/entry/56943
Если в коде нужно часто выполнять эту операцию, то это хороший tradeoff)))
Не знаю насчёт существования конкретного алгоритма, но попробую описать то, что сам только что придумал.
Начнём с объединения. В общем, выпишем все вершины каждого в порядке возрастания в отдельный массив. Для этого будем при обходе дерева будем идти сначала в левую ветку, затем выписывать вершину, а потом в правую. Затем стандартным способом, как в merge sort, объединим эти массивы. И затем построим обратно новое дерево. Для этого будем рекурсивно делать следующее действие: на каждом шаге берём центральную элемент в списке, как корень текущего поддерева, бьём массив на две части в этой вершине и запускаемся от левой и правой половин. В процессе нужно только правильно красить вершины.
С пересечением почти тоже самое, только нужно подкорректировать объединение двух массивов: добавляем элемент в результат только тогда, когда элементы на текущих позициях двух указателей равны и увелечиваем оба указателя одновременно.
Любая часть алгоритма работает за O(n) и даже рекурсивная, т.к. каждый шаг отрабатывает за O(1) и в конце каждый элемент бывает рассмотрен.
На самом деле, с объединением достаточно весело, если все ключи в первом дереве меньше, чем в правом, то как и любое сбалансированное дерево их можно объединить за O(log n).
Есть очень простая, но крутая структура - декартово дерево (декартач, курево, treap и прочие), вершины которой состоят из пар значений (x, y). x - ключ, y - приоритет. Это дерево образует бинарное дерево поиска по x и бинарную кучу по y. В действительности, y - это случайно сгенерированные числа, благодаря чему дерево получается сбалансированным. На практике обычно не используется (хотя по слухам от чуваков, учившихся и работавших с Н. Дуровым, в Telegram очень много данных хранится во вложенных декартачах), т.к. опирается на случайность и ожидаемая высота у него больше, чем у AVL и RB. Но для него есть крутые алгоритмы.
Например, его можно объединять амортизированно за O(log ^ 2 n) без выполнения инварианта о ключах.
https://codeforces.com/blog/entry/56943
Если в коде нужно часто выполнять эту операцию, то это хороший tradeoff)))
Вероятно есть.
Я как истинный программист никогда не читал книг ни по алгоритмам, ни по структурам данных, но вот накидал для обычных деревьев: https://ideone.com/XsREc2
Не вижу причин почему то же самое не сработает для цветного дерева, отличия вроде бы только при добавлении/удалении отдельных элементов из-за автоперебалансировки, что не актуально при пересборке дерева полностью.
Могу попробовать переписать без использования вектора на стадии слияния и с цветными листьями, если очень надо.
Мои результаты на картинке (нужно в 329 строке заменить fun(2) на fun(10) и раскомментировать 316227 ниже для более стабильных результатов). Как можно заметить, коэффициент при n почти постоянен (немного повышается из-за того что данные в кеш умещаются всё хуже и хуже, скорее всего), а при nlog(n) снижается.
Стандартная же функция set_intersection/set_union из STL коэффициент при n повышает, а при nlog(n) сохраняет. Даже если использовать промежуточный вектор, что довольно странно.
Такое дело: надо определить дисперсию системы по набору из данных (пример на пикриле)
У нас есть набор неких параметров из нескольких независимых исследований. Можно найти дисперсию каждого отдельного параметра, но как найти дисперсию всей системы? Не складывать же их
начал?
Для того, чтобы влиться,так сказать, в вашу сферу, что нужно учить?
Идти в какой то язык(например, питон) и смотреть, что можно с ним делать, и так постепенно изучать новое и новое.
ИЛИ же большую часть времени уделить comp science (Алгоритмы, базы данных, структуры , типы данных и прочее), не привязываясь к языку (книжки там на каждую тему немаленькие)
С одной стороны, если валить все силы в язык и опыт там, то быстрее приду к тому, что смогу быть полезным где-то, но с другой стороны, если я прочитаю все эти книжки умные(мб даже пойму), по идеи, я должен быть более ценным программистом?
В общем, помогите структурировать своё обучение, поделитесь опытом.
В CS50 тоже есть задачи в конце каждого урока.
Посоветуйте плиз книгу по парадигмам программирования, ооп, структурам и типам данных, паттернам и т.д.
Спрашивал в ньюфаго-треде, но там что-то не ответили.
Вроде, котики и статистика, изучай {Erlang|Haskell} во имя добра.
Как гуглить такие научно-популярно материалы?
Двач, в чем отличия 'Код. Тайный язык информатики." 2001 года от издания 2020?
Прочитай и узнаешь, дебил! Тут таких как ты не любят!
Учись писать код, и параллельно гоняй теорию.
Бери любую книгу с название Алгоритмы и структуры данных,
потом книгу про паттерны проектирования на своем языке и просто более углубленную книгу про твой язык, где будут раскрыты всякие фишечки, ООП там будет, если язык это поддерживает.
Я бы обобщил "расстояние Левенштейна" на векторы. Там как раз есть перестановки, вставки и удаления символов что подходит для векторов разной длины.
Просто заменить "цену замены" с константы на модуль разницы компонент, или модуль логарифма отношения компонент - в зависимости от природы данных.
Это копия, сохраненная 19 августа 2020 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.