Свързани публикации 'linked-lists'


LeetCode 2095- Изтриване на средния възел на свързан списък
„Въпрос“: Получавате head от свързан списък. Изтрийте средния възел и върнете head от модифицирания свързан списък . Средният възел на свързан списък с размер n е ⌊n / 2⌋th възелът от началото , използвайки 0-базирано индексиране , където ⌊x⌋ означава най-голямото цяло число по-малко или равно на x . За n = 1 , 2 , 3 , 4 и 5 средните възли са съответно 0 , 1 , 1 , 2 и. Пример 1: Input: head = [1,3,4,7,1,2,6] Output:..

[Структури на данни] — Свързани списъци
Свързаният списък е структура от данни, която се състои от последователност от възли, която съдържа стойност и препратка (връзка) към следващия възел. Big-O нотация access: O(n) search: O(n) insert: O(1) delete: O(1) Достъпът и търсенето са доста бавни, тъй като възлите са свързани един по един, различно от масиви, където има индекси или хеш таблици, където има ключове. Вмъкването и изтриването са бързи, както се случва в началото или в края. Единично срещу двойно свързан списък..

LeetCode 328- Четен и нечетен свързан списък
„Въпрос“: Като се има предвид head на единично свързан списък, групирайте всички възли с нечетни индекси заедно, следвани от възлите с четни индекси, и върнете пренаредения списък . Първият възел се счита за нечетен , а вторият възел е четен и т.н. Имайте предвид, че относителният ред както в четните, така и в нечетните групи трябва да остане такъв, какъвто беше във входа. Трябва да решите проблема с O(1) допълнителна пространствена сложност и O(n) времева сложност...

JavaScript: Вмъкване на възел в началото на свързан списък
Обяснено решение на проблем с HackerRank За днешния алгоритъм ще вмъкнем възел в началото на единично свързан списък. Ето предизвикателството, което избрах от HackerRank : При даден указател към главата на свързан списък, вмъкнете нов възел преди главата. Следващата стойност в новия възел трябва да сочи към head и стойността data трябва да бъде заменена с дадена стойност. Върнете препратка към новата глава на списъка. Даденият начален указател може да е нула, което..

Преобразувайте листата на двоично дърво в двойно свързан списък
При дадено двоично дърво и препратка към коренния възел на дървото, трансформирайте листовите възли на дървото в двойно свързан списък в последователност по ред. Този проблем може да бъде разделен на части — Намерете листовите възли на двоично дърво и даден набор от елементи, формирайте двойно свързан списък, като ги използвате. Намерете листовите възли на двоично дърво - За да обходим двоично дърво, можем да обходим дървото с помощта на алгоритми за обхождане в предварителна поръчка,..

Въведение в свързаните списъци в Java: Ръководство за начинаещи
Въведение Свързаните списъци са основна структура от данни в компютърното програмиране, която предлага динамичен и ефективен начин за обработка на данни. В това ръководство за начинаещи ще проучим основите на свързаните списъци в Java, включително предимствата им, как да ги внедрим и някои общи операции. До края на тази статия ще имате солидно разбиране за свързаните списъци и как да ги използвате във вашите Java проекти. Какво е свързан списък? Дефиниция на свързан списък..

Стекове върху стекове върху стекове срещу Опашки върху опашки върху опашки
Масиви Масивът е списък от данни, съхранявани в непрекъсната памет. Основното предимство на масива е, че достъпът до определен елемент в списъка може да се извърши с време на изпълнение O(1). Основният недостатък при използването на масиви биха били вмъкванията и изтриванията. За да направите едно от двете, масивите трябва да се преместят върху всички останали елементи, за да направят място за новия. Свързани списъци Свързаният списък е набор от данни, представени с възли, които..