Pull to refresh
63
0
Андрей @Smi1e

User

Send message
Число Пи полностью скачали, или всё ещё докачиваете?)
> Проведём маленький эксперимент, если Вы не против — мне любопытно чего такого я не знаю на фундаментальном уровне, из того, что преподают в ВУЗах в качестве базы.

Ну я вот писал программу по нескольким курсам, один из основных — «Алгоритмы и структуры данных», вот база (не все, особенно и последнего семестра, нужно знать и доказывать, но основные свойства полезно знать).

Вот примерный список, я надеюсь, он после обкатки скорректируется. Общий объем 225 часов (чисто лекции, практика Python-C-C++ идет отдельными часами).

Поиск в массиве
1.1 Линейный поиск
1.2 Двоичный поиск
1.3 Троичный поиск
1.4 Интерполяционный поиск
Структуры данных
1.5 Массив
1.6 Стек
1.7 Очередь, двусторонняя очередь
1.8 Словарь
1.9 Хеш-таблица

Сортировки, анализ алгоритмов
2.1 Bubble sort (пузырьковая сортировка)
2.2 Merge sort (сортировка слиянием)
2.3 Quick sort (быстрая сортировка)
2.4 Bucket sort (блочная сортировка)
2.5 Heap sort (пирамидальная сортировка)
2.6 Insertion sort (сортировка вставками)
2.7 Counting sort (сортировка подсчетом)
2.8 Radix sort (порязрядная сортировка)
2.9 Timsort и другие гибридные алгоритмы сортировки

Рекурсия, математическая индукция
3.1 Хвостовая рекурсия
3.2 Обратная польская запись
3.3 Числа Каталана
3.4 Вычисление биномиальных коэффициентов
3.5 Метод градиентного спуска
3.6 Метод сопряженных градиентов
3.7 Принцип динамического программирования
3.8 Метод ветвей и границ
3.9 Методы Gradient boosting
3.10 Алгоритм Кадана
3.11 Поиск методом золотого сечения
3.12 Производящие функции
3.13 Запаздывающие генераторы Фибоначчи
3.14 Memoization
3.15 Корекурсия
3.16 Задача 3-SAT
3.17 Алгоритм фрактального сжатия
Структуры данных (рекурсивные)
3.18 Список
3.19 Дерево
3.20 Граф

Строки
4.1 Z-функция
4.2 Алгоритм Кнута-Морриса-Пратта
4.3 Алгоритм Ахо-Корасик
4.4 Алгоритм Бойера-Мура
4.5 Алгоритм Бойера-Мура-Хорспула
4.6 Сходство Джаро-Винклера
4.7 Расстояние Левенштейна, алгоритм Укконена
4.8 Расстояние Дамерау-Левенштейна
4.9 Алгоритм Карпа-Миллера-Розенберга
4.10 Алгоритм Каркайнена-Сандерса
4.11 Алгоритм Арикавы-Аримуты-Касаи-Ли-Парка
4.12 Алгоритм Ву-Менбера
4.13 Алгоритм Ландау-Вишкена
4.14 Алгоритм Майерса
Структуры
4.15 Префиксное дерево
4.16 Суффиксный массив
4.17 Суффиксное дерево

Порядковые статистики, потоковые алгоритмы
5.1 Алгоритм BFPRT
5.2 Алгоритм Манро-Патерсона
5.3 Алгоритм Канна-Гринвальда
5.4 Алгоритм большинства голосов Бойера-Мура
5.5 Алгоритм Lossy Count

Деревья
6.1 Эйлеров обход дерева, DFS, BFS
6.2 Двоичное дерево поиска
6.3 Декартово дерево
6.4 Красно-черное дерево
6.5 АВЛ-дерево, дерево Фибоначчи
6.6 Splay tree (расширяющееся дерево)
6.7 B, B+, B* дерево, 2-3 дерево
6.8 PQ-дерево
6.9 Дерево отрезков
6.10 Дерево Фенвика
6.11 Алгоритм двоичного подъема (задача LCA)
6.12 Алгоритм Фарах-Колтона и Бендера (RMQ, LCA)
6.13 Sqrt-декомпозиция
6.14 Центроидная декомпозиция
6.15 Heavy-light декомпозиция
6.16 Фибоначчиева куча
6.17 Куча, 2-3 куча
6.18 Очередь с приоритетами
6.19 Множество
6.20 Система непересекающихся множеств
6.21 Лес непересекающихся множеств
6.20 Ассоциативный массив

