Книги/Учебные руководства языка для популярных языков

package frequent;

import java.util.HashMap;
import java.util.Map;

public class Frequent_number {

    //Find the most frequent integer in an array

    public static void main(String[] args) {
        int arr[]= {1,2,3,4,3,2,2,3,3};

        System.out.println(getFrequent(arr));
        System.out.println(getFrequentBySorting(arr));
    }

    //Using Map , TC: O(n)  SC: O(n)
    static public int getFrequent(int arr[]){
        int ans=0;
        Map<Integer,Integer> m = new HashMap<>();
        for(int i:arr){
            if(m.containsKey(i)){
                m.put(i, m.get(i)+1);
            }else{
                m.put(i, 1);
            }
        }
        int maxVal=0;
        for(Integer in: m.keySet()){
            if(m.get(in)>maxVal){
                ans=in;
                maxVal = m.get(in);
            }
        }
        return ans;
    }

    //Sort the array and then find it TC: O(nlogn) SC: O(1)
    public static int getFrequentBySorting(int arr[]){
        int current=arr[0];
        int ansCount=0;
        int tempCount=0;
        int ans=current;
        for(int i:arr){
            if(i==current){
                tempCount++;
            }
            if(tempCount>ansCount){
                ansCount=tempCount;
                ans=i;
            }
            current=i;
        }
        return ans;
    }

}
249
задан 71 revs, 27 users 47% 25 March 2013 в 08:22
поделиться

50 ответов

Я знаю, что это собирается казаться старомодным, но я не думаю, что большая часть использовании учебных руководств онлайн учит языки программирования или платформы. Они обычно дают Вам не больше, чем немного вкуса языка. Для реального изучения языка Вам нужен эквивалент "книги", и во многих случаях, это означает реальную мертво-древовидную книгу.

, Если Вы хотите изучить C, считайте K& R. Если Вы хотите изучить C++, считайте Stroustrup. Если Вы хотите изучить Lisp/схему, считайте SICP. И т.д.

, Если Вы не готовы потратить больше чем 30$ и несколько часов для изучения языка, Вы, вероятно, не собираетесь изучать его.

33
ответ дан Kristopher Johnson 23 November 2019 в 02:59
поделиться

C#

C# к Точке Hanspeter MГ¶ssenbГ¶ck. На всего лишь 200 страницах он объясняет C# в удивительной глубине, фокусирующейся на базовых понятиях и кратких примерах, а не помахивании руки и снимках экрана Visual Studio.

Для получения дополнительной информации об определенных функциях языка, проверьте спецификация языка ECMA-334 C#.

Руководство по проектированию Платформы , книга Krzysztof Cwalina и Brad Abrams от Microsoft, обеспечивает дальнейшее понимание основных проектных решений позади библиотеки.NET.

1
ответ дан tamberg 23 November 2019 в 02:59
поделиться

defacto стандарт для изучения Grails является превосходным Начало работы с Grails Jason Rudolph. Можно дебатировать, является ли это учебным руководством онлайн или книгой, так как это может быть куплено, но доступно как бесплатная загрузка. Существуют более "реальные" опубликованные книги, и я рекомендую Начать Groovy и Grails.

1
ответ дан Ed.T 23 November 2019 в 02:59
поделиться

Я знаю, что это - перекрестная рассылка от здесь ..., но, я думаю, что одна из лучших книг Java Параллелизм Java на практике Brian Goetz. Довольно усовершенствованная книга - но, это износится хорошо Вашему параллельному коду и разработке Java в целом.

1
ответ дан 3 revs 23 November 2019 в 02:59
поделиться

Для Java я высоко рекомендую Базовый Java. Это - большой том (или два больших тома), но я нашел, что он одна из лучших ссылок на Java, который я считал.

1
ответ дан FreeMemory 23 November 2019 в 02:59
поделиться

