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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.