Графы
7.1 Обход в ширину (BFS)
7.2 Обход в глубину (DFS)
7.3 Топологическая сортировка
7.4 Алгоритм Munagala-Ranade
7.5 Алгоритм Mehlhorn-Meyer
7.6 Задача о динамической связности
7.7 Алгоритм поиска точек сочленения графа
7.8 Алгоритм поиска мостов графа
7.9 Алгоритм Косараю
7.10 Алгоритм Тарьяна
7.11 Задача 2-SAT
7.11 Алгоритм Брона-Кербоша
7.12 Конденсация графа
7.13 Раскраска графа
7.14 Задача о назначениях
7.15 Венгерский алгоритм
7.16 Алгоритм Ульмана
Структуры
7.17 Матрица смежности
7.18 Матрица достижимости
7.19 Матрица сильной связности
7.20 Матрица Лапласа
7.21 Матрица Инцидентности
7.22 Список смежности
7.23 Список ребер

Графы: циклы
8.1 Алгоритм поиска Эйлерова цикла
8.2 Алгоритм поиска Эйлерова пути
8.3 Алгоритм поиска Гамильтонова цикла
8.3 Алгоритм поиска Гамильтонова пути
8.4 Задача Коммивояжера

Графы: остовное дерево
9.1 Теорема Кирхгофа
9.2 Теорема Кэли о числе деревьев, код Прюфера
9.3 Лемма о безопасном (минимальном) ребре
9.4 Алгоритм Краскала
9.5 Алгоритм Примы
9.6 Алгоритм Борувки
9.7 Задача устранения петель в сети Ethernet (STP)
9.8 Задача Штейнера

Графы: кратчайший путь
10.1 Алгоритм Дейкстры
10.2 Алгоритм Best-First
10.3 Алгоритм A*
10.4 Алгоритм Левита
10.5 Алгоритм Беллмана-Форда
10.6 Алгоритм Флойда-Уоршелла
10.7 Алгоритм ALT
10.8 Алгоритм Reach-based pruning

Графы: потоки в сетях
11.1 Алгоритм Форда-Фалкерсона
11.2 Алгоритм Эдмонса-Карпа (алгоритм Диница)
11.3 Алгоритм поиска потока минимальной стоимости
11.4 Сети Петри
11.5 Алгоритм проверки графа на двудольность
11.6 Алгоритм раскраски двудольного графа
11.7 Алгоритм Хопкрофта-Карпа
11.8 Венгерский алгоритм
11.9 Blossom алгоритм (алгоритм Эдмондса)
11.10 Алгоритм Штор-Вагнера

Геометрия
12.1 Метод Гаусса
12.2 Поиск точек в прямоугольнике
12.3 Алгоритм Бентли-Оттмана
12.4 Алгоритм Грэхема
12.5 Алгоритм Джарвиса
12.6 Алгоритм Чана
12.7 Алгоритм Киркпатрика
12.8 Метод трассировки луча
12.9 Метод суммирования углов
12.10 Диаграмма Вороного и триангуляция Делоне
12.11 Алгоритм Форчуна
12.12 Рекурсивное построение диаграммы Вороного
12.13 SLERP
Структуры
12.13 R, R+, R* дерево
12.14 K-мерное дерево
12.15 BSP, VP дерево
12.16 Дерево покрытий

Персистентные структуры
13.1 Метод копирования пути
13.2 Метод толстых узлов
Структуры
13.3 Персистентный стек
13.4 Персистентная очередь
13.5 Персистентное дерево

Консенсус в сетях
14.1 Алгоритм Paxos
14.2 Задача Византийских генералов
14.3 Кворум
14.4 CAP-теорема
14.5 PACELC-теорема
14.6 Королевский алгоритм
14.7 Алгоритм Zyzzyva
Структуры
14.8 Blockchain

