[자료구조] 더블 연결 리스트(Double Linked List)

더블 연결 리스트(Double Linked List) 더블 연결 리스트는 연결 리스트의 한 종류입니다. 연결 리스트는 한 방향으로만 노드를 연결한 형태임을 기억한다면, 더블 연결 리스트는 이름대로 양 방향으로 노드를 연결합니다. 즉 한 노드는 다음 노드와 이전 노드를 가리키고 있습니다. 위 그림을 보면 화살표가 양 방향으로 그려진 것을 볼 수 있습니다. 이는 앞서 설명한 다음 노드와 이전 노드로의 이동이 가능함을 의미합니다. 더블 연결 리스트의 추상 자료형 더블 연결 리스트는 연결 리스트에서 이전 노드를 가리키는 부분이 추가된 버전입니다....

April 10, 2021 · 5 min · Pacientes

[리뷰] 이것이 안드로이드다 with 코틀린 (개정판)

이것이 안드로이드다 with 코틀린 (개정판) 제가 읽어본 세 번째 <이것이> 도서입니다. ‘이것이 취업을 위한 코딩 테스트다’, ‘이것이 C#이다’를 읽었습니다. 한빛미디어 출판사에서 <이것이> 시리즈로 기획하고 있는 프로그래밍 정석 코스인데요. 자세한 내용은 이곳에서 확인하실 수 있습니다. 이전에 읽었던 시리즈 도서에서 공통적으로 느꼈던 점이 있습니다. 공통적으로 매우 자세하고 많은 내용을 다루고 있습니다. 대체로 책이 두꺼운 편입니다. 하지만 프로그래밍을 처음 배우는 사람에게는 다소 난이도가 있는 것으로 생각합니다. 이런 부분을 유튜브 강의를 제공하고 있습니다....

April 6, 2021 · 1 min · Pacientes

[자료구조] 배열 리스트와 연결 리스트 비교

배열 리스트와 연결 리스트 비교 배열 리스트와 연결 리스트는 서로 다른 특징을 갖고 있습니다. 상황에 따라 배열 리스트가 장점이 되는 경우가 있고, 연결 리스트가 장점이 되는 경우가 있습니다. 배열 리스트와 연결 리스트의 장단점을 비교해볼까요? 배열 리스트 배열 리스트는 배열을 사용한 리스트입니다. 장점 배열 리스트는 데이터의 위치를 인덱싱(Indexing)할 수 있습니다. 따라서 데이터의 조회(참조) 및 출력에 대해 매우 빠른 접근(O(1))이 가능합니다. 단점 배열 리스트는 크기가 고정되어 있습니다....

March 29, 2021 · 2 min · Pacientes

[자료구조] 연결 리스트(Linked List)

연결 리스트(Linked List) 일반적으로 리스트를 생각하면 연결 리스트를 떠올리곤 합니다. 그만큼 리스트를 구현하는 방법 중 연결 리스트를 많이 채택하고 있습니다. 앞에서 배열 리스트에 대해 알아보았는데 배열 리스트는 치명적인 단점이 존재합니다. 배열 리스트는 메모리의 낭비가 존재한다는 점 입니다. 연결 리스트는 데이터를 동적으로 할당하여 데이터들끼리 연결합니다. 추가되는 데이터를 그때그때 메모리에 할당하기 때문에 메모리 낭비가 존재하지 않습니다. 하지만 배열 리스트와 다르게 데이터의 접근이 불편합니다. 찾고자 하는 데이터의 위치를 파악하기 위해서는 각 연결된 데이터들을 하나씩 찾아봐야 하기 때문입니다....

March 27, 2021 · 6 min · Pacientes

[자료구조] 배열 리스트(Array List)

선형 & 비선형 자료구조 선형 자료구조(Linear Data Struct)는 데이터가 순차적인 형태로 저장되는 것을 의미합니다. 아래 그림을 보면 A, B, C, D 자료가 순차적으로 저장된 것을 볼 수 있습니다. 비선형 자료구조(Non-Linear Data Struct)는 데이터가 비순차적인 형태로 저장됩니다. 대표적으로 트리(Tree)와 그래프(Graph)가 있습니다. 선형 자료구조와는 반대로 자료의 저장 형태가 다릅니다. 리스트(List) 리스트는 선형 자료구조를 대표하는 자료구조입니다. 따라서 데이터의 저장 형태가 앞서 설명한 선형 자료구조와 동일한 형태입니다. 리스트는 구현 방식에 따라서 배열 리스트(Array List)와 연결 리스트(Linked List)로 구분합니다....

March 26, 2021 · 7 min · Pacientes