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
 

✅ 프로그래머 입장에서 왜 중요할까?

  • 자료구조에 따라 코드 성능이 완전히 달라짐
  • 빠르게 검색, 정렬, 삽입하려면 적절한 자료구조 선택이 중요
  • 코딩테스트, 실무 모두 자료구조가 기초체력임

✅ 결론

자료구조는 "데이터를 효율적으로 다루기 위한 도구상자"
잘 쓰면 빠르고, 못 쓰면 느리고 버그 많아져.

 

흠..트리랑 그래프빼고는 다 아는데 트리랑 그래프에 대해서도 공부해봐야겠다!

반응형