Для J2EE у Вас есть очень всестороннее учебное руководство в: http://java.sun.com/javaee/5/docs/tutorial/doc/

1
ответ дан Iker Jimenez 23 November 2019 в 02:59
поделиться

Они все действительно хороши, записаны академия , и (некоторые) книги (неопубликованная книга oreilly - переведенный из французского языка, но никакие проблемы я нашел), например). У меня есть *'d мои любимые, которые помогли мне больше всего.

ocaml:

  1. * Введение в ocaml
  2. Используя Понимают и распутывающий ocaml: практика к теории и наоборот
  3. * использование Приложений Разработки Ocaml - O'Reilly
  4. Объективная Система Caml - Официальное Руководство
  5. Краткое Введение в Объективный Caml
  6. Практический Ocaml

Haskell:

  1. Исследуют функциональное программирование с Haskell
  2. * реальный мир Haskell
  3. * Общее Функциональное программирование
20
ответ дан 4 revs 23 November 2019 в 02:59
поделиться
10
ответ дан 3 revs, 2 users 82% 23 November 2019 в 02:59
поделиться

Для C++, я предлагаю Ускоренный C++ Koenig и Мычанием как начинающийся текст, хотя я не знаю, как это было бы для абсолютного новичка. Это фокусируется на использовании STL сразу же, который делает добивающимся цели очень легче.

8
ответ дан Mark Krenitsky 23 November 2019 в 02:59
поделиться

Haskell:

Книга O'Reilly:

  1. реальный мир Haskell , замечательная ориентированная на учебное руководство книга о Haskell, доступном онлайн и в печати.

Мой любимый генерал, меньше академических учебных руководств онлайн:

  1. Haskell wikibook, который содержит все превосходное еще одно Учебное руководство Haskell. (Это учебное руководство помогает со специфическими особенностями установки дистрибутива Haskell и выполнения примеров программы, например.)
  2. Изучают Вас Haskell для Большой Пользы , в духе того, Почему Острое Руководство к Ruby, но главное.
  3. Запись самостоятельно Схема за 48 часов . Получите руки грязное изучение Haskell с реальным проектом.

Книги по Функциональному программированию с Haskell:

  1. Лямбда-исчисление, combinators, более теоретический, но в очень вниз для заземления способа: Введение Davie в Системы Функционального программирования Используя лень Haskell
  2. и правильность программы, думая функционально: Введение Птицы в Функциональное программирование Используя Haskell
7
ответ дан 3 revs 23 November 2019 в 02:59
поделиться

Эффективный Java - необходимость, но я рекомендую быть довольным Java сначала, чтобы полностью понять примеры.

5
ответ дан pek 23 November 2019 в 02:59
поделиться

Ruby

5
ответ дан Vagnerr 23 November 2019 в 02:59
поделиться

Я добавил бы книги программирования Bruce Eckel:

