CodeGym /Java блог /Случаен /Ниво на умения за кодиране, част 2. Къде да научите за ал...
John Squirrels
Ниво
San Francisco

Ниво на умения за кодиране, част 2. Къде да научите за алгоритмите

Публикувано в групата
Продължаваме нашата поредица от статии за допълнителни теми, свързани с програмирането, които не са част от курса на CodeGym, с връзки и препоръки за това къде можете да ги научите. Днес ще говорим за алгоритми. Ниво на умения за codeиране, част 2. Къде да научите за алгоритмите - 1

Какво е алгоритми

Алгоритъмът сам по себе си не е нищо повече от разписка стъпка по стъпка за решаване на проблем. По-голямата част от алгоритмите, използвани в програмирането в наши дни, вече са открити, тествани и доказани. Алгоритмите в Java са статични методи, които се използват за извършване на различни операции върху колекции. Ако структурите от данни се използват от Java програмистите за съхраняване и организиране на данни, алгоритмите се използват за манипулиране на данните в тези структури. Така че тези две теми са свързани една с друга и разбирането How работят заедно е много важно и може да направи вашето Java codeиране много по-ефективно. Алгоритмите могат да бъдат приложени към всеки език за програмиране и обикновено се очаква от опитни програмисти да знаят поне основите на тази тема, Howто и да знаят How да конвертират алгоритми в code на езика за програмиране, който използват.

Книги за алгоритми

  1. Структури на данни и алгоритми, напequalsи лесно от Нарасимха Каруманчи.

    Един от най-добрите учебници за начинаещи в алгоритми (и структури от данни). „Структури на данни и алгоритми, напequalsи лесно: Структури на данни и алгоритмични пъзели“ е книга, която предлага решения за сложни структури от данни и алгоритми. Има множество решения за всеки проблем и книгата е codeирана на C/C++. Можете да използвате това като ръководство за подготовка за интервюта, изпити и работа в кампуса.

  2. Grokking Algorithms от Aditya Bhargava.

    „Grokking Algorithms“ е друго лесно за разбиране, напълно илюстрирано и написано в приятелски тон ръководство, което ви учи How да прилагате общи алгоритми към практическите проблеми, с които се сблъсквате всеки ден като програмист. Ще започнете със сортиране и търсене и докато изграждате уменията си за алгоритмично мислене, ще се справяте с по-сложни въпроси като компресиране на данни и изкуствен интелект. Всеки пример включва диаграми и напълно анотирани примерни codeове в Python.

  3. Алгоритми, отключени от Томас Кормен.

    Книга за основите на алгоритмите за начинаещи и професионалисти по програмиране, които искат да разширят знанията си по темата, този път написана като учебник за колеж за студенти от MIT.

    „Читателите ще научат Howво представляват компютърните алгоритми, How да ги опишат и How да ги оценят. Ще открият прости начини за търсене на информация в компютър; методи за пренареждане на информация в компютър в предписан ред („сортиране“); How да се решават основни проблеми, които могат да бъдат моделирани в компютър с математическа структура, наречена „графика“ (полезно за моделиране на пътни мрежи, зависимости между задачи и финансови взаимоотношения); How да се решават проблеми, които задават въпроси относно поредици от символи като ДНК структури; основните принципи зад криптографията; основи на компресирането на данни; и дори че има някои проблеми, които никой не е измислил How да се решат на компютър за разумно време“, казва авторът на книгата.

  4. Структури на данни и алгоритми в Java от Робърт Лафор.

    А ето и учебник, който се фокусира специално върху Java. Освен ясни и прости примерни програми, Робърт Лафор добави към книгата семинар като малка демонстрационна програма, изпълнима в уеб браузър. Програмите демонстрират в графична форма How изглеждат структурите от данни и How работят.

    Предложените решения на проектите за програмиране, намиращи се в края на всяка глава, са достъпни за инструктори в признати образователни институции. Това образователно допълнение към учебника може да бъде намерено на pearson.com , в Центъра за ресурси за инструктори.

  5. Здравей свят: Да бъдеш човек в епохата на алгоритмите от Хана Фрай.

    „Hello World: Being Human in the Age of Algorithms“ от Хана Фрай е доста интересна книга, която разглежда алгоритмите от малко по-различна гледна точка. Authorът описва истинските сor и ограничения на алгоритмите, които вече автоматизират важни решения в здравеопазването, транспорта, престъпността и търговията.

