본 포스팅은 '그림으로 배우는 알고리즘 Basic' - 스기우라 켄 저, 영진닷컴 출판 - 을 공부하며 정리한 포스팅입니다
우선 자료구조란 무엇인지에 대해 알아보도록 하자. 간단한 예제와 함께 자료구조에 대한 감을 잡으면 성공이다.
1. 자료구조란 무엇인가?
- "대량의 데이터를 효율적으로 관리하고자 하는 메커니즘이 바로 자료구조이다"
- 일상 속에서 살펴볼 수 있는 자료구조로는 어떤 것들이 있을까?
- 우편번호
- 전화번호
- 반, 번호
우리 일상속에서 찾아볼 수 있는 대표적인 자료구조는 바로 '우편번호'이다. 우정사업본부에서는 우편물의 효율적인 관리를 위해 5자리 구역번호를 사용한다. 처음 두 자릿수를 통해서는 '시. 도'를 파악할 수 있고, 세 자리를 통해서는 자치구까지 파악할 수 있으며 마지막 두 자리로는 '시. 군. 자치구 내 일련번호'를 알 수 있다.
위의 예시와 같이 서울시의 '시. 도' 번호는 03이 되며 강원도 원주시의 '시. 도'번호는 26이 된다. 다시 말해 03, 26만 보고도 어느 지역 우편인지를 파악할 수 있다는 것이다.
이처럼 자료구조를 사용하면 대량의 데이터를 효율적으로 관리할 수 있다.
2. 다양한 자료구조
간단하게 몇 가지 대표적인 자료구조를 살펴보도록 하자
1. 배열: 데이터를 빈 틈 없이 나열한 자료구조이다
2. 리스트: 데이터를 순서대로 나열한 자료구조이다
3. 스택: 책상 위에 책을 쌓듯 데이터를 관리하는 구조이다
4. 큐: 계산대에 줄을 서는 사람들과 같이 데이터를 넣은 순서대로 데이터를 꺼내는 방법이다
5. 트리: 나뭇가지처럼 퍼지는 자료구조이다
출처
'Deep Learning > Python-Algorithm' 카테고리의 다른 글
📔 이.코.테 Part2. BFS, DFS알고리즘 및 구현(Python) (0) | 2020.09.18 |
---|---|
[Basic of Basic] 알고리즘 기본 정리 - 단방향 리스트와 양방향 리스트 (0) | 2020.08.30 |
[파이썬 알고리즘 인터뷰] P01. Valid Palindrome 팰린드롬 문제풀이 (0) | 2020.08.28 |
[파이썬 알고리즘 인터뷰] Chap4. Big-O, Data Structure (0) | 2020.08.13 |
[알고리즘의 성능 표현 방법] 시간 복잡도와 공간 복잡도 그리고 빅오 표기법 (0) | 2020.04.01 |
댓글