Различие этих подходов связанных списков - PullRequest
0 голосов
/ 02 мая 2020

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

Исправьте меня, если я ошибаюсь, но из того, что я понимаю, подход в geeksforgeeks - это ручной связанный список, в то время как для начинающих используется библиотека связанных списков, это правильно?

Вот что я говорю

Подход GeeksforGeeks:

public class LinkedList{
        Node head;

        static class Node{
            int data;
            Node next;

            Node (int d){
                data = d;
                next = null;
            }
        }

        public static void main (String [] args){

            LinkedList list = new List();
            list.head  = new Node(1);
            Node second = new Node(2);
            Node third = new Node(3);

            list.head.next = second;
            second.next = third;   

            //this will make (1 -> 2 -> 3)
        }
}

Подход для начинающих:

import java.util.LinkedList;

public class LinkedList{
    public static void main(String args[]){

      LinkedList<Integer> list=new LinkedList<Integer>();

      //Adding elements to the Linked list
      list.add(1);
      list.add(2);
      list.add(3);
    } 
 } 

Ответы [ 3 ]

2 голосов
/ 02 мая 2020

подход в geeksforgeeks - это ручной связанный список, в то время как книга для начинающих использует библиотеку связанных списков, верно? Вообще, независимо от его внутренней реализации

Подход GeeksforGeeks описывает, как LinkedList может быть реализован внутри.

0 голосов
/ 02 мая 2020

Краткий ответ:

GeeksforGeeks обучает вас ручному внедрению связанного списка, но вам нужны базовые c знания в java, потому что вам будет трудно понять его.

Книга для начинающих учит вас Java Структура коллекций . Эта структура имеет несколько полезных классов, которые имеют множество полезных функций, что делает задачу программиста очень простой.

0 голосов
/ 02 мая 2020

Да, GeeksforGeeks - это руководство (или «пешеходный» путь), в BeginnersBook используется библиотека.

Пример GeeksforGeeks фактически учит, как создать связанный список с нуля. Это своего рода минимум, чтобы назвать список связанным списком. Вам нужен заголовок, а затем способ связать последующие элементы списка, создав элемент и затем связав его где-нибудь в списке. В примере они связаны в конце.

BeginnersBook использует существующую библиотеку java. Он ничему не учит о том, как такой список работает внутри. Класс превращает список (кучу вещей) в связанный список (кучу вещей, связанных / соединенных вместе), но вы не видите в примере, что значит связать элементы, он только показывает, как использовать библиотеку, «добавляя» элементы. Библиотека (см. https://courses.cs.washington.edu/courses/cse341/98au/java/jdk1.2beta4/docs/api/java/util/LinkedList.html) имеет всевозможные методы для добавления новых элементов к go следующему элементу и т. Д. c ...

С точки зрения изучения, что такое связанный список, первый лучший пример.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...