티스토리 뷰
자료구조(Data Structure)
자료(Data)
현실 세계로부터 수집한 사실이나 개념의 값 또는 이들의 집합을 의미한다
흔히 가공되지 않은 형태의 데이터를 자료라고 하며 특정한 용도로 사용하기 위하여 자료를 처리/가공한 형태의 데이터를 정보(Information) 이라고 한다
자료구조(Data Structure)
자료의 집합을 의미
각 원소들 사이의 관계가 논리적으로 정의된 일정한 규칙에 의하여 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 조직적, 체계적으로 구분하여 표현한 것을 말한다
자료구조의 선택기준
작업의 효율성, 추상화, 재사용성을 증가시키기 위하여 상황에 따른 자료구조를 선택하여 사용해야 한다
자료의 처리를 더 효율적으로 하기 위하여 아래의 사항을 고려해야한다
- 자료의 처리시간
- 자료의 크기
- 자료의 활용빈도
- 자료의 갱신정도
- 프로그램의 용이성
자료구조의 특징
효율성(Efficiency)
상황에 맞는 알고리즘을 사용하여 자료를 구조화 시키기 때문에 효율적으로 동작한다
평균적으로 자료수/2 만큼의 검색을 해야하므로 데이터를 찾는 작업이 빈번하고 데이터가 많을 경우 비효율적
이럴때에는 HashTable 과 같은 자료구조를 이용하여 좀더 빠르게 작업을 할 수 있다
추상화(Abstraction)
복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는것을 말한다
자료구조를 이용하여 데이터를 처리할 경우 처리할 데이터를 어떻게 삽입하고 어떻게 추출할 것 인가에 중점을 두지 않음
즉, 자료구조 자체를 구현하는 알고리즘에 중점을 두지 않고 어느 시점에 데이터를 삽입할 것이며 어느 시점에 데이터를 추출하고 이러한 데이터를 어떻게 사용할 것인지에 초점을 맞출 수 있기 때문에 프로그램의 비즈니스적인 요소에 좀 더 시간을 할애할 수 있다
재사용성(Reusability)
자료구조의 분류
자료구조는 크게 선형구조와 비선형 구조로 나눌 수 있다
선형구조는 자료가 일렬로 연결되어 있는 형태로 구성하는 방법이고 비선형구조는 자료의 구성이 일렬이 아닌 특별한 형태를 띠는 구조이다
선형 구조
- 배열 (Array)
- 연결 리스트(Linked List)
- 스택(Stack)
- 큐(Queue)
- 데크(Deque)
비선형구조
- 트리(Tree)
- 그래프(Graph)
'Development > 자료구조&알고리즘' 카테고리의 다른 글
[자료구조/알고리즘] 삽입정렬(insertion sort) (0) | 2017.08.22 |
---|---|
[자료구조/알고리즘] 합병정렬(merge sort) (0) | 2017.08.18 |
[자료구조/알고리즘] 버블정렬(bubble sort) (0) | 2017.08.17 |
[자료구조/알고리즘] 선택정렬(selection sort) (0) | 2017.08.17 |
[자료구조/알고리즘] 시간복잡도와 빅오 표기법 (0) | 2017.08.15 |
- Total
- Today
- Yesterday
- spring boot org.springframework.beans.factory.BeanDefinitionStoreException
- mariadb 데이터타입
- mac mariadb 설치
- HTTP
- 스프링 부트 에러
- 알고리즘
- 자료구조
- mysql 데이터 타입
- Stack
- Data Structure
- mysql 세팅
- hash algorithm
- mysql데이터
- mac mariadb
- 400 badgateway
- springframewor
- mariadb설치
- 400 error
- mariadb
- 큐
- mysql데이터타입
- 스프링 부트 시작 에러
- 데크
- 스택
- mac db설치
- org.springframework.beans.factory.BeanDefinitionStoreException
- 해시알고리즘
- spring boot 시작 에러
- mariadb데이터 타입
- hash알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |