Публикации по теме 'deque'
Deque: структура данных Python
что такое деки в Python?
Когда вы пишете какие-либо программы, будь то алгоритм машинного обучения или другие программы, вам нужно выбрать для них правильные структуры данных. Выбор правильных структур данных — это то, что делает вашу программу быстрой, эффективной с точки зрения использования памяти, простой в реализации и легко читаемой. Возможно, вы знакомы с распространенными структурами данных Python, такими как List, Dictionary, String и т. д. Но использовали ли вы Deques?..
Мой путь к изучению структур данных с нуля — DeQue
Сегодня седьмой день #100DaysOfDSA — Структура данных DeQue
В последнем посте мы уже видели некоторые проблемы с Queue. В этом посте мы рассмотрим небольшой вариант традиционной структуры данных очереди под названием DeQue. Это означает D Doublely E nded Que ue . вставлять и удалять элементы как с передней, так и с задней стороны .
Общие желаемые операции
Вставить спереди — вставляет элемент спереди. Удалить передний план — удаляет элемент с переднего плана...
Вопросы по теме 'deque'
Java-эквивалент std::deque
Я относительно новый программист Java, пришедший из С++/STL, и я ищу класс с этими характеристиками (которые, насколько я понимаю, есть у С++ std::deque):
O(1) производительность для вставки/удаления в начале/конце
Производительность O(1) для...
2267 просмотров
schedule
07.06.2023
Проблемы с расширением очереди циклического массива
Привет,
Я пытаюсь реализовать Deque, используя круговой массив, который расширяется, когда массив заполняется. Моя проблема заключается в том, что массив отказывается расширяться. Либо я неправильно вычисляю size(), либо есть проблема с...
2176 просмотров
schedule
01.04.2024
Что на самом деле представляет собой двухсторонняя очередь в STL?
Я смотрел на контейнеры STL и пытался понять, что они собой представляют на самом деле (то есть используемую структуру данных), и deque остановил меня: сначала я подумал, что это список с двойной связью, который позволит вставка и удаление с обоих...
78074 просмотров
schedule
15.11.2022
Deque стереть с середины, указатель потерян?
Я часто стираю элементы из середины своей двухсторонней очереди. адреса памяти элементов в двухсторонней очереди используются в некоторых других местах. стирает ли средний элемент из deque недействительными все указатели на deque, как это происходит...
1648 просмотров
schedule
07.10.2022
Мне нужна помощь в разбиении массивов и деков строк с использованием шага разбиения алгоритма быстрой сортировки.
Итак, у меня есть два метода, которые получают массив или Deque строк, а также сводную строку:
#P2#
#P3#
И я пытаюсь понять, как они будут возвращать новый массив или очередь строк, которая содержит те же строки, что и входные данные,...
283 просмотров
schedule
06.07.2023
Deque с использованием пользовательского класса не может push_back
Я получаю следующую ошибку при попытке push_back нового пользовательского объекта:
prog7.cpp:66: error: no matching function for call to
‘std::deque<Job, std::allocator<Job> >::push_back(Job*)’...
882 просмотров
schedule
16.11.2022
Вектор против оператора Deque[]
Деки следует выбирать вместо векторов, если мы постоянно добавляем спереди и сзади контейнера. Но как насчет компенсации? Работают ли vector и deque operator[] одинаково или нет? Если нет, то какой из них быстрее?
2206 просмотров
schedule
13.05.2022
Ошибка в итераторе для двухсторонней очереди
int CardDeck::inOrder(){
deque<int>::const_iterator i;
for (i = nameofdeque.begin(); i != nameofdeque.end(); ++i){
if (nameofdeque[i] >= nameofdeque[i+1]){
return 0;
}
}
return 1;
}...
115 просмотров
schedule
27.05.2022
Deque push_front() и push_back() без включения ‹deque›
Мне нужно создать deque самостоятельно, чтобы понять, как это работает на практике, а также мне не нужно использовать библиотеку, я хотел бы написать свои собственные функции.
Я создал класс Deque, в котором есть методы push_back(), push_front(),...
2789 просмотров
schedule
30.04.2023
Python: сравнение производительности deque vs list
В документах python я вижу, что deque - это специальная коллекция, оптимизированная для вставки / добавления элементов с левой или правой стороны. Например. в документации говорится:
Deques - это обобщение стопок и очередей (название...
45042 просмотров
schedule
08.02.2023
Будет ли вызываться конструктор копирования объекта при изменении размера вектора
Предположим, у меня есть std::vector<foo> , теперь я понимаю, что вставка в конец вектора является амортизируемой константой. Это означает, что это может быть либо O (1), либо O (n) (поскольку он получает новый блок памяти, копирует старое...
1674 просмотров
schedule
06.07.2022
Какой контейнер выбрать для быстрого поиска/вставки с огромными объемами данных?
Так что это мысленный эксперимент. Я хочу иметь огромную коллекцию структур, таких как:
struct
{
KeyType key;
ValueType value;
}
А мне нужен быстрый доступ по ключу и быстрая вставка новых значений.
Я бы не стал использовать...
3422 просмотров
schedule
03.12.2022
Какова оптимальная структура данных для хранения точек данных, полученных за последние n секунд
Мне нужна структура данных (на C ++) для хранения значений пар (целых, двойных), полученных за последние N секунд. Целое число - это относительная отметка времени в миллисекундах (гарантированно монотонная), а двойное - это фактическая выборка...
131 просмотров
schedule
28.05.2022
Приоритетная очередь и очередь
Я задавал этот вопрос http://www.spoj.com/problems/SHOP/ . Вопрос сводится к вычислению кратчайшего пути между двумя точками на взвешенном графе, где вершины имеют веса. Я реализовал рабочее решение, используя bfs...
2354 просмотров
schedule
07.05.2023
Переопределение Iterator в круговом массиве
Я пишу свой собственный класс Deque, и мне нужно переопределить итератор.
Пример: скажем, массив имеет вид [3,4,5,null,null,null,1,2], где 1 — начало, а 5 — конец. Мне нужно было бы использовать итератор, чтобы начать с 1 и закончить после 5....
1284 просмотров
schedule
30.12.2022
Повреждение памяти std::deque при использовании итератора для стирания элементов
Мой код иногда дает сбой из-за следующего
//queue is a std::shared_ptr<std::deque<Something> >
//I can guarantee that queue will never be empty.
std::deque<Something>::iterator it = queue->end();
it--;
queue->erase(it);...
756 просмотров
schedule
14.04.2023
временная сложность произвольного доступа в deque в Python
Меня интересует временная сложность операции получения deque в Python.
Я знаю, что это реализовано как двойная ссылка в Python. Означает ли это, что его временная сложность равна O(n)?
5070 просмотров
schedule
16.07.2023
единая функция шаблона для отображения содержимого другого контейнера
У меня есть векторный контейнер, построенный с использованием:
vector<int> v1;
v1.push_back(1);
v1.push_back(2);
v1.push_back(3);
И контейнер deque, построенный с использованием:
deque<int> deq;
deq.push_front(1);...
120 просмотров
schedule
22.04.2023
Реализация двусторонней очереди Java: невозможно найти логическую ошибку в методе addLast()
Мой код:
ПРИМЕЧАНИЕ . Такие функции, как readInt() и readString(), являются частью пакета algs4.jar Принстонского университета.
import java.util.Iterator;
import java.util.NoSuchElementException;
import edu.princeton.cs.algs4.StdIn;...
581 просмотров
schedule
12.08.2022
остров с правой стороны
Для списков можно использовать нарезку my_list[-10:] , чтобы получить последние (до) 10 элементов.
Я хочу сделать то же самое с itertools.islice . В этом случае у меня есть collections.deque .
Есть ли более эффективный способ сделать это,...
548 просмотров
schedule
14.01.2024