본문 바로가기

프로그래밍/기본기ㆍ자료구조

자료구조

728x90
반응형

자료구조란

자료를 효율적으로 저장하는 방식을 뜻한다.

 

자료구조의 필요성과 목적성

1. 메모리를 절약하기 위해

- 가장 기본적인 이유이며 불필요하고 추가적인 정보 없이 목적에 부합하는 정보만을 저장하면 되기 때문에 저장 공간을 효율적으로 사용할 수 있다.

 

2. 프로그램 실행 시간을 단축하기 위해

효율적은 구조를 구현함으로 불필요한 계산을 줄이고 프로그램의 실행 시간을 단축 시켜준다.

(이러한 절차를 '알고리즘'이라고 한다.)

 

3. 프로그램 구현과 유지보수를 쉽게 하기 위해

- 효율적은 구조는 프로그램 개발을 쉽게 만들어주고 이해하기 쉬워 협업자들로 하여금 분석하는 시간을 줄여준다.

 

자료구조의 분류

자료를 저장하는 방식이나 형태에 따라 크게 '선형구조'와 '비선형구조'로 나뉜다.

우리가 흔히 '자료구조'라고 부르는 범위에는 포함되지 않는 '단순구조', '파일구조'도 있다.

 

1. 선형구조 (linear structure)

- 데이터의 순서가 연속적으로 연결되어 있는 구조

- 배열, 리스트, 스택, 큐, 데큐(데크) 등이 있다.

(linear는 '선으로된','직선의 모양'의 의미로 자료들 사이의 앞뒤 관계가 일대일(1:1)이다)

 

2. 비선형구조 (nonlinear structure)

- 데이터들의 순서가 불규칙하고 자료간의 연결이 일대일(1:1)이 아닌 구조

- 트리, 하프, 그래프 등이 있다.

 

3. 단순 구조

- 프로그래밍 언어에서 기본적으로 제공해주는 자료형

(int, float 등을 가리키며 '원시 자료형', '내장형' 또는 '기본형'으로 부르기도한다.)

 

4. 파일구조

- 보조기억 장치에 저장되는 자료구조

- 순차파일, 인덱스된 순차 파일, 직접 파일, 역파일, 다중리스트 파일 등이 있다.

(정보처리산업기사에 해당 내용에 대해서 설명되어 있다.)

 

 

참고 사이트에서 발견한 유사성 표

 

참고 출처

 

[자료구조][자료구조와 알고리즘]

자료구조​자료구조는 우리 일상부터 사용된다.다음과 같은 예를 들 수 있다.​또한 프로그램에서도 사용된...

blog.naver.com

 

 

GlacialFriends 9월 14일 (월) 정식 출시!

안녕하세요? 이번에 부부가 힘을 합쳐 게임 하나를 출시하였습니다. 이제껏 핑계를 대면서 개발이 늦어졌는데 이번에 마음을 다잡고 완성시켜 처음으로 게임을 출시하게 되었습니다. 무료 게임

chipmunk-plump-plump.tistory.com

 

다람쥐와 포동포동이

 

반응형

'프로그래밍 > 기본기ㆍ자료구조' 카테고리의 다른 글

ArrayList (배열리스트)  (0) 2020.04.09
List (리스트)  (0) 2020.04.09
Override (오버라이드)  (0) 2020.04.08
Array (배열)  (0) 2020.04.06
파일구조  (0) 2020.04.06