Онлайн курсове по алгоритми

  1. Алгоритми, част I , част II от Принстънския университет чрез Coursera.

    Доста страхотен напълно безплатен курс от Принстън. Той обхваща основната информация, която всеки сериозен програмист трябва да знае за алгоритми и структури от данни, с акцент върху applicationsта и научния анализ на ефективността на реализациите на Java. Част I обхваща елементарни структури от данни, сортиране и алгоритми за търсене. Част II се фокусира върху алгоритми за обработка на графики и низове. Курсът не предлага сертификат след завършване.

  2. Програма за специализация на структури от данни и алгоритми от UC San Diego чрез Coursera.

    Друга реномирана програма за курсове по алгоритми и структури от данни, предлагана от Калифорнийския университет в Сан Диего и Висшето учorще по икономика на Националния изследователски институт. Тази специализация е комбинация от теория и практика: ще научите алгоритмични техники за решаване на различни изчислителни проблеми и ще реализирате около 100 проблема с алгоритмично codeиране на език за програмиране по ваш избор.

    „Никой друг онлайн курс по алгоритми дори не се доближава до това да ви предложи изобorе от програмни предизвикателства, с които може да се сблъскате на следващото си интервю за работа. За да ви подготвим, ние инвестирахме над 3000 часа в проектирането на нашите предизвикателства като алтернатива на въпросите с множество отговори, които обикновено намирате в MOOCs. Съжаляваме, ние не вярваме във въпросите с избираем отговор, когато става дума за изучаване на алгоритми... or нещо друго в компютърните науки! За всеки алгоритъм, който разработите и внедрите, ние разработихме множество тестове, за да проверим неговата коректност и време за изпълнение — ще трябва да отстранявате грешки в програмите си, без дори да знаете Howви са тези тестове! Може да звучи трудно, но ние вярваме, че това е единственият начин наистина да разберем How работят алгоритмите и да овладеем изкуството на програмирането“, казаха авторите на курса.

  3. Специализация по алгоритми от Станфордския университет чрез Coursera.

    И третият добре познат безплатен курс по алгоритми от реномиран университет, този път Станфордския университет. Този курс е въведение в алгоритмите за учащи с поне малко опит в програмирането. Обучаемите ще практикуват и ще овладеят основите на алгоритмите чрез няколко типа оценявания. Всяка седмица има тест с множество възможности за избор, за да проверите разбирането си на най-важните понятия. Има и седмични задачи по програмиране, при които прилагате един от алгоритмите, разгледани в лекцията, на език за програмиране по ваш избор. Всеки курс завършва с финален изпит с избираем отговор.

YouTube канали и плейлисти

  1. Алгоритми от Абдул Бари.

    Списък с кратки лекции за алгоритми от Абдул Бари, доста популярен YouTuber, който обяснява сложни теми по най-простия и лесен за разбиране начин на своите зрители.

  2. Структури на данни и алгоритми в Java при програмиране с канал Mosh.

    „Програмиране с Mosh“ е популярен мейнстрийм канал в YouTube за начинаещи в програмирането. Има много и много уроци за Java и други езици за програмиране, те са добре структурирани и добре представени, включително урока за структури от данни и алгоритми. Добър начин да се запознаете с тези предмети, ако не ви се четат книги и да плащате за курсове.

  3. MIT 6.006 Въведение в алгоритмите, есен 2011 г. от MIT OpenCourseWare

    MIT OpenCourseWare е канал на Масачузетския технологичен институт и има много страхотни безплатни видео курсове, включително този за алгоритми. Целият курс се състои от 47 приблизително едночасови сесии.

Коментари
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION