Comments 7
И где здесь именно Swift? Именно особенности в Swift в отличии от тех же Java или ассемблера?
Было бы неплохо упомянть и двухсвязанные списки.
Кроме того как в односвязанных, как и в двухсвязанных нередко используют отдельный указатель tail на хвост — ускоряет операции в конце. Это тоже надо было бы упомянуть, даже если не хотели про двухсвязанные говорить.
Ну и как-то плохо, не акцентированно, проговорили какие именно задачи решают списком (стек, очередь, манипулирование данными (сортировка) без перемещений в памяти и т.п.).
Из недостатков забыли упомянуть больший размер в памяти списка по сравнению с массивом, т.к. на каждое значение хранится ещё и ссылка. Что в случае простого инта — удваивает размер. Т.е. в списках лучше хранить что-то тяжёлое. Хотя бы строки.
Ну и алтернатива на массиве — кольцевой буфер. Теже указатели head и tail, но как индексы в массиве. Но есть проблема переполнения.
Было бы неплохо упомянть и двухсвязанные списки.
Кроме того как в односвязанных, как и в двухсвязанных нередко используют отдельный указатель tail на хвост — ускоряет операции в конце. Это тоже надо было бы упомянуть, даже если не хотели про двухсвязанные говорить.
Ну и как-то плохо, не акцентированно, проговорили какие именно задачи решают списком (стек, очередь, манипулирование данными (сортировка) без перемещений в памяти и т.п.).
Из недостатков забыли упомянуть больший размер в памяти списка по сравнению с массивом, т.к. на каждое значение хранится ещё и ссылка. Что в случае простого инта — удваивает размер. Т.е. в списках лучше хранить что-то тяжёлое. Хотя бы строки.
Ну и алтернатива на массиве — кольцевой буфер. Теже указатели head и tail, но как индексы в массиве. Но есть проблема переполнения.
спасибо за замечания, дополню статью
особенности в Swift в отличии от тех же Java
Может быть в том, что их используют? В то время как даже автор стандартного связного списка в стандартной библиотеке Java признался, что никогда им не пользовался и не знает тех, кто бы пользовался. :)
а где и зачем их используют в Swift? :)
В то время как даже автор стандартного связного списка в стандартной библиотеке Java признался, что никогда им не пользовался и не знает тех, кто бы пользовался. :)
Я пользовался! И довольно много. Но там задачи были специфические — очень хорошо как раз на списки ложились. Незачем было велосипедить.
Sign up to leave a comment.
Связный список в Swift