C#
C# - 자료구조
Dev_Jen
2025. 7. 2. 12:13
반응형
✅ 자료구조란?
자료(데이터)를 효율적으로 저장하고, 관리하고, 사용할 수 있도록 구성한 방식
쉽게 말하면,
"데이터를 어떻게 정리해서 넣고, 꺼내고, 수정할지에 대한 규칙과 구조"
✅ 왜 중요한가?
- 빠르게 찾기 위해
- 효율적으로 저장하기 위해
- 복잡한 데이터를 쉽게 다루기 위해
- 성능 좋은 알고리즘을 만들기 위해
✅ 비유로 설명하면
- 자료구조 = 서랍장
예를 들어, 옷을 아무데나 넣으면 나중에 찾기 힘들지?
자료구조는 "양말은 맨 위 칸", "바지는 아래 칸"처럼 정리 기준을 정해주는 거야.
✅ 주요 자료구조 종류 (기초)
자료구조설명예시
배열 (Array) | 순서대로 데이터를 저장 | 리스트, 숫자 모음 |
리스트 (List) | 동적으로 크기가 변하는 배열 | C#의 List<T> |
스택 (Stack) | 나중에 넣은 게 먼저 나옴 (LIFO) | 웹 브라우저 뒤로가기 |
큐 (Queue) | 먼저 넣은 게 먼저 나옴 (FIFO) | 줄서기, 작업 대기열 |
해시테이블 (Hash Table) | 키로 값 빠르게 찾기 | 전화번호부 |
트리 (Tree) | 계층적 데이터 구조 | 폴더 구조, 게임 스킬트리 |
그래프 (Graph) | 노드 간 연결 표현 | 길찾기, SNS 관계망 |
집합 (Set) | 중복 없는 데이터 모음 | HashSet |
✅ 프로그래머 입장에서 왜 중요할까?
- 자료구조에 따라 코드 성능이 완전히 달라짐
- 빠르게 검색, 정렬, 삽입하려면 적절한 자료구조 선택이 중요
- 코딩테스트, 실무 모두 자료구조가 기초체력임
✅ 결론
자료구조는 "데이터를 효율적으로 다루기 위한 도구상자"
잘 쓰면 빠르고, 못 쓰면 느리고 버그 많아져.
흠..트리랑 그래프빼고는 다 아는데 트리랑 그래프에 대해서도 공부해봐야겠다!
반응형