Целочисленное программирование
15.1 Каноническая форма, сложность решения
15.2 Алгоритмы полного перебора
15.3 Алгоритм Нарайаны
15.4 Задача о ранце
15.5 Алгоритм Meet-in-the-Middle
15.6 Задача раскроя
15.7 Метод обратного поиска
15.8 Задача планирования производства
15.9 Задача оптимизации телекоммуникационных сетей
15.10 Метод секущих плоскостей, алгоритм Гомори
15.11 Алгоритм Альфа-Бета отсечений
15.12 Жадные алгоритмы
15.13 Матроиды, алгоритм Радо-Эдмонса

Быстрые вычисления
16.1 Умножение Карацубы
16.2 Алгоритм Шенхаге-Штрассена
16.3 Алгоритмы возведения числа в степень
16.4 Алгоритмы возведения в степень числа по модулю
16.5 Алгоритм Кули-Тьюки
16.6 Алгоритм Штрассена

Факторизация
17.1 Алгоритм Евклида (НОД)
17.2 Алгоритм факторизации Ферма
17.3 Метод квадратичных форм Шенкса
17.4 Ро-алгоритм Полларда
17.5 Метод квадратичного решета
17.6 Общий метод решета числового поля
17.7 Факторизация с помощью эллиптических кривых
17.8 Тест Агравала-Каяла-Саксены
17.9 Алгоритм Берлекэмпа

Дискретное логарифмирование
18.1 Алгоритм Гельфонда-Шенкса
18.2 Алгоритм COS

Обработка очередей
18.1 Семейство алгоритмов Round-robin
18.2 Алгоритм EDF
18.3 Алгоритм SRTF
18.4 Алгоритм Fixed-priority pre-emptive scheduling
18.5 Задача составления расписания (JSP, OSSP)
18.6 CFS планировщик
18.7 BFS планировщик

Кеширование
19.1 T-дерево
19.2 Алгоритм Белади
19.3 FIFO, LIFO кеширование
19.4 LRU, PLRU кеширование
19.5 MRU кеширование
19.6 RR кеширование
19.7 LFU кеширование
19.8 MQ кеширование
19.9 ARC кеширование

Рандомизированные алгоритмы
20.1 Метод Монте-Карло
20.2 Поиск наименьшего набора ребер, разрезающего циклы
20.3 Муравьиный алгоритм
20.4 Алгоритм Каргера
20.5 Изоморфизм графов (алгоритм Blum-Kanan)
20.6 Rapidly exploring random tree
20.7 Тасование Фишера-Йетса
20.8 Алгоритм Karloff–Zwick

Вероятностные тесты на простоту
21.1 Тест Ферма
21.2 Тест Миллера-Рабина
21.1 Тест Бейли-Померанца-Селфриджа-Уогстаффа

Вебграфы
22.1 Модель Болобаша-Альберта
22.2 Модель Болобаша-Риордана
22.3 Модель Бакли-Остгус
22.4 Модель копирования
22.5 PageRank, Google matrix
Структуры
22.1 MapReduce
22.2 Apache GiGraph
22.3 Pregel

Хеширование
23.1 Двойное хеширование
23.2 Фильтр Блума
23.3 Count-min sketch
23.4 Универсальное хеширование
23.5 SWIFFT
23.6 MD5
23.7 SHA-2
23.8 SHA-3 (Keccak)
23.9 Дерево Меркла
23.10 Подпись Меркла
23.11 Хеш-функции, учитывающие близость (LSH)
23.12 Хеширование на основе расстояния Хэмминга
23.13 MinHash
23.14 SimHash
23.15 Поиск ближайшего соседа c помощью LSH

** При этом стоит учесть что запланированы еще курсы по Теории графов, Дискретной математике, Экстремальным задачам, Машинному обучению, Теории сложности и пр.пр.пр. Т.е. это просто фундаментальный курс по алгоритмам и структурам данных, который является точкой отсчета для всего остального (ну как курс по Математическому анализу).

*** Это несколько больше чем я сам знаю, так что это еще и мой план для себя подтянуть неизвестные/забытые темы. Обсудив его с коллегами, на предмет кто будет читать мы пришли к выводу, что мы все были бы рады и сейчас прослушать такой курс.

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


А, вот ещё что. "По работе с массами" могу предложить свою книгу. Я там, конечно, не митинги разгоняю, но вам понравится.

