Вопросы с тегом «linked-list»

Связанный список - это структура данных, в которой элементы списка не обязательно хранятся последовательно, а скорее каждый элемент содержит ссылку на следующий (и, возможно, предыдущий) элемент в списке. Этот тег следует использовать с дополнительными тегами, указывающими используемый язык программирования ([c], [c ++], [java] и т. Д.), А также любые используемые библиотеки или плагины, такие как [c ++ - standard-library]. Сама запись должна содержать исходный код проблемы.

3124
Когда использовать LinkedList поверх ArrayList в Java?

Я всегда был один, чтобы просто использовать: List<String> names = new ArrayList<>(); Я использую интерфейс в качестве имени типа для переносимости , поэтому, когда я задаю такие вопросы, я могу переделать свой код. Когда следует LinkedListиспользовать снова ArrayListи...

434
Как обнаружить петлю в связанном списке?

Скажем, у вас есть структура связанного списка в Java. Он состоит из узлов: class Node { Node next; // some user data } и каждый узел указывает на следующий узел, за исключением последнего узла, который имеет нулевое значение для следующего. Скажем, есть вероятность, что список может содержать цикл...

200
Массив против связанного списка

Почему кто-то хочет использовать связанный список над массивом? Кодирование связанного списка, без сомнения, немного сложнее, чем использование массива, и можно задаться вопросом, что оправдывает дополнительные усилия. Я думаю, что вставка новых элементов тривиальна в связанном списке, но это...

192
Почему std :: list :: reverse имеет сложность O (n)?

Почему обратная функция для std::listкласса в стандартной библиотеке C ++ имеет линейное время выполнения? Я думаю, что для двусвязных списков обратная функция должна была быть O (1). Изменение двусвязного списка должно включать переключение указателей головы и...

180
Связанный список Python

Какой самый простой способ использовать связанный список в Python? На схеме связанный список определяется просто '(1 2 3 4 5). Списки Python, [1, 2, 3, 4, 5]и кортежи, (1, 2, 3, 4, 5)на самом деле не являются связанными списками, а связанные списки обладают некоторыми хорошими свойствами, такими...

176
Когда использовать связанный список над массивом / списком массивов?

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

162
Объясните, как работает поиск начального узла цикла в связанном списке циклов?

Я понимаю, что встреча Черепахи и Зайца завершает существование петли, но как перемещение черепахи в начало связанного списка при сохранении зайца в месте встречи с последующим перемещением обоих по одному шагу за раз заставляет их встретиться в начальной точке...

161
Почему ArrayDeque лучше, чем LinkedList

Я пытаюсь понять почему Java ArrayDeque лучше, чем Java LinkedList, поскольку они оба реализуют интерфейс Deque. Я не вижу, чтобы кто-то использовал ArrayDeque в своем коде. Если кто-то проливает больше света на реализацию ArrayDeque, это будет полезно. Если я это понимаю, я буду более уверен в...

135
Как создать структуру данных связанного списка в Java? [закрыто]

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

121
Почему в связанных списках используются указатели вместо хранения узлов внутри узлов

Я раньше много работал со связанными списками на Java, но я новичок в C ++. Я отлично использовал этот класс узла, который мне дали в проекте. class Node { public: Node(int data); int m_data; Node *m_next; }; но у меня был один вопрос, на который я не очень хорошо ответил. Зачем нужно использовать...

110
При каких обстоятельствах полезны связанные списки?

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

109
Как перевернуть односвязный список, используя только два указателя?

Интересно, существует ли какая-то логика для изменения односвязного списка с использованием только двух указателей. Ниже используется для изменения одного связанного списка с использованием трех указателей , а именно p, q, r: struct node { int data; struct node *link; }; void reverse() { struct...

106
Почему вставка в середине связанного списка O (1)?

Согласно статье Википедии о связанных списках , вставка в середину связанного списка считается O (1). Я бы подумал, что это будет O (n). Разве вам не нужно было бы найти узел, который может быть ближе к концу списка? Разве этот анализ не учитывает обнаружение операции узла (хотя это необходимо) и...

102
Проверьте, объединяются ли два связанных списка. Если да, то где?

Этот вопрос может быть старым, но я не мог придумать ответа. Скажем, есть два списка разной длины, сливающиеся в одной точке ; как мы узнаем, где находится точка слияния? Условия: Мы не знаем длины Мы должны анализировать каждый список только один раз....

101
Рекурсивное изменение связанного списка в Java

Я уже некоторое время работаю над Java-проектом для класса. Это реализация связанного списка (называемого здесь AddressList, содержащего простые узлы ListNode). Загвоздка в том, что все придется делать с помощью рекурсивных алгоритмов. Я мог делать все нормально без одного метода:public...

83
Вопрос для собеседования: объединить два отсортированных односвязных списка без создания новых узлов

Это вопрос по программированию, который задают во время письменного теста на собеседовании. «У вас есть два односвязных списка, которые уже отсортированы, вы должны объединить их и вернуть заголовок нового списка без создания каких-либо новых дополнительных узлов. Возвращенный список также должен...