반응형

단순 연결 리스트 2

[자료구조]싱글 링크드 리스트(단순 연결 리스트)의 시간 복잡도

싱글 링크드 리스트(단순 연결 리스트) 연산들의 시간 복잡도를 알아 보자. 접근 시간 복잡도 인덱스 x에 있는 노드에 접근하려면 head에서 다음 노드로 x번 가면 된다 마지막 노드에 접근하려면 head에서 다음 노드로 n-1번 가야된다. 최악의 경우 시간 복잡도 : O(n) 탐색 시간 복잡도 배열을 탐색할 때와 같은 방법으로 구한다. 가장 앞 노드부터 다음 노드를 하나씩 보면서 원하는 데이터를 갖는 데이터를 찾는다. 이를 선형 탐색이라고 한다. 링크드 리스트안에 찾는 데이터가 없거나 또는 찾으려는 데이터가 마지막 노드에 있는 최악의 경우 n개의 노드를 다 봐야한다. 최악의 경우 시간 복잡도 : O(n) 삽입 / 삭제 시간 복잡도 삽입, 삭제는 그냥 삽입, 삭제할 인덱스의 주변 노드들에 연결된 레퍼런스만..

자료구조 2021.05.28

[자료구조]싱글 링크드 리스트(단순 연결 리스트) - 개념 및 생성 & 추가연산

싱글 링크드 리스트(Linked List) 싱글 링크드 리스트(Linked List) 개념 노드라는 단위의 데이터를 저장하고 데이터가 저장된 각 노드들을 순서대로 연결시켜서 만든 자료구조다. 데이터를 순서대로 저장해준다. 요소를 계속 추가 할 수 있다. 동적배열보다 복잡하다. 연결 리스트라고도 부른다. 노드(Node)에는 data, next라는 2가지 속성이 있다. data에는 저장하고 싶은 정보를 넣는다. next는 다음 노드에 대한 레퍼런스다. 따라서 링크드 리스트는 가장 첫번째의 노드 정보만 알면 next를 타고가서 연결되어 있는 모든 노드를 접근할 수 있다. 첫번째 노드 객체 = head 노드, 마지막 노드 객체 = tail노드 *주의* 링크드 리스트는 실제 메모리에 흩어져있는 형식이다. 예시로 ..

자료구조 2021.05.27
반응형