А я заглядываю на colorscheme.ru и он мне дает вроде бы приемлемый набор оттенков, уж не знаю, замешивает по феншую или нет. Вот наборчик для цвета FB: colorscheme.ru/#3K11TlOszw0w0
Читая заголовок, вспомнил анекдот:
— Ваши сильные стороны?
— Настойчивость.
— Спасибо. Мы вам перезвоним.
— Я тут подожду.
Чума! Спасибо! Этот парень знатный читер! Кликабельная ссылка: https://trixter.oldskool.org/2014/06/19/8088-domination-post-mortem-part-1/

А как же куча неправильных глаголов и всякие языковые конструкции (типа такого).
А уж фонология в английском — полный мрак.
image


Вот эсперанто — простой. Потому что его так задумывали.

Все не так :) Поскольку основная цель таких заведений — это прибыль на поточном производстве, то берется самый дешевый кофе, добавляются ароматизаторы, сахар и вуаля — бурда для офисного планктона готова. Зато как на Wall street — все куда-то бегут и у каждого в руках ЭТО… У нас в Москва-Сити постоянно давка за этими стаканчиками и все думают, что этот напиток помогает им быть более собранными, хотя на первый план выходит «чтобы быть как в кино».
Да, вы верно заметили, был такой сайт — a.singlediv.com, правда там только один человек все это делал.
Можно совсем колхозным способом — включить в реестре BSOD по ctrl+double scrolllock и включить запись полного дампа при крашах.
UFO landed and left these words here
Цветной вариант: jsfiddle.net/cVGr3/1/
UFO landed and left these words here

Да вроде как раз в КД можно к каждой главе сэмплы писать, которые к концу книги превратятся во что-то похожее на компилятор)
Ну тогда как-то так ;-)

Почему еще никто не запостил это:
#define подъёбку setlocale
#define чуть_чуть 7
#define так_себе 12
#define пошло_оно_всё 120
#define срака double
#define волосатая unsigned long
#define фигню фигня
#define кидай cin >> 
#define кончил }
#define начал {
#define конкретно *
#define ну )
#define в_общем (
#define кагбэ [ 
#define ХУЙ 0
#define да ] 
#define какая_то int
#define какой_то int
#define какое_то int
#define какие_то int
#define давай void
#define туды_сюды for
#define Слышь_это cout <<
#define эээ <<
#define и_ещё_больше ++
#define хуякс /
#define Подрыхнуть Sleep
#define подвинь_жопу new
#define бля endl
#define шнягу шняга
#define стал =
#define стала =
#define стало =
#define стали =
#define взад return
#define ну_если_уж if
#define убрать_нахуй delete
#define Закрой_Пасть CloseHandle
#define УЁБИЩЕ HANDLE
#define стало_похоже_на ==
#define говно NULL
#define присобачить +=
#define тогда /*WTF*/
#define Жди_Хрен_Дождёшься WaitForSingleObject
#define вантуз GetLastError
#define ХУИТА main // sic!
#define поехали CreateThread
#define въёбывай LPTHREAD_START_ROUTINE
#define почти <
#define норма 1
#define ДОХУЯ INFINITE
#include <windows.h>
#include <iostream>
#pragma warning в_общем disable: 4244 ну 
using namespace std;
 
какая_то фигня;
какие_то маленькое, ОГРОМНОЕ;
какие_то Ленин, ЕБАНУТОСТЬ;
 