В целом, его страница "Books" ( http://mindview.net/Books/ ) является хорошим ресурсом. Свободно availabe книги может также быть найден в http://www.ibiblio.org/pub/docs/books/eckel/

4
ответ дан JJarava 23 November 2019 в 02:59
поделиться

Для Lisp и Схемы (черт, функциональное программирование в целом), существует немного вещей, которые обеспечивают более прочную основу, чем Маленький Интриган и Закаленный Интриган . Оба обеспечивают очень простое и интуитивное введение и в Схему и в функциональное программирование, которое оказывается намного более простым для новых студентов или людей, увлеченных своим хобби, чем любой из типичных объемов, которые стирают как представление нехудожественной литературы война & Мир .

, Как только они переместились вне серии Schemer, SICP и На Lisp являются оба фантастическим выбором.

3
ответ дан wfarr 23 November 2019 в 02:59
поделиться

проверьте раздел программирования Викиучебника

, Многие из них полностью формируются, и довольно многие больше усовершенствовали разделы (которые находятся в переменных состояниях завершения) на определенной функциональности.

также, w3 школы имеют большой php учебный и ссылочный раздел

их html и , разделы css хороши для ссылки также.

3
ответ дан Jiaaro 23 November 2019 в 02:59
поделиться

C++

первый хорош для новичков, и второй требует более усовершенствованного уровня в C++.

3
ответ дан Serge 23 November 2019 в 02:59
поделиться
  • C - Язык программирования C - Очевидно, я имел для ссылки на K& R, одно из лучшего программирования заказывает там точку.
  • C++ - Ускоренный C++ - Это четкое, правильно написанное введение в C++ переходит прямо к использованию STL и дает хорошие, ясные, практические примеры. Соответствует его имени.
  • C# - Pro C# 2008 и.NET 3.5 Платформы - Бит полного рта, но замечательно записанной и огромной глубины.
  • F# - Опытный F# - Разработанный для взятия опытных программистов от нуля до эксперта в F#. Очень хорошо записанный, один из автора изобрел F#, таким образом, Вы не можете пойти далеко неправильно!
  • Схема - Маленький Интриган - Действительно уникальный подход к обучению языка программирования, сделанного действительно хорошо.
  • Ruby - Ruby Программирования - Нежно известный как 'книга' топора выбора, это - defacto введение в Ruby. Очень хорошо записанный, ясный и подробный.
3
ответ дан ljs 23 November 2019 в 02:59
поделиться

Краткая информация C Плюс, 5-й Выпуск - C заказывают, чтобы добраться, если Вы изучаете C без предшествующего опыта программирования. Это - мой любимый, поскольку я учился программировать из этой книги. Это имеет все качества новичок, которого должна иметь дружественная книга:

  • не принимает предшествующего воздействия программированию
  • , Приятному читать (не становясь раздражающим как Для Макетов /
  • , не упрощает
2
ответ дан Imran 23 November 2019 в 02:59
поделиться

Давайте не забывать Главный Первый Java, который мог считать существенным первым шагом на этом языке или возможно шаге после учебных руководств онлайн Sun. Это является большим в целях схватывания языка кратко, при добавлении небольшого количества забавы, служении в качестве стартовой площадки для более всесторонних книг, уже упомянутых.

Sedgewick предлагает большой ряд на Алгоритмах, которые являются необходимой вещью, если Вы находите, что книги Knuth являются слишком всесторонними. Knuth в стороне, Sedgewick приносит серьезный подход к полю, и он предлагает свои книги в C, C++ и Java. Книги C++ могли использоваться backwardly на C, так как он не делает очень большое различие между этими двумя языками в его представлении.

Каждый раз, когда я работаю над C, , Справочник C:A, Harbison и Steele, идет со мной везде. Это кратко и эффективно будучи чрезвычайно полным созданием его бесценный (мне так или иначе).

Языки в стороне, и если этот поток должен стать дежурным для ссылок, в которых я думаю, что он возглавляет тот путь из-за количества стабильных вкладов, включайте Регулярные выражения Освоения по причинам, я думаю, что большинство из нас знает..., некоторые также сказали бы, что regex можно считать языком самостоятельно. Далее, его полноценность в огромном количестве языков делает его неоценимым.

2
ответ дан Patrick Loz 23 November 2019 в 02:59
поделиться

Язык Common LISP

Для хорошей ссылки выезда CL язык Common LISP Язык, 2-й Выпуск

2
ответ дан Banderson 23 November 2019 в 02:59
поделиться

Для Objective C:

программирование какао для MAC OSX - третий выпуск Aaron Hillegass, опубликованный Addison Wesley

программирование в Objective C, Stephen G Kochan,

2
ответ дан stevechol 23 November 2019 в 02:59
поделиться

Главный Первый Javascript является хорошим введением к JS для начала программистов - это творчески объясняет основные концепции программирования с помощью синтаксиса JS. Серия Head First основана на исследуемых методах для помощи Вам изучить и помнить новую информацию. Они сделали, чтобы Вы сделали много упражнений и загадок, которые могли бы казаться юными, но действительно помочь цементировать знание в Вашем мозгу.

Одно осуществление, которое я действительно любил, состояло в том после того, как они объяснили типы данных, они показывают изображение городской улицы и говорят, "маркируют все типы данных, которые можно найти в этом изображении". Таким образом, проблесковый огонь на автомобиле является булевской переменной, знак на хранилище является строкой, и адрес является числом. Это помогло мне получить идею того, как перевести реальную информацию в программу.

Основанный только на этой книге, я сказал бы, что серия Head First является отличным способом изучить что-то в первый раз , но подобный истории формат, который они имеют, сделал бы их трудными использовать в качестве ссылок.

2
ответ дан Nathan Long 23 November 2019 в 02:59
поделиться

Python: http://diveintopython.net/

JS: реинтродукция к JavaScript является введением в язык (не специфические особенности браузера) для программистов. Не знайте хорошее учебное руководство на JS в браузере.

Прекрасная идея между прочим!

2
ответ дан 3 revs, 2 users 88% 23 November 2019 в 02:59
поделиться

Я рекомендация второго Kristopher K& R для C.

я нашел "Существенный Actionscript 2.0" книгой довольно полезный для кодирования AS (существует версия AS3 теперь, я верю).

я нашел, что наличие реальных книг для просматривания более полезно, чем ссылка онлайн в некоторых случаях. Едва ли уверенный, почему все же.

1
ответ дан Herms 23 November 2019 в 02:59
поделиться

хм, я не знаю, сказал ли я, что материалы онлайн бесполезны, но я действительно соглашаюсь, что существует что-то о книгах. Возможно, они лучше записаны, или возможно это - действие раскошеливания на 50$, который делает Вас более склонными для изучения материала.

Так или иначе, я соглашаюсь, что книги должны быть частью этого вопроса. Если у кого-либо будут какие-либо предложения для книг для языков, то я отредактирую сообщение с лучшими предложениями.

1
ответ дан Craig H 23 November 2019 в 02:59
поделиться

Ссылка, которую Вы перечислили для Ruby, для Ruby on Rails. В то время как все еще рубиновый в глубине души, это - определенно не место для запуска для людей, желающих изучить Ruby.

Для учебных руководств Ruby, я предложил бы , Почему (Острое) Руководство к Ruby как большая начальная точка для кого-либо заинтересованного языком.

, Если бы Вы хотели бы войти в большее количество детали, я рекомендовал бы книгу , Программируя Ruby, который стал стандартом для всех вещей Ruby. Третий выпуск в настоящее время пишется, выделяя функции Ruby 1.9, таким образом, я удержал бы некоторое время, если кто-либо рассматривает покупку этой книги.

1
ответ дан Adam Mika 23 November 2019 в 02:59
поделиться

Для JavaScript:

Для PHP:

Для OO разрабатывают & программирование, шаблоны:

Для Рефакторинга:

Для SQL/MySQL:

Pro
3
ответ дан Ced-le-pingouin 23 November 2019 в 02:59
поделиться

Не могу поверить, что никто не упомянул Perl Best Practices . Также есть канал Twitter , который доставляет один PBP в день.

Я изучил Perl из Учебника Роберта по Perl , который я рекомендую, но он не обновлялся с 1999 года. новое рекомендуемое руководство - Steve's Perl Tutorial .

Для веб-разработки с Perl явным победителем является Catalyst , а Catalyst wiki является отправной точкой для обучение.

4
ответ дан 23 November 2019 в 02:59
поделиться

Для Python я хотел бы предложить 'Байт Python' .

Раскрытие: я - автор этой книги, но отзывы пользователей на основной странице и книге должны, надо надеяться, выступить за себя:)

1
ответ дан Swaroop C H 23 November 2019 в 02:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: