Обсуждение:Метод четырёх русских для умножения матриц — различия между версиями
Строка 25: | Строка 25: | ||
: {{tick | ticked=1}} Оценка сложности и выбор k - немного перемудрили. Тут на самом деле нельзя асимптотически улучшить выбором k, но это непросто показать. Достаточно сказать, что выбрав k = \Omega(log n) получаем требуемую сложность | : {{tick | ticked=1}} Оценка сложности и выбор k - немного перемудрили. Тут на самом деле нельзя асимптотически улучшить выбором k, но это непросто показать. Достаточно сказать, что выбрав k = \Omega(log n) получаем требуемую сложность | ||
: {{tick | ticked=1}} Код убрать или заменить на псевдокод | : {{tick | ticked=1}} Код убрать или заменить на псевдокод | ||
− | : {{tick}} Нужен пример и, желательно, картинка" | + | : {{tick | ticked=1}} Нужен пример и, желательно, картинка" |
:: Пример хороший, но все-таки, обозначь не 0, 1, 2, 3, а 00, 01, 10, 11, будет нагляднее. --[[Участник:Dgerasimov|Дмитрий Герасимов]] 23:37, 12 января 2012 (MSK) | :: Пример хороший, но все-таки, обозначь не 0, 1, 2, 3, а 00, 01, 10, 11, будет нагляднее. --[[Участник:Dgerasimov|Дмитрий Герасимов]] 23:37, 12 января 2012 (MSK) |
Версия 23:57, 12 января 2012
- ☑ Добавить анализ (почему именно log n) оценки для k.
- ☑ «трудоёмкость» — бррр, асимптотика же.
- ☑ Добавить псевдокод
- писал кучу раз — псевдокод должен явно принимать входные данные и явно возвращать ответ. Тут я этого не наблюдаю.
- не понимаю, в чем сложность сделать код одной функцией, без всякого ввода-вывода. ладно, хрен с ним.
- аргумент после log не в скобках(done)
- Насколько я помню, в c++, java и вообще большинстве ЯП log — это натуральный логарифм, пиши явно log2.(done)
- cursuma и т.п. никуда не годится, используй camelCase.(done)
- Зачем большие I и J?(done)
- Что за precul? Во-первых, используй какой-то стиль именования переменных, во-вторых, calculation.(done)
- log n округлено вверх, или вниз? Разберись и напиши в коде явно, создаётся ощущение что k — double.(done)
- Для возведения в степень лучше использовать **, так как во многих языках программирования ^ — xor.(done) // ты таки написал (1 << k) вместо явного 2 ** k. В общем-то ладно, и в программе все сдвиг, конечно, юзают, но, имхо, псевдокод надо как можно более явным делать.
- Зачем вообще всё написано словами? Считаешь скал. произведения - отображай это кодом(хотя бы функцией dotProduct), если хочешь — напиши коммент. В общем, слишком много слов в псевдокоде.(done)
- писал кучу раз — псевдокод должен явно принимать входные данные и явно возвращать ответ. Тут я этого не наблюдаю.
- ☑ Зачем раздел «постановка задачи»? Перемести это в шапку.
- Зачем «Рассмотрим следующую задачу:»? Пиши сразу условие задачи, зачем его цитировать? А ещё точка ставится после закрывающей кавычки, а не перед.
- ☑ Зачем такой маленький раздел «предподсчет»? Объедини его со сжатием матриц.
- ☑ используй везде n одинакового размера
- ☑ указать ссылки на какие-нибудь источники
- ☑ добавить категории
- Кстати, лучше подписываться. Я тоже забыл в прошлый раз, но всё же.
--Дмитрий Герасимов 07:57, 16 декабря 2011 (MSK)
Замечания АС
- ☑ Оценка сложности и выбор k - немного перемудрили. Тут на самом деле нельзя асимптотически улучшить выбором k, но это непросто показать. Достаточно сказать, что выбрав k = \Omega(log n) получаем требуемую сложность
- ☑ Код убрать или заменить на псевдокод
- ☑ Нужен пример и, желательно, картинка"
- Пример хороший, но все-таки, обозначь не 0, 1, 2, 3, а 00, 01, 10, 11, будет нагляднее. --Дмитрий Герасимов 23:37, 12 января 2012 (MSK)