powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Задачка для собеседования : ArrayList vs LinkedList
25 сообщений из 1 146, страница 1 из 46
Задачка для собеседования : ArrayList vs LinkedList
    #38464679
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем добрый день!

Часто читаю в форумах что на собеседованиях задают вопросы из области :
"Расскажите про ArrayList vs LinkedList "
И если с теорией http://habrahabr.ru/post/162017/ у всех более менее все гладко ,
то вот с практикой возникают вопросы :

Предлагаю такую задачку для решения и обсуждения :

Есть список, (очередь элементов) нужно из него получить другой список (отсортировать элементы в другом порядке) :

Пример простой :
x(1),x(2),...,x(n) => x(1), x(n-1), x(2), x(n-2)...

1) Нужно написать код для Queue , LinkedList , ArrayList .
2) Без использования дополнительного списка (массива) - делать перестановки в этом же списке, массиве.
3) Оценить время, производительность , эффективность.
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38464690
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1то вот с практикой возникают вопросы :

С практикой тоже все просто. ArrayList в 99% случаев быстрее. То есть, чтобы LinkedList работал быстрее, нужно подогнать условия задачи под реализацию каждой из коллекций. В практике такого не встречается.

Atum11) Нужно написать код для Queue , LinkedList , ArrayList .

Queue это интерфейс а не реализация. Что мерять собрались?
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38464724
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczС практикой тоже все просто

Нужен код для каждой реализации , вопрос на знание методов коллекций !
Код: java
1.
2.
3.
4.
   List list = Arrays.asList("1", "2", "3", "4", "5");
   ArrayList<String> ain = new ArrayList<String>(list);
   LinkedList<String> lin = new LinkedList<String>(list);
   Queue<String> qin = new  LinkedList<String>(list);
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38464729
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Нужен код для каждой реализации

Queue это реализация?

Atum1 , вопрос на знание методов коллекций !

А документация на что?

Atum1
Код: java
1.
2.
   LinkedList<String> lin = new LinkedList<String>(list);
   Queue<String> qin = new  LinkedList<String>(list);


Ожидается что эти двое как-то отличаются по производительности?
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38464737
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczQueue это реализация?

Ожидается что эти двое как-то отличаются по производительности?

Интерфейс. Будем точными.

Вопрос и заключается в том чтобы испытуемый написал простой алгоритм ,
а уже потом объяснил на его примере что да как работает.

Queue и LinkedList имеют разные методы, требуется решить задачу - используя методы Queue , потом используя методы LinkedList , которых нет в интерфейсе Queue.
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38464755
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz

Blazkowicz , Сколько Вам нужно времени чтобы написать такой алгоритм ?

Для проверки :
Код: java
1.
2.
3.
4.
 List list1 = Arrays.asList("1");
 List list2 = Arrays.asList("1", "2");
 List list3 = Arrays.asList("1", "2", "3", "4", "5");
 List list4 = Arrays.asList("1", "2", "3", "4", "5", "6");
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38464796
mesier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1 Есть список, (очередь элементов) нужно из него получить другой список (отсортировать элементы в другом порядке) :
Пример простой :
x(1),x(2),...,x(n) => x(1), x(n-1), x(2), x(n-2)...

А x(n) куда делся?
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38464811
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mesierAtum1 Есть список, (очередь элементов) нужно из него получить другой список (отсортировать элементы в другом порядке) :
Пример простой :
x(1),x(2),...,x(n) => x(1), x(n-1), x(2), x(n-2)...

А x(n) куда делся?

подумайте :)

такой ряд был бы слишком простой :

x(1),x(2),...,x(n) => x(1), x(n), x(2), x(n-1)...
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38464870
mesier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Звучит как " до думайте". ))
Последний член больше не нужен (как скрипач)? Или что?
У меня преподаватель был в институте, он категорически отказывался на консультациях решать задачи, написанные на листочке. Говорит, вдруг ты в одном символе ошибся, а я мучайся потом..
Так вот, мне кажется это как раз тот случай!
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38464912
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mesierУ меня преподаватель был в институте, он категорически отказывался на консультациях решать задачи, написанные на листочке. Говорит, вдруг ты в одном символе ошибся, а я мучайся потом..

Зачем листочек? Перед Вами компьютер с Вашей любимой IDE :)
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38465050
Andrew1411
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем решать такие задачи? Что бы показать, что выбранная коллекция для этой задачи неоптимальна?
В .Net подфоруме, пару месяцев назад один тип носился, в каждой теме твердил что связанный список быстрее всех остальных коллекций (бедняга, наверно тоже увидел лишь одну задачу).
Я к чему это все, либо составляейте справочник типового решения разных задач на разных коллекциях - тогда поможете начинающим в выборе коллекции под задачу (а так же дадите "списать" решение под неудобный вариант использования коллекции), либо закопайте тему поглубже .

