자료 구조
컴퓨터가 효율적으로 문제를 처리하기 위해 문제를 정의하고 분석하여
그에 대한 최적의 프로그램을 작성해야하기 때문
자료구조에 대한 개념과 활용 능력 필요
자료구조란?
자료를 효율적으로 처리할 수 있도록, 표현하고 저장하고 정리하는 것
자료구조의 형태에 따른 분류
- 단순 구조
정수, 실수, 문자, 문자열, 등의 기본 자료형 - 선형 구조
자료들 사이의 관계가 1:1 관계
순차 리스트, 연결 리스트, 스택, 큐, 데크 등 - 비선형 구조
자료들 사이의 관계가 1:다, 또는 다:다 관계
트리, 그래프 등 - 파일구조
서로 관련 있는 필드로 구성된 레코드의 집합인 파일에 대한 구조
순차파일, 색인 파일, 직접 파일
자료의 표현
컴퓨터에서의 자료 표현과 단위
숫자, 문자, 그림, 소리, 기호 등 모든 형식의 자료를 2진수 코드로 표현하여 저장및 처리
2진수 코드란?
1과 0, On과 Off 참(true) 거짓(false)
디지털 시스템에서의 자료 표현 개수
자료의 종류
수치 자료
문자 자료
논리 자료
포인터 자료
문자열 자료
수치 자료의 표현
부호가와 절댓값 형식 가산기와 감산기를 다 사용함
1의 보수 형식 감산기를 사용함
2의 보수형식 간단한 형식 현존하는 컴퓨터는 이것만
자료구조란
자료를 효율적으로 처리할 수 있도록, 표현하고 저장하고 정리하는 것
알고리즘
문제해결 방법을 추상화하여 단계적 절차를 논리적으로 기술해 놓은 명세서
알고리즘의 조건
- 입력(Input) : 알고리즘 수행에 필요한 자료 외부에서 입력으로 제공될 수 있어야 함
- 출력(Output) : 알고리즘 수행 후 하나 이상의 결과를 출력해야 함
- 명확성(Definiteness) : 수행할 작업의 내용과 순서를 나타내는 알고리즘의 명령어들은 명확하게 명세되어야 함
- 유한성(Finiteness) : 알고리즘은 수행 뒤에 반드시 종료되어야 함 (무한반복되면 안됨)
- 효과성(Effectiveness) : 알고리즘의 모든 명령어들은 기본적이며 실행이 가능해야 함
알고리즘의 표현 방법
알고리즘의 표현방법
- 자연어를 이용한 서술적 표현 방법
사람이 쓰는 자연어(언어)로 표현하는 방법으로 알고리즘을 표현하는데 한계가 있음 - 순서도를 이용한 도식화 표현방법
명령어의 흐름을 쉽게 파악할 수 있지만 복잡한 알고리즘을 표현하는 데는 한계가 있음 - 프로그래밍 언어를 이용한 구체화 방법
알고리즘 자체가 구체적이므로 추가적인 구체화 작업이 필요 없지만 알고리즘을 작성한 특정프로그램 언어를
모르면 이해하기 어려움 - 가상코드를 이용한 추상화 방법
특정 프로그래밍 언어는 아니지만 프로그래밍 언어의 형태를 갖춘 가상코드를 사용하여 알고리즘을 표현함
직접 실행할 수는 없지만 형태가 프로그래밍 언어와 유사하기 때문에 원하는 특정 프로그래밍 언어로
변환(구체화) 하기가 쉬움
순서도를 이용한 도식화
순서도는 특정기호를 상요하여 알고리즘의 실행단계를 표현함
'세종사이버대학교 > 자료구조와 알고리즘' 카테고리의 다른 글
자료구조와 알고리즘 2주차 (0) | 2024.09.22 |
---|