давай поработай в_общем какая_то конкретно шняга ну 
начал 
	маленькое стало шняга кагбэ ХУЙ да;
	какой_то козёл, говнистость;
	туды_сюды в_общем козёл стал норма; козёл почти фигня; козёл и_ещё_больше ну 
	 начал 
		ну_если_уж в_общем шняга кагбэ козёл да почти маленькое ну 
		 начал 
			маленькое стало шняга кагбэ козёл да;
			Ленин стал козёл;
			Подрыхнуть в_общем так_себе ну;
		 кончил 
	 кончил 
 
	Слышь_это "\n\nМинимальный элемент массива: " эээ маленькое эээ бля;
 
	ОГРОМНОЕ стало шняга кагбэ ХУЙ да;
	туды_сюды в_общем говнистость стало норма; говнистость почти фигня; говнистость и_ещё_больше ну 
	 начал 
		ну_если_уж в_общем шняга кагбэ говнистость да > ОГРОМНОЕ ну 
		 начал 
			ОГРОМНОЕ стало шняга кагбэ говнистость да;
			ЕБАНУТОСТЬ стала говнистость;
			Подрыхнуть в_общем пошло_оно_всё ну;
		 кончил кончил 
 
	Слышь_это "\n\nМаксимальный элемент массива: " эээ ОГРОМНОЕ эээ бля; кончил 
	 какая_то ХУИТА в_общем ну начал подъёбку в_общем ХУЙ, ".1251" ну;
 
	Слышь_это "\nВведите размерность массива: \n"; кидай фигню;
	какая_то конкретно шняга стал подвинь_жопу какая_то кагбэ фигня да;
	Слышь_это "\nВведите элементы массива: \n";
 
	туды_сюды в_общем какой_то козёл стал говно; 
	козёл почти фигня; козёл и_ещё_больше ну кидай шнягу кагбэ козёл да;
	волосатая пизда;
 
	УЁБИЩЕ быдло стало поехали в_общем говно, говно, в_общем въёбывай ну поработай, в_общем давай конкретно ну шняга, ХУЙ, &пизда ну;
 
	ну_если_уж в_общем быдло стало_похоже_на говно ну тогда взад вантуз в_общем ну; // Если ошибка
 
	// Находим среднее арифметическое
	срака посередине стало шняга кагбэ ХУЙ да;
	туды_сюды в_общем какая_то козёл стал норма; козёл почти фигня; козёл и_ещё_больше ну 
	 начал 
		посередине присобачить шнягу кагбэ козёл да;
		Подрыхнуть в_общем чуть_чуть ну;
	 кончил 
	посередине стало посередине хуякс фигня;
	Слышь_это "\n\nСреднее арифметическое элементов массива: " эээ посередине эээ бля;
 
	Жди_Хрен_Дождёшься в_общем быдло, ДОХУЯ ну; // Ждём, пока поток поработай закончит работу
 
	какая_то писька стала посередине; // Целая часть
	шняга кагбэ Ленин да стал писька; // Замена минимума
	шняга кагбэ ЕБАНУТОСТЬ да стала писька; // Замена максимума
 
	Слышь_это "\nМассив с заменой минимума и максимума на целую часть среднего арифметического: \n" эээ бля;
	туды_сюды в_общем какая_то какашка стала говно; какашка почти фигня; какашка и_ещё_больше ну 
		начал Слышь_это шняга кагбэ какашка да эээ " "; кончил 
	Слышь_это бля эээ бля;
	Закрой_Пасть в_общем быдло ну; // Закрываем дескриптор потока
	убрать_нахуй шнягу;
	взад ХУЙ; кончил
GIF, которая должна быть здесь

Два профессионала не сошлись в естимэйте. Это само по себе не редкость, и случается сплошь и рядом. Но ваш вывод «избегайте евреев» не характеризует вас как профессионала, а в данном конкретном случае скорее наоборот.
Вообще же профессионала, помимо глубоких технических знаний, отличают отсутствие эмоций по поводу легаси кода, устаревшего стека, наличия/отсутствия процессов/тестов/бизнес аналитиков/тестировщиков/документации. Профессионал работает с тем что есть, объясняет клиенту имеющиеся недостатки и проблемы в понятных клиенту терминах, и знает, где у него оканчивается компетенция.
Поэтому соглашусь, что 6 лет это немного. Для мемуаров точно маловато.
Шёл тестировщик по лесу. Бежал тестировщик по лесу. Полз тестировщик по лесу. Ехал на велосипеде тестировщик по лесу. Летел на дельтаплане тестировщик над лесом. Видит — машина горит. Сел в машину. Запрыгнул в машину. Пролез в машину через опущенное боковое стекло. Пролез в машину через поднятое боковое стекло. Пролез в машину через багажник. И сгорел-утонул-взорвался-мутировал-телепортировал. И сидит теперь, струячит задачу на джире.

Information

Rating
Does not participate
Location
Россия
Registered
Activity