알고리듬 #3 | 자료구조의 종류

HyeonWooGa·2022년 7월 27일
0

알고리듬

목록 보기
3/18

자료구조

메모리를 효율적으로 사용하며 빠르고 안정적으로 데이터를 처리하는 것이 궁극적인 목표로 상황에 따라 유용하게 사용될 수 있도록 특정 구조를 이루고 있다.


전산화

현실에 존재하는 영화 예매를 어떻게 컴퓨터로 옮길 것인가?

무엇을 고려해야 하는가?

현실에서 수행되는 프로세스는?

  • 고객은 어떤 영화를 볼지 고른다.
  • 고객은 영화를 예매하기 위해 줄을 선다
  • 고객은 차례가 왔을 때 좌석을 선택한다.
  • 고객은 최종적으로 돈을 지불한다.

소프트웨어에서 어떻게 처리할 것인가?

  • 영화를 검색한다. -> Trie(트리)
  • 고객이 많을 경우 줄을 서야한다. -> Queue(큐)
  • 고객은 좌석을 선택할 수 있어야한다. -> HashTable(해시테이블)

결국 자료구조는 일차원인 컴퓨터 메모리를 현실에 대응되도록 구조를 만든 것이라 할 수 있습니다!


자료구조의 종류

단순 구조

특별하게 매울 내용은 아닙니다

선형 구조

배열, 연결 리스트, 스택, 큐

비선형 구조

트리, 그래프


선형 구조

한 원소 뒤에 하나의 원소 만이 존재하는 형태로 자료들이 선형으로 나열되어 있는 구조를 가집니다.

배열, 연결 리스트, 스택, 큐 등이 있습니다.


비선형 구조

원소 간 다대다 관계를 가지는 구조로 계층적 구조나 망형 구조를 표현하기에 적절합니다.

트리와 그래프 등이 있습니다.


완벽한 자료구조는 없다

더 좋고 더 나쁜 자료구조는 없습니다
특정 상황에서 유용한 자료구조와 덜 유용한 자료구조가 존재할 뿐입니다.
우리는 상황에 맞게 적절한 자료구조를 선택하면 됩니다.


마무리

배열, 연결 리스트, 스택, 큐, 그래프, 트리 등 안 들어본 자료구조가 없습니다.

하지만 제대로 이해하거나 설명할 수 있는 것이 없는데

이번에 알고리즘 공부를 하는 계기로 해당 자료구조 들을 꼭 제대로 이해하고

타인에게 설명할 수 있는 정도가 코딩에 활용하는 되도록 공부 해보겠습니다.


profile
Aim for the TOP, Developer

0개의 댓글