어레이와 링크드리스트의 차이를 보면 이렇게 나와있다.
이게 무슨 뜻이냐
처음 부터 차근차근 내려가면서 보자
Array이는 0(1) LinkedList는 0(N)이다 이건 또 무슨소리인가 해석해보면
Array / 0(1)
삽입 / 삭제 1
LinkedList / 0(N)
삽입 / 삭제 N <--여기서 N은 사용자가 설정하는 숫자이다.-->
이런 느낌이다.
그러니깐 하나의 특정원소를 찾기위해서는 Array를 쓰면 편하다.
LinkedList는 하나하나식 다 거처서 찾기때문에 시간복잡도가 늘어나 효율성이 좋지않다.
그럼 이건 또 무엇일까 위에 적어놓은 대로 해석을 해보면
Array는 삽입 삭제가 하나식 거처서 삭제를 해야하고
LinkedList는 자신이 원하는 특정원소를 마음대로 삽입 삭제가 가능하다.
이것을 토대로 표에 정리를 생각해보면
배열의 길이를 미리 선언하고 변화하지 않음으로 메모리에 부담을
덜어줄 수 있다는 장점을 가지고 있다고 생각하면 Array를 쓰면된다.
LinkedList는 언제든지 붙이고 뗄수있는 동적 크기를 갖고, 삽입/삭제가 용이하다는 장점을 갖는다.
Array는 간단하다 배열의 길이를 미리 선언하고 거기에 알맞게 사용하면 된다.
LinkedList를 쓰기위해서는 클래스를 만들어서 써야한다.
class Node:
def __init__(self, data):
self.data = data
self.next = None
node = Node(3)
정리 잘하셨네요 ㅎㅎ