Nano Hash - криптовалюты, майнинг, программирование

Как добавить узлы в линейный связанный список? [Джава]

Так что в основном, хотя я не новичок в этом, я несколько забыл настройку для добавления узлов в линейный связанный список. По сути, у меня есть ограничение на количество узлов, которые я могу добавить, и в настоящее время у меня есть:

«хранилище» — это бинарное дерево с ТОЛЬКО следующими узлами.

private void addToStorage(Node node){
    if(storage.size() <= maxSize) // Current Size of storage
    {
        node.data = null;
        node.prev = null;
        node.next = storage;
        storage = node;
    }
}

Это правильный способ реализации этой функции? Если нет, то как мне сделать это, используя аналогичный метод?


Ответы:


1

Учитывая, что вы можете получить последний узел, хранящийся где-то внутри этого объекта хранилища или откуда-то еще:

add(Node node) {
   if(prevNode != null)
       prevNode.next = node;
   node.prev = prevNode;
   node.next = null;
}

Кроме того, нет смысла обнулять данные, поскольку они обычно устанавливаются перед вызовом add.

11.06.2014
  • О, я имел в виду, что я добавляю элементы в объект хранения здесь. 11.06.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..