링크드 리스트
링크드 리스트는 연결 리스트라고도 합니다.
배열은 순차적으로 연결된 공간에 데이터를 나열하는 데이터 구조를 가지고 있고
링크드 리스트는 떨어진 곳에 존재하는 데이터를 화살표(포인터)로 연결해서 관리합니다.
링크드 리스트는 미리 데이터 공간을 할당하지 않아도 되는 장점이 있지만
연결을 위한 별도 데이터 공간이 필요하여 저장공간 효율은 높지 않습니다.
또한 연결 정보를 찾는 시간이 필요하여 접근 속도가 느리다는 단점이 있습니다.
용어
노드 : 데이터 저장 단위입니다. (데이터 값, 포인터)로 구성되어 있습니다.
포인터 : 각 노드 안에서 다음이나 이전의 노드와의 연결 정보를 가지고 있습니다.
head : 맨 앞을 가르킵니다.
before : 현재 위치 전입니다.
current : 현재 탐색 위치입니다.
tail : 맨 뒤를 가리킵니다.
num_of_data : 데이터의 총 개수입니다.
메서드
생성자 : head, before, current, tail, num_of_data
.append() : 맨 뒤에 노드를 추가합니다.
.first() : 맨 앞의 노드를 나타냅니다.
.next() : 다음 노드를 나타냅니다.
.delete() : 현재 노드를 삭제합니다.
링크드 리스트는 너무 어렵습니다.......
정말 너무 많이 어렵습니다...
강의를 몇 번씩 다시 듣고 또다시 듣고 이해하고 싶어서 여러 자료들을 찾아보고 해도
아직은 너무 어려운 것 같습니다..
알고리즘 공부는 정말 쉽지 않은 것 같습니다.
오늘도 더욱 분발해야겠단 생각이 하루 종일 들었습니다!
하지만 미니 프로젝트와 지금까지 코딩을 하면서 느낀 것이
불가능은 없다! 이기 때문에 포기하지 않고 열심히 알고리즘을 공부해야겠습니다!
파이팅!👍👍✍️✍️
'알고리즘' 카테고리의 다른 글
TIL] 알고리즘 문제 풀이 [백준] (2941, 2839, 1436) (0) | 2021.06.16 |
---|---|
TIL] 알고리즘 문제 풀이 [백준](1110 , 2586, 2884, 2941, 4344, 4673, 10869) (0) | 2021.06.15 |
TIL ] 스택 , 큐, 해쉬 (0) | 2021.06.13 |
TIL] 알고리즘 공부 (0) | 2021.06.12 |
TIL] 동적 프로그래밍 (0) | 2021.05.03 |