Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Computer Science Introduction to Data Structures Building a Linked List Adding Nodes to a Linked List

In this video how is count updating when you add?

How is count updating every time he adds, in the constructor he sets .__count = 0, and that's it... does it have something to do with the double underscores?

This is the code I'm referring to...

class Node: """ An object for storing a single node in a linked list

Attributes:
    data: Data stored in node
    next_node: Reference to next node in linked list
"""

def __init__(self, data, next_node = None):
    self.data = data
    self.next_node = next_node

def __repr__(self):
    return "<Node data: %s>" % self.data

class SinglyLinkedList: """ Linear data structure that stores values in nodes. The list maintains a reference to the first node, also called head. Each node points to the next node in the list

Attributes:
    head: The head node of the list
"""

def __init__(self):
    self.head = None
    # Maintaining a count attribute allows for len() to be implemented in
    # constant time
    self.__count = 0

def is_empty(self):
    """
    Determines if the linked list is empty
    Takes O(1) time
    """

    return self.head is None

def __len__(self):
    """
    Returns the length of the linked list
    Takesn O(1) time
    """

    return self.__count

1 Answer

Steven Parker
Steven Parker
218,860 Points

This seems like a bug. You can report it to the staff as described on the Support page.

But also note that the code shown in the video (and in the project file download) is significantly different in that it both creates and increments "count" (with no underscores) in the "size" method.