일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 강아지 열사병
- 신포동 맛집
- 강아지 종류
- 반려견 유기농
- 자동화봇
- 반려견
- 강아지 유기농
- 반려견 유기농 사료
- 티켓팅매크로
- 반려견 더위
- 반려견 홀리스틱
- 닥스훈트
- 강아지종류
- 강아지 더위
- 강아지
- 국비지원 예습
- 부산 맛집
- 서울대입구 맛집
- 홀리스틱 유기농
- 동인천 맛집
- 강아지 홀리스틱
- 쿠팡매크로
- 강아지 유기농 사료
- 샤로수길 데이트
- 티켓팅메크로
- 반려견 종류
- 반려견 사료등급
- 쿠팡메크로
- 반려견 열사병
- 샤로수길 맛집
- Today
- Total
심심한잉여의 잡동사니
[자료구조] 자료구조란? 본문
자료구조란?
사전적 의미로는 자료(Data)의 집합을 의미하며, 각 원소들이 논리적으로 정의된 규칙에 의해 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것이라고 한다.
간단하게 여러 데이터를 묶음으로 저장하고 사용하는 방법을 정의 한 것이라고 볼 수 있다.
즉, 자료를 더욱 효율적으로 저장하고 관리를 위해 사용되며 잘 선택된 자료구조는 실행시간을 단축시켜주거나 메모리 용량의 절약을 이끌어 낼 수 있다.
자료구조의 특징
- 효율성
자료구조는 효율적으로 자료를 저장 및 관리를 위해 사용되는 것이다. 따라서 적절한 자료구조를 선택하여 사용한다면 업무의 효율이 올라갈 것 이다.
한가지 예를 들어보면 검색에 대한 알고리즘을 구현할 때, 데이터의 양이 많다면 순차 검색을 사용하는 것 보다 이분검색을 활용하는 것이 더 효율적일 것 이다. 왜냐하면 학생이라는 테이블에 학생에 대한 데이터가 100만개 있다고 했을 때, 순차 검색으로 데이터를 검색하게 된다면 운이 좋을 때는 1번의 연산으로 찾겠지만 운이 없는 경우에는 100만번의 연산을 거치게 된다. 이에 반해 이분 검색은 연산의 횟수가 훨씬 줄어든다. 이와 같이 목적에 맞는 자료구조를 사용하는 것이 효율적이다.
- 추상화
추상화란 복잡한 자료, 모듈, 시스템 등으로 부터 핵심적인 개념만 간추려 내는 것 이다.
자료구조를 구현할 때 중요한 것은 어느 시점에 데이터를 삽입할 것이며, 어느 시점에 이러한 데이터를 어떻게 사용할 것인지에 대해 초점을 맞출 수 있기 때문에 구현 외적인 부분에 더 시간을 투자할 수 있다.
알고리즘 자체에는 중점을 두지 않는다.
자료구조 내부의 구현은 중요하지 않고 어떻게 구현했는지 보다 어떻게 사용해야 하는지를 알고 있어야 한다는 것이다.
예를들어 스택의 경우 먼저 들어간 것이 나중에 나오는 FILO의 형태를 가지고 있다.
그리고 push()함수를 이용해서 데이터를 삽입할 수 있고, pop() 함수를 통해 데이터를 추출할 수 있게 된다.
그 함수 내부구현이 어떻게 되었는지는 중요하지 않고 사람마다 다른 코드를 작성할 것이고, 사용 언어, 개발 툴 등 환경적인 변수에 의해 다른 코드가 나올 것이기 때문이다.
따라서 추상적인 개념에 대해서만 이해하고 있다면 사용하는데 문제가 없을 것이라 할 수 있다.
- 재사용성
자료구조는 크게 선형 자료구조와 비선형 자료구조로 나뉜다. 선형 자료구조의 경우 데이터가 일렬로 나열되어 있다는 것을 뜻하고, 비 선형 자료구조는 특정한 형태를 띄고 있는 것을 뜻하는데, 각각 해당하는 자료구조는 아래와 같다.
선형 자료구조
- 배열
- 링크드 리스트
- 스택
- 큐
비선형 구조
- 트리
- 그래프
'코딩일기' 카테고리의 다른 글
[네트워크]Ethernet 통신(이더넷 통신) (0) | 2022.04.09 |
---|---|
[네트워크] 통신이란 (0) | 2022.04.08 |
[API]API란? (0) | 2022.04.03 |
[SQL/DataBase]인덱스(Index)란? (0) | 2022.03.25 |
[SQL/DB]정규화(Normalization)와 반정규화(De-Normalization) (0) | 2022.03.24 |