[TIL]CS: 배열과 링크드리스트

grace·2023년 3월 29일
0

TIL/WIL

목록 보기
36/37
post-thumbnail

🤓 What I Learned Today


(참고서적)

배열(Array)

미리 크기를 정해 놓은 정적 자료구조여서 해당 크기 만큼의 연속된 메모리 주소를 할당 받습니다. 크기를 미리 정해 놓았기 때문에 수정하는 것이 불가하며 이미 크기를 정해 놓아 해당 배열 크기 이상의 데이터를 저장할 수 없다는 단점이 있습니다.

→ 배열은 정보 저장할 때 많이 쓰이는데 불규칙 정보를 저장하거나 이후에 다시 사용할 정보를 저장 할때…


**+index**

연속된 메모리 주소를 할당 받고 있기 때문에 인덱스 라는 것을 갖게 되는데 배열에 접근할 때 대괄호 안에 숫자가 인덱스입니다. 인덱스를 갖게 된다는 것은 접근과 탐색에 용이하다는 것이기도 합니다.




링크드 리스트(Linked List)

연결리스트라고 불리며 크기를 정할 필요가 없는 동적 자료 구조 이며 추가와 삭제에 용이 합니다. (연속된 메모리 주소 할당 안받음.)

→ 음악 플레이어 앱에 이전 곡과 다음 곡이 연결되어 있는 연결 리스트로 많이 활용 혹은 포토샵의 히스토리 기능


**+Node**

Node라는 게 존재하며 노드안에 데이터가 있고 다음 데이터를 가리키는 주소를 가지고 있는 연결되어 이어진 형태

크기가 정해져있지 않기 때문에 제한이 없고 데이터 추가,삭제가 자유롭다는 장점

반면 배열처럼 연속적인 메모리 주소를 할당 받지 않았기 때문에 임의로 접근이 불가하여 데이터를 탐색할때 순차적으로 접근해야합니다.

profile
미래의 개발자!

0개의 댓글