개발남노씨(Coding Test)

    Linked List 2 - tail 추가

    Linked List 2 - tail 추가

    class Node: def __init__(self, value=0, next = None): self.value = value self.next = next class LinkedList(object): def __init__(self): #head라는 변수에는 주소(번지)가 저장된다. or head는 None을 가리킨다. self.head = None def append(self, value): new_node = Node(value) #new_node는 Node(1)을 가리킨다. #만약에 head라는 변수에 저장된 주소가 None이 저장되어 있다면, if self.head is None: self.head = new_node ##head는 new_node를 가리킨다. self.tail = new_..

    Linked List 1

    Linked List 1

    Array List와 Linked List의 차이 Array List는 메모리상 즉 물리적으로 연속적으로 저장 Linked List는 메모리상 즉 물리적으로는 비연속적으로 저장되어 있지만, 각각의 node가 next node의 메모리 주소값을 가리킴으로써 논리적인 연속성을 갖게 된다. 다만 next node의 address도 추가적으로 저장해야 하기 때문에 데이터하나당 차지하는 메모리가 더 커지게 된다. 예제 코드 class Node: def __init__(self, value=0, next = None): self.value = value self.next = next first = Node(1) second = Node(2) third = Node(3) first.next = second secon..