[자료구조 공부] 자료구조 #1💜 코딩테스트/자료구조 & 알고리즘2023. 10. 9. 15:18
Table of Contents
☘️ 자료구조란?
자료구조(data structure)는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다.더 정확히 말해, 자료 구조는 데이터 값의 모임, 또 데이터 간의 관계, 그리고 데이터에 적용할 수 있는 함수나 명령을 의미한다.신중히 선택한 자료구조는 보다 효율적인 알고리즘을 사용할 수 있게 한다. 이러한 자료구조의 선택문제는 대개 추상 자료형의 선택으로부터 시작하는 경우가 많다. 효과적으로 설계된 자료구조는 실행시간 혹은 메모리 용량과 같은 자원을 최소한으로 사용하면서 연산을 수행하도록 해준다.
[출처 - 위키백과]
☘️ 현실 세계에서 자료구조
만약에 영화 예매 소프트웨어를 만든다면
영화 검색(Trie), 고객이 많을 경우 줄을 서야함(Queue), 고객이 좌석을 선택(HashTable) 등
이러한 상황에 대해 각각 알맞은 자료구조를 선택해야 한다.
☘️ 자료구조의 종류
자료구조는 크게 3개로 분류할 수 있다.
단순 구조
- 정수, 실수, 문자열, 논리
선형 구조
- 배열, 연결 리스트, 스택, 큐
비선형 구조
- 트리, 그래프
☘️ 선형 구조
선형 구조는 자료들이 선형으로 나열되어 있는 것을 의미하며, 앞 뒤로 하나의 원소만 존재한다.
배열
연결 리스트
스택
큐
[출처 - 위키백과]
☘️ 비선형 구조
비선형 구조는 계층적 구조나 망형 구조를 표현하기에 적합한 자료구조이며,
선형 구조와 다르게 여러 개의 원소와 관계를 가질 수 있다.
트리
그래프
[출처 - 위키백과]
해당 게시물은 프로그래머스 - 코딩테스트 광탈 방지 A to Z : JavaScript 강의를 참고하여 작성한 글입니다. (유료강의)
'💜 코딩테스트 > 자료구조 & 알고리즘' 카테고리의 다른 글
[자료구조 공부] 자바스크립트 해시 테이블 #6 (0) | 2023.11.02 |
---|---|
[자료구조 공부] 자바스크립트 스택(stack) & 큐(Queue) #5 (0) | 2023.10.18 |
[자료구조 공부] 자바스크립트 연결 리스트(Linked List) #4 (0) | 2023.10.11 |
[자료구조 공부] 자바스크립트 배열(순차 리스트) #3 (1) | 2023.10.09 |
[자료구조 공부] 시간 복잡도 #2 (0) | 2023.10.09 |
@짱잼 :: 짱잼이의 FE 개발 공부 저장소
FE 개발자가 되고 싶은 짱잼이
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!