Справочник, оформляйте как FAQ, либо вообще отдельным сайтом, с указанием ссылки.
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38465100
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
in-place

O(n^2) для arraylist
O(n^3) для linkedlist

не in-place

O(n) arraylist.
O(n^2) linkedlist.

Queue в этой задаче делать нечего.
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38465201
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwain-place

O(n^2) для arraylist
O(n^3) для linkedlist

не in-place

O(n) arraylist.
O(n^2) linkedlist.

Queue в этой задаче делать нечего.

Отлично! Оценки есть ! Остался код !

Для затравки решение на Хаскель

http://ideone.com/JiG0Ut

Жду на java :)
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38465265
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1 Пример простой :
x(1),x(2),...,x(n) => x(1), x(n-1), x(2), x(n-2)...
Я правильно понял из
1,2,3,4
получить
1,3,2,2
и это называется сортировка?
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38465319
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1,

я может чего то не понимаю, но это в самом деле сортировка?
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38465330
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если это не сортировка, а перестановка элементов, то связанный однозначно быстрее
O(n 2 ) arraylist.
O(n) linkedlist.
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38465331
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Арсеньев,

Задача из одной последовательности получить другую по формуле.

x(1),x(2),...,x(n) => x(1), x(n-1), x(2), x(n-2),..., x(n)

Для

1,2,3,4 => 1,3,2,4
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38465344
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivanraЕсли это не сортировка, а перестановка элементов, то связанный однозначно быстрее
O(n 2 ) arraylist.
O(n) linkedlist.

Отлично! Нужен код. На любом известном Вам языке программирования .
Идеально на java.

Еще раз - есть последовательность элементов x(1),x(2),...,x(n)
нужно на ее основании получить последовательность с другим порядком - такой же длинны .

Но чтобы :
1) первый и последний элементы ее были на своих местах, x(1) ... x(n)
2) Остальные чередовались x(1), x(n-1), x(2), x(n-2) , x(3) , x(n-3) ... x(n)
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38465350
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivanraЕсли это не сортировка, а перестановка элементов, то связанный однозначно быстрее
O(n 2 ) arraylist.
O(n) linkedlist.
В идеальной сферической ЭВМ в вакууме?
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38465426
mesier
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Еще раз - есть последовательность элементов x(1),x(2),...,x(n)
нужно на ее основании получить последовательность с другим порядком - такой же длинны .

Но чтобы :
1) первый и последний элементы ее были на своих местах, x(1) ... x(n)
2) Остальные чередовались x(1), x(n-1), x(2), x(n-2) , x(3) , x(n-3) ... x(n)

Ну наконец-то.. )
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38465462
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну наконец-то.. )
Ура! Появилось первое решение для ArrayList vs LinkedList

http://ideone.com/W3oqDP
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38465491
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Отлично! Оценки есть ! Остался код !

Для затравки решение на Хаскель

http://ideone.com/JiG0Ut

Жду на java :)
Решил блеснуть интеллектом?

Так слушай. Никто линкед-лист не сортирует. Нет в природе такой постановки.
В тех структурах данных где LL действительно существует, он вспомогательный
(LRU/MRU) и линкует обычно листовые узлы деревьев. Это его главное применение.

Любые попытки сортировать (и поддерживать в ражнированом порядке LL)
вызывают опухоль мозга у всего software. Структуры данных нужно
использовать в правильных use-cases а не др@чиtь их.

Прости модератор.
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38465509
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТак слушай. Никто линкед-лист не сортирует.


Мы не говорим о классической сортировке - где одно больше другого или меньше.

Будьте внимательны - мы говорим , если хотите о шафлере, который выстраивает коллекцию в определенном порядке.
был порядок x(1),x(2),...,x(n) стал x(1), x(n-1), x(2), x(n-2) ,..., x(n)
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38465514
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Так слушай. Никто линкед-лист не сортирует. Нет в природе такой постановки.
В тех структурах данных где LL действительно существует, он вспомогательный
(LRU/MRU) и линкует обычно листовые узлы деревьев. Это его главное применение.

Любые попытки сортировать (и поддерживать в ражнированом порядке LL)
вызывают опухоль мозга у всего software. Структуры данных нужно
использовать в правильных use-cases .


Есть конкретная задача - Вам нужно применив ваши знания коллекций решить ее и дать оценку вашего решения.
...
Рейтинг: 0 / 0
Задачка для собеседования : ArrayList vs LinkedList
    #38465547
super-code
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Atum1, я решил на C# :)

сложность ArrayList - N^2, LinkedList - N
...
Рейтинг: 0 / 0
25 сообщений из 1 146, страница 1 из 46
Форумы / Java [игнор отключен] [закрыт для гостей] / Задачка для собеседования : ArrayList vs LinkedList
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]