Или с любимой гуавой :
String[] both = ObjectArrays.concat(first, second, String.class);
Также есть версии для примитивных массивов:
Booleans.concat(first, second)
Bytes.concat(first, second)
Chars.concat(first, second)
Doubles.concat(first, second)
Shorts.concat(first, second)
Ints.concat(first, second)
Longs.concat(first, second)
Floats.concat(first, second)
Concrete Mathematics: A Foundation for Computer Science было бы моим предложением для книга, охватывающая некоторые сложные темы.
Любому программисту было бы хорошо иметь твердое понимание на уровне бакалавриата следующих математических курсов:
Это основы. Если вы думаете о графике или программировании игр, у вас есть целый ряд дополнительных курсов по физике, графике и, возможно, гидродинамике.
Для введения в дискретную математику я настоятельно рекомендую это.
Мне очень повезло, что мне предоставили эту книгу из Университета
Хотя вы ожидаете, что settings.php чтобы быть доступным для view.php, поскольку он был включен в сценарий, который включает их обоих, я обнаружил, что обычно это не так. У вас есть несколько вариантов:
Если вы заинтересованы в разработке игр, 3D-графика или что-либо, имеющее к этому отношение, затем займитесь многомерным исчислением и фундаментальной физикой. Это поможет вам лучше понять основные концепции. Кроме того, линейная алгебра очень поможет со всеми матрицами / векторами, которые вы будете делать.
Если вас НЕ интересуют эти темы, я бы все же сказал, что изучайте математику и физику. Почему? Решение математических и физических задач дает вам хороший опыт в решении задач и тренирует мозг. Программистам НУЖНО хорошо решать проблемы ... это наша работа. Концепции, которые вы усвоите на этих курсах, вы будете хранить при себе до конца жизни.
В MIT и Стэнфорде есть действительно хорошие онлайн-курсы по таким темам. Конечно, вы не можете просто перейти к многомерному исчислению без более простых вычислений, но у Массачусетского технологического института и Стэнфорда также есть ресурсы для ваших базовых классов исчисления. Будет немного легче освоить основы физики. Опять же, вы можете проверить физику в Массачусетском технологическом институте и Стэнфорде.
MIT OpenCourseWare :
Вообще говоря, приложения математики к компьютерному программированию в значительной степени зависят от предметной области, то есть вам необходимо знать математику, которую требует написанная вами конкретная программа. Единственные математические темы, которые, как мне кажется, применимы ко всем видам программирования, - это простая арифметика и логическая логика, но я думаю, что если бы вы еще не знали их, вы бы не стали большим программистом; -)
В принципе, я бы просто рекомендовал изучать математику по мере необходимости для любого проекта, над которым вы работаете. Если вы хотите дать себе хороший повод изучить новую математику, начните увлекательную программу, которая занимается математикой.
Некоторое время назад Стив Йегге написал специальную статью о математике для программистов . Его тезис: Как программист, вы должны изучать математику, но вы должны делать это иначе, чем в школе / университете.
Его резюме таково:
- Математику намного легче освоить, если вы научитесь программировать . На самом деле, если вы хоть немного приличный программист, то обнаружите, что это почти несложно.
- В школе учат математике неправильно. Да, ПУТЬ неправильно. Если вы научитесь математике правильно, вы научитесь быстрее, запомните ее дольше и это будет намного более ценно для вас как программиста.
- Знание даже небольшого количества правильных видов математики поможет вам сделать написать несколько довольно интересных программ, которые в противном случае были бы слишком сложными. Другими словами, математика - это то, что вы можете освоить понемногу, когда у вас есть свободное время.
- Никто не знает математику всю, даже лучшие математики. Область постоянно расширяется, поскольку люди изобретают новые формализмы для решения собственных проблем. И любую математическую задачу, как и в программировании, можно решить несколькими способами. Вы можете выбрать тот, который вам больше нравится.
- Математика ... ммммм, пожалуйста, не говорите никому, что я сказал это; Пока я жив, меня никогда не пригласят на другую вечеринку. Но математика, ну ... я лучше прошепчу это, так что слушайте: (на самом деле это довольно весело.)
Печальное замечание: Стив покинул свой блог из-за слишком агрессивной обратной связи.
поскольку люди изобретают новые формализмы для решения собственных проблем. И любую математическую задачу, как и в программировании, можно решить несколькими способами. Вы можете выбрать тот, который вам больше нравится.Печальное примечание: Стив покинул свой блог из-за слишком агрессивной обратной связи.
поскольку люди изобретают новые формализмы для решения собственных проблем. И любую математическую задачу, как и в программировании, можно решить несколькими способами. Вы можете выбрать тот, который вам больше нравится.Печальное замечание: Стив покинул свой блог из-за слишком агрессивной обратной связи.
У теории чисел не так много прямых приложений к программированию (хотя есть несколько изящных приемов, которые вы можете использовать для оптимизации), но есть несколько основных концепций, которые значительно упрощают изучение криптологии.
В моем классе теории чисел использовалось «Дружественное введение в теорию чисел» Сильвермана , которое является одним из лучших учебников по математике, которые я когда-либо видел. Его очень легко читать (название полностью соответствует его дружелюбности), но он охватывает широкий круг тем. Сильверман также является автором моего учебника по криптографии Введение в математическую криптографию . Он более технический, касается большинства областей криптографии и предоставляет множество ссылок, где можно найти более подробную информацию.
Что касается тем, посмотрите некоторые ответы здесь . Мне сложно дать рекомендуемые ресурсы, я говорю по-немецки. Я бы рекомендовал начать с линейной алгебры и геометрии, которые вы найдете в компьютерной графике. Взгляните, например, на серию статей Springer по математике для студентов.
Рассмотрим серию статей Кнута «Искусство компьютерного программирования». Он может стать плотным, но он поможет вам освоить математику, наиболее необходимую для программирования. Я бы посоветовал сразу же обратиться к доступным главам четвертого тома. Эти книги не для всех,
Какие математические задачи вы хотите решить? «Математика» - довольно большая область!
В Массачусетском технологическом институте есть несколько онлайн-курсов, но это, вероятно, большие вложения времени.
У Wolfram есть несколько учебных пособий, но, опять же, вам нужно знать, что вы ищете.
Я думаю, вам следует погрузиться в то, что вас больше всего интересует, и, чтобы узнать, что это такое, вам следует приобрести несколько книг, в которых освещаются факты и предлагаются рекомендации, а также несколько книг, которые питают вашу мотивацию и любопытство. . Вы действительно должны погрузиться в это, чтобы узнать, это довольно индивидуальная вещь, имхо.
Факты / Ориентация:
Дональд Кнут - Бронштейн, Семенджаев
Наука программирования - Структуры данных и алгоритмы
Мотивация / Любопытство:
Дорога к реальности - Последняя теорема Ферма - Godel, Escher, Bach
Также для мотивации с более практической стороны:
projecteuler.net