Разница между Data Race и Race Condition
Рассмотрим разницу между популярными ошибками при работе с многопоточностью, такими как Data Race и Race Condition, а также способами борьбы с ними.
Читать: https://habr.com/ru/articles/760434/?utm_campaign=760434
Рассмотрим разницу между популярными ошибками при работе с многопоточностью, такими как Data Race и Race Condition, а также способами борьбы с ними.
Читать: https://habr.com/ru/articles/760434/?utm_campaign=760434
👍1
Искусство ETL. Пишем собственный движок SQL на Spark [часть 1 из 5]
В данной серии статей я подробно расскажу о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.
— Евдокимов, ты что, совсем уже там кукухой поехал?! При живом-то Spark SQL! Опять ты ненормальным программированием маешься, нет бы что-то полезное делал…
— Ну-ну-ну, спокойно, спокойно. Я ещё настолько не уехал, чтобы потратить целый год на страдание полной ерундой. Речь на сей раз пойдёт не о развлекухе, а о диалекте языка, специализированном для решения целого класса задач, для которых любой существующий SQL был бы, в теории, хорошим решением, если бы не несколько серьёзных «но».
Короче, у нас будет немного не такой SQL, который вы все так хорошо знаете, но и этот вариант вы полюбите, я обещаю. Тут лучше другой вопрос задать:
— Разве кому-то нужен голый SQL-ный движок?
Нет, голый — не нужен. Так рассказывать я буду о разработке настоящего production ready инструмента, с интерактивным шеллом с подсветкой синтаксиса и автодополнением, который сможет работать в клиент-серверном режиме, и не только на кластере, но и локально. Да не монолитный, а расширяемый при помощи подключаемых функций. И с автогенератором документации впридачу. Короче, всё будет совсем по-взрослому, с рейтингом M for Mature.
В каком смысле «M for Mature»?
Уровень сложности данной серии статей — высокий. Базовые понятия по ходу текста вообще не объясняются, да и продвинутые далеко не все. Поэтому, если вы не разработчик, уже знакомый с терминологией из области бигдаты и жаргоном из дата инжиниринга, данные статьи будут сложно читаться, и ещё хуже пониматься. Я предупредил.
Читать: https://habr.com/ru/articles/760504/?utm_campaign=760504
В данной серии статей я подробно расскажу о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.
— Евдокимов, ты что, совсем уже там кукухой поехал?! При живом-то Spark SQL! Опять ты ненормальным программированием маешься, нет бы что-то полезное делал…
— Ну-ну-ну, спокойно, спокойно. Я ещё настолько не уехал, чтобы потратить целый год на страдание полной ерундой. Речь на сей раз пойдёт не о развлекухе, а о диалекте языка, специализированном для решения целого класса задач, для которых любой существующий SQL был бы, в теории, хорошим решением, если бы не несколько серьёзных «но».
Короче, у нас будет немного не такой SQL, который вы все так хорошо знаете, но и этот вариант вы полюбите, я обещаю. Тут лучше другой вопрос задать:
— Разве кому-то нужен голый SQL-ный движок?
Нет, голый — не нужен. Так рассказывать я буду о разработке настоящего production ready инструмента, с интерактивным шеллом с подсветкой синтаксиса и автодополнением, который сможет работать в клиент-серверном режиме, и не только на кластере, но и локально. Да не монолитный, а расширяемый при помощи подключаемых функций. И с автогенератором документации впридачу. Короче, всё будет совсем по-взрослому, с рейтингом M for Mature.
В каком смысле «M for Mature»?
Уровень сложности данной серии статей — высокий. Базовые понятия по ходу текста вообще не объясняются, да и продвинутые далеко не все. Поэтому, если вы не разработчик, уже знакомый с терминологией из области бигдаты и жаргоном из дата инжиниринга, данные статьи будут сложно читаться, и ещё хуже пониматься. Я предупредил.
Читать: https://habr.com/ru/articles/760504/?utm_campaign=760504
Топ-50 ответов на вопросы собеседования по Microsoft SQL Server для специалистов с опытом работы от 1 до 3 лет (2023)
Здравствуйте, ребята, если вы готовитесь к собеседованию на должность SQL Server или Java-разработчика, где требуются навыки работы с SQL Server, и ищете вопросы для собеседования по SQL Server, то вы пришли по адресу. В прошлом я уже делился с вами 10 вопросов для собеседования по SQL-запросам и 50 вопросов по базам данных и SQL, а сегодня я хочу поделиться некоторыми концептуальными и теоретическими вопросами по SQL Server, которые очень популярны на собеседованиях. В список включены не только вопросы, связанные с Microsoft SQL server, например, isnull vs coalesce, но и многие общие концепции SQL и проектирования баз данных, такие как ссылочная целостность, соединения, нормализация, оконные функции и т.д.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2019/08/microsoft-sql-server-phone-interview-questions-answers.html
Здравствуйте, ребята, если вы готовитесь к собеседованию на должность SQL Server или Java-разработчика, где требуются навыки работы с SQL Server, и ищете вопросы для собеседования по SQL Server, то вы пришли по адресу. В прошлом я уже делился с вами 10 вопросов для собеседования по SQL-запросам и 50 вопросов по базам данных и SQL, а сегодня я хочу поделиться некоторыми концептуальными и теоретическими вопросами по SQL Server, которые очень популярны на собеседованиях. В список включены не только вопросы, связанные с Microsoft SQL server, например, isnull vs coalesce, но и многие общие концепции SQL и проектирования баз данных, такие как ссылочная целостность, соединения, нормализация, оконные функции и т.д.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2019/08/microsoft-sql-server-phone-interview-questions-answers.html
Топ-25 вопросов для собеседования по ошибкам и исключениям в Java с ответами в 2023 году
1) В чем разница между проверяемыми и непроверяемыми исключениями в Java?
Для проверяемых исключений компилятор гарантирует, что они будут либо обработаны с помощью блока try-catch, try-finally или try-catch-finally, либо отброшены. Если метод, который выбрасывает проверяемое исключение типа IOException, не обрабатывает их или не объявляет их в классе throws метода, возникает ошибка времени компиляции. С другой стороны, компилятор не делает подобных проверок для непроверяемого исключения, поэтому оно называется непроверяемым. Такие исключения также называются исключениями времени выполнения, поскольку они расширяют java.lang.RuntimeException.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2019/06/top-25-java-exception-interview-questions-answers.html
1) В чем разница между проверяемыми и непроверяемыми исключениями в Java?
Для проверяемых исключений компилятор гарантирует, что они будут либо обработаны с помощью блока try-catch, try-finally или try-catch-finally, либо отброшены. Если метод, который выбрасывает проверяемое исключение типа IOException, не обрабатывает их или не объявляет их в классе throws метода, возникает ошибка времени компиляции. С другой стороны, компилятор не делает подобных проверок для непроверяемого исключения, поэтому оно называется непроверяемым. Такие исключения также называются исключениями времени выполнения, поскольку они расширяют java.lang.RuntimeException.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2019/06/top-25-java-exception-interview-questions-answers.html
👍1
Чашечка Java
Photo
Топ-20 вопросов для собеседования по Java Web Service с ответами в 2023 году
Вопросы и ответы по Java Web Services
Вопросы для собеседования по веб-сервисам являются частью J2EE
при собеседовании на работу, где требуется определенный опыт работы с веб-сервисами Java
Пространство. Большинство вопросов по Web-сервисам связано с двумя различными способами реализации Web-сервисов, такими как SOAP и REST
реализации веб-сервисов, таких как SOAP и REST. SOAP - это стандартный и зрелый
способ вызова Web-сервисов, использующий XML, в то время как REST - это новый способ реализации Web-сервисов, основанный на HTTP
реализации Web-сервисов, основанный на протоколе HTTP. Фактически REST
Вопросы для собеседования по Web-сервисам становятся все более популярными на собеседованиях по Web
сервисов на Java, поэтому если вы идете на собеседование по Java J2EE, где требуется определенный опыт работы с веб-сервисами
где требуется некоторый опыт работы с веб-сервисами, будьте готовы к вопросам по SOAP и REST
Вопросы по веб-сервисам.
Вопросы и учебные пособия по Java-собеседованиям
Read: http://www.java67.com/2012/09/top-10-java-web-service-interview-question-answer-soap-rest.html
Вопросы и ответы по Java Web Services
Вопросы для собеседования по веб-сервисам являются частью J2EE
при собеседовании на работу, где требуется определенный опыт работы с веб-сервисами Java
Пространство. Большинство вопросов по Web-сервисам связано с двумя различными способами реализации Web-сервисов, такими как SOAP и REST
реализации веб-сервисов, таких как SOAP и REST. SOAP - это стандартный и зрелый
способ вызова Web-сервисов, использующий XML, в то время как REST - это новый способ реализации Web-сервисов, основанный на HTTP
реализации Web-сервисов, основанный на протоколе HTTP. Фактически REST
Вопросы для собеседования по Web-сервисам становятся все более популярными на собеседованиях по Web
сервисов на Java, поэтому если вы идете на собеседование по Java J2EE, где требуется определенный опыт работы с веб-сервисами
где требуется некоторый опыт работы с веб-сервисами, будьте готовы к вопросам по SOAP и REST
Вопросы по веб-сервисам.
Вопросы и учебные пособия по Java-собеседованиям
Read: http://www.java67.com/2012/09/top-10-java-web-service-interview-question-answer-soap-rest.html
Чашечка Java
Photo
12 лучших вопросов для собеседования по сервлетам JSP для разработчиков Java JEE в 2023 году
Здравствуйте, ребята, вопросы для собеседования по сервлетам и JSP являются основой любого собеседования по Java JEE, и почему бы и нет, ведь они являются основой веб-технологии Java. В то время как индустрия перешла от JSP и JSF к фронтенду на базе React, все еще существуют миллионы приложений, использующих JSP и сервлеты в бэкенде. Они также являются базовой технологией для любого веб-фреймворка на Java, такого как Spring MVC или Spring Boot, и от кандидатов ожидается хорошее знание
сервлет, JSP, EJB, Struts или Spring на любом собеседовании по JEE. Именно поэтому сервлеты и JSP
Сервлеты и JSP - очень распространенные вопросы на собеседованиях по JEE, наряду с некоторыми вопросами из основного языка Java
из ядра Java, некоторыми вопросами из интервью
из Spring и некоторые вопросы по EJB
вопросы для интервью.
Вопросы для собеседования по Java и учебные пособия
Read: http://www.java67.com/2012/10/servlet-jsp-interview-questions-answer-faq-experience.html
Здравствуйте, ребята, вопросы для собеседования по сервлетам и JSP являются основой любого собеседования по Java JEE, и почему бы и нет, ведь они являются основой веб-технологии Java. В то время как индустрия перешла от JSP и JSF к фронтенду на базе React, все еще существуют миллионы приложений, использующих JSP и сервлеты в бэкенде. Они также являются базовой технологией для любого веб-фреймворка на Java, такого как Spring MVC или Spring Boot, и от кандидатов ожидается хорошее знание
сервлет, JSP, EJB, Struts или Spring на любом собеседовании по JEE. Именно поэтому сервлеты и JSP
Сервлеты и JSP - очень распространенные вопросы на собеседованиях по JEE, наряду с некоторыми вопросами из основного языка Java
из ядра Java, некоторыми вопросами из интервью
из Spring и некоторые вопросы по EJB
вопросы для интервью.
Вопросы для собеседования по Java и учебные пособия
Read: http://www.java67.com/2012/10/servlet-jsp-interview-questions-answer-faq-experience.html
Чашечка Java
Photo
21 часто задаваемых вопросов Java-собеседования для опытных специалистов с опытом работы от 2 до 3 лет в 2023 году
Если вы были на нескольких Java-собеседованиях, то знаете, что есть вопросы, которые постоянно повторяются, например, разница между методом == и equals() и многими его популярными родственниками, такими как HashMap vs Hashtable, ArrayList vs LinkedList, разница между equals() и hashCode(), или разница между Comparator и Comparable в Java. Я называю их часто задаваемыми вопросами на Java-собеседованиях и советую каждому Java-разработчику составить их список для ознакомления и изучения. Я уверен, что у многих Java-программистов уже есть такой список вопросов под рукой, если у вас его нет, то сейчас самое время найти и составить свой собственный список, а если вы торопитесь, то можете купить мою книгу Grokking the Java Interview, в которой содержится множество подобных вопросов.
Вопросы и учебные пособия по Java-собеседованию
Read: http://www.java67.com/2014/07/21-frequently-asked-java-interview-questions-answers.html
Если вы были на нескольких Java-собеседованиях, то знаете, что есть вопросы, которые постоянно повторяются, например, разница между методом == и equals() и многими его популярными родственниками, такими как HashMap vs Hashtable, ArrayList vs LinkedList, разница между equals() и hashCode(), или разница между Comparator и Comparable в Java. Я называю их часто задаваемыми вопросами на Java-собеседованиях и советую каждому Java-разработчику составить их список для ознакомления и изучения. Я уверен, что у многих Java-программистов уже есть такой список вопросов под рукой, если у вас его нет, то сейчас самое время найти и составить свой собственный список, а если вы торопитесь, то можете купить мою книгу Grokking the Java Interview, в которой содержится множество подобных вопросов.
Вопросы и учебные пособия по Java-собеседованию
Read: http://www.java67.com/2014/07/21-frequently-asked-java-interview-questions-answers.html
Как проверить удаленную ветку в Git? Пример учебника
В Git проверка удаленной ветки подразумевает создание локальной копии ветки, существующей в удаленном хранилище, как правило, для работы над этой веткой или просмотра ее кода. Этот процесс позволяет сотрудничать с другими пользователями и вносить свой вклад в удаленные репозитории. Ниже я приведу пошаговое руководство, как это сделать. Но прежде чем приступить к проверке удаленной ветки, необходимо убедиться, что в вашем локальном репозитории обновлена информация из удаленного репозитория.
Вопросы для собеседования по Java и учебные пособия
Read: http://www.java67.com/2023/09/how-to-checkout-remote-branch-in-git.html
В Git проверка удаленной ветки подразумевает создание локальной копии ветки, существующей в удаленном хранилище, как правило, для работы над этой веткой или просмотра ее кода. Этот процесс позволяет сотрудничать с другими пользователями и вносить свой вклад в удаленные репозитории. Ниже я приведу пошаговое руководство, как это сделать. Но прежде чем приступить к проверке удаленной ветки, необходимо убедиться, что в вашем локальном репозитории обновлена информация из удаленного репозитория.
Вопросы для собеседования по Java и учебные пособия
Read: http://www.java67.com/2023/09/how-to-checkout-remote-branch-in-git.html
Kotlin возвращается в двадцатку лучших по версии Tiobe
Read: https://www.infoworld.com/article/3706294/kotlin-returns-to-the-tiobe-top-20.html#tk.rss_java
Read: https://www.infoworld.com/article/3706294/kotlin-returns-to-the-tiobe-top-20.html#tk.rss_java
Kotlin поднялся в топ-20 рейтинга Tiobe
Read: https://www.infoworld.com/article/3706294/kotlin-rises-to-the-tiobe-top-20.html#tk.rss_java
Read: https://www.infoworld.com/article/3706294/kotlin-rises-to-the-tiobe-top-20.html#tk.rss_java
Ad-hoc мониторинг: сбор, хранение и визуализация данных
Готовим гибридную систему мониторинга + щепотка observability дабы нанести непоправимую пользу всему прогрессивному человечеству. С запахом кофе, перед использованием можно добавить свои данные по вкусу.
Вход в картинную галерею
Читать: https://habr.com/ru/articles/760728/?utm_campaign=760728
Готовим гибридную систему мониторинга + щепотка observability дабы нанести непоправимую пользу всему прогрессивному человечеству. С запахом кофе, перед использованием можно добавить свои данные по вкусу.
Вход в картинную галерею
Читать: https://habr.com/ru/articles/760728/?utm_campaign=760728
Искусство ETL. Пишем собственный движок SQL на Spark [часть 2 из 5]
В данной серии статей я подробно расскажу о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.
Краткое содержание предыдущей серии:
Вступление
Постановка задачи
Проектирование языка. Операторы жизненного цикла наборов данных
Проектирование системы типов
Предупреждение о рейтинге «M for Mature»
Уровень сложности данной серии статей — высокий. Базовые понятия по ходу текста вообще не объясняются, да и продвинутые далеко не все. Поэтому, если вы не разработчик, уже знакомый с терминологией из области бигдаты и жаргоном из дата инжиниринга, данные статьи будут сложно читаться, и ещё хуже пониматься. Я предупредил.
Читать: https://habr.com/ru/articles/760778/?utm_campaign=760778
В данной серии статей я подробно расскажу о том, как написать на Java собственный интерпретатор объектно-ориентированного диалекта SQL с использованием Spark RDD API, заточенный на задачи подготовки и трансформации наборов данных.
Краткое содержание предыдущей серии:
Вступление
Постановка задачи
Проектирование языка. Операторы жизненного цикла наборов данных
Проектирование системы типов
Предупреждение о рейтинге «M for Mature»
Уровень сложности данной серии статей — высокий. Базовые понятия по ходу текста вообще не объясняются, да и продвинутые далеко не все. Поэтому, если вы не разработчик, уже знакомый с терминологией из области бигдаты и жаргоном из дата инжиниринга, данные статьи будут сложно читаться, и ещё хуже пониматься. Я предупредил.
Читать: https://habr.com/ru/articles/760778/?utm_campaign=760778
Микросмартфон за 100 рублей: Покупаем смартфон 11-летней давности и… пишем под него приложения
Размер экрана — краеугольный камень мира современных смартфонов. Кто-то считает, что дисплеи должны становиться только больше, а рамки — меньше, кто-то любит «средние» дисплеи диагональю в 5+", ну а кто-то остаётся ярым поклонником и приверженцем компактных смартфонов с крошечными дисплейчиками. В наше время, купить новый смартфон с относительно небольшим дисплеем за приемлемые деньги почти нереально — самые бюджетные модели будут слишком тормозными для современного пользователя. Некоторое время назад, я купил себе бюджетный крошечный смартфон 2012 года выпуска — Samsung Galaxy Pocket, причём всего за 100 рублей. Конечно же мне захотелось довести его до ума — а доводить пришлось руками и навыками прожженного программера! Какой смартфон можно получить за 100 рублей? Читаем в статье!
Читать: https://habr.com/ru/companies/itglobalcom/articles/759112/?utm_campaign=759112
Размер экрана — краеугольный камень мира современных смартфонов. Кто-то считает, что дисплеи должны становиться только больше, а рамки — меньше, кто-то любит «средние» дисплеи диагональю в 5+", ну а кто-то остаётся ярым поклонником и приверженцем компактных смартфонов с крошечными дисплейчиками. В наше время, купить новый смартфон с относительно небольшим дисплеем за приемлемые деньги почти нереально — самые бюджетные модели будут слишком тормозными для современного пользователя. Некоторое время назад, я купил себе бюджетный крошечный смартфон 2012 года выпуска — Samsung Galaxy Pocket, причём всего за 100 рублей. Конечно же мне захотелось довести его до ума — а доводить пришлось руками и навыками прожженного программера! Какой смартфон можно получить за 100 рублей? Читаем в статье!
Читать: https://habr.com/ru/companies/itglobalcom/articles/759112/?utm_campaign=759112
Чашечка Java
Photo
Пузырьковая сортировка в Java - Программа для сортировки целочисленного массива [Пример]
Bubble sort - один из классических алгоритмов сортировки, который используется для объяснения сортировки в различных курсах компьютерной техники
сортировки в различных компьютерных и инженерных курсах. Благодаря своей
алгоритмической природы и простоты, он часто используется в различных упражнениях по программированию на Java
и C++. На собеседовании по программированию можно встретить вопросы типа Write Java program to sort integer arrays
с использованием пузырьковой сорти ровки на собеседовании по программированию. Поскольку алгоритмические
вопросы всегда каверзные
вопросы и их нелегко закодировать. Даже самые простые из них могут привести в замешательство,
особенно если вы не обладаете природным программистским талантом. Я видел
как многие разработчики падают духом, если их просят написать код на месте. Вот почему рекомендуется
заниматься алгоритмическим и логическим программированием во время обучения и изучения программирования
и OOPS, чтобы получить этот навык преобразования логики в код.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2012/12/bubble-sort-in-java-program-to-sort-integer-array-example.html
Bubble sort - один из классических алгоритмов сортировки, который используется для объяснения сортировки в различных курсах компьютерной техники
сортировки в различных компьютерных и инженерных курсах. Благодаря своей
алгоритмической природы и простоты, он часто используется в различных упражнениях по программированию на Java
и C++. На собеседовании по программированию можно встретить вопросы типа Write Java program to sort integer arrays
с использованием пузырьковой сорти ровки на собеседовании по программированию. Поскольку алгоритмические
вопросы всегда каверзные
вопросы и их нелегко закодировать. Даже самые простые из них могут привести в замешательство,
особенно если вы не обладаете природным программистским талантом. Я видел
как многие разработчики падают духом, если их просят написать код на месте. Вот почему рекомендуется
заниматься алгоритмическим и логическим программированием во время обучения и изучения программирования
и OOPS, чтобы получить этот навык преобразования логики в код.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2012/12/bubble-sort-in-java-program-to-sort-integer-array-example.html
👍2
Как реализовать алгоритм Merge Sort в Java [решено] - Примерный учебник
Алгоритм сортировки слиянием является алгоритмом "разделяй и властвуй". В парадигме "разделяй и властвуй" задача разбивается на более мелкие задачи, при этом каждая мелкая задача сохраняет все свойства большой задачи, кроме размера. Для решения исходной задачи каждая часть решается отдельно, а затем все части объединяются. Например, необходимо отсортировать массив из 200 элементов с помощью алгоритма пузырьковой сортировки. Поскольку сортировка по выбору занимает время O(n^2), то для сортировки массива потребуется около 40 000 единиц времени. Теперь представим, что массив разбит на десять равных частей и каждая часть сортируется отдельно, по-прежнему с помощью сортировки по выбору. Теперь для сортировки каждой части потребуется 400 единиц времени, что в сумме составит 10*400 = 4000.
Вопросы и задания для собеседования по Java
Read: http://www.java67.com/2018/03/mergesort-in-java-algorithm-example-and.html
Алгоритм сортировки слиянием является алгоритмом "разделяй и властвуй". В парадигме "разделяй и властвуй" задача разбивается на более мелкие задачи, при этом каждая мелкая задача сохраняет все свойства большой задачи, кроме размера. Для решения исходной задачи каждая часть решается отдельно, а затем все части объединяются. Например, необходимо отсортировать массив из 200 элементов с помощью алгоритма пузырьковой сортировки. Поскольку сортировка по выбору занимает время O(n^2), то для сортировки массива потребуется около 40 000 единиц времени. Теперь представим, что массив разбит на десять равных частей и каждая часть сортируется отдельно, по-прежнему с помощью сортировки по выбору. Теперь для сортировки каждой части потребуется 400 единиц времени, что в сумме составит 10*400 = 4000.
Вопросы и задания для собеседования по Java
Read: http://www.java67.com/2018/03/mergesort-in-java-algorithm-example-and.html
Как реализовать Radix Sort в Java - пример алгоритма [решено]
Radix sort, как и counting sort и bucket sort, является целочисленным алгоритмом (то есть значения входного массива считаются целыми числами). Поэтому теоретически radix sort является одним из самых быстрых алгоритмов сортировки. Он также является одним из немногих алгоритмов сортировки с временем O(n) или линейным временем, наряду с ведерной и счетной сортировкой. Особенностью радиксной сортировки является то, что для каждого шифра (т.е. цифры) создается свой бакет; поэтому, как и в ведерной сортировке, каждый бакет в радиксной сортировке должен представлять собой растущий список, который может содержать различные ключи.
Вопросы и задания для собеседования по Java
Read: http://www.java67.com/2018/03/how-to-implement-radix-sort-in-java.html
Radix sort, как и counting sort и bucket sort, является целочисленным алгоритмом (то есть значения входного массива считаются целыми числами). Поэтому теоретически radix sort является одним из самых быстрых алгоритмов сортировки. Он также является одним из немногих алгоритмов сортировки с временем O(n) или линейным временем, наряду с ведерной и счетной сортировкой. Особенностью радиксной сортировки является то, что для каждого шифра (т.е. цифры) создается свой бакет; поэтому, как и в ведерной сортировке, каждый бакет в радиксной сортировке должен представлять собой растущий список, который может содержать различные ключи.
Вопросы и задания для собеседования по Java
Read: http://www.java67.com/2018/03/how-to-implement-radix-sort-in-java.html
❤2
Как реализовать алгоритм линейного поиска на Java? Пример учебного пособия
В прошлой статье о поиске и сортировке вы познакомились с алгоритмом бинарного поиска, а сегодня я расскажу вам о другом фундаментальном алгоритме поиска, который называется линейный поиск. Линейный поиск - это итерация по массиву и сравнение каждого элемента с целевым элементом на предмет их равенства, поскольку мы ищем массив последовательно от начала до конца, это также известно как последовательный поиск или линейный поиск. Он очень медленный по сравнению с двоичным поиском, поскольку приходится сравнивать каждый элемент с каждым другим элементом, и, конечно, не подходит для больших массивов. Он практически полезен только в случае небольшого массива, состоящего не более чем из 10-15 чисел. В худшем случае необходимо проверить все элементы, чтобы убедиться, существует ли целевой элемент в массиве или нет.
Вопросы и задания для собеседования по Java
Read: http://www.java67.com/2016/10/how-to-implement-linear-search-in-java.html
В прошлой статье о поиске и сортировке вы познакомились с алгоритмом бинарного поиска, а сегодня я расскажу вам о другом фундаментальном алгоритме поиска, который называется линейный поиск. Линейный поиск - это итерация по массиву и сравнение каждого элемента с целевым элементом на предмет их равенства, поскольку мы ищем массив последовательно от начала до конца, это также известно как последовательный поиск или линейный поиск. Он очень медленный по сравнению с двоичным поиском, поскольку приходится сравнивать каждый элемент с каждым другим элементом, и, конечно, не подходит для больших массивов. Он практически полезен только в случае небольшого массива, состоящего не более чем из 10-15 чисел. В худшем случае необходимо проверить все элементы, чтобы убедиться, существует ли целевой элемент в массиве или нет.
Вопросы и задания для собеседования по Java
Read: http://www.java67.com/2016/10/how-to-implement-linear-search-in-java.html