1. 알고리즘과 자료구조의 관계
- 자료 구조(Data structure) : 자료를 처리하는 방법
- 알고리즘(Algorithm) : 문제를 처리하는 절차(입력을 받아 원하는 값으로 출력하는 절차)
1) 알고리즘 : 문제 해결을 위한 처리 절차.
- 문제와 컴퓨터가 주어진 상태에서 문제를 해결하는 방법을 정밀하게 장치가 이해 할 수 있는 언어로 기술 한 것.
- 0개 이상의 입력, 1개 이상의 출력이 존재
- 명백성 : 각 명령어의 의미는 모호하지 않고 명확해야 함.
- 유한성 : 한정된 수의 단계 후에는 반드시 종료되어야 함.
- 유효선 : 각 명령어들은 실행 가능함 연산이어야 함.
2) 자료구조 : 데이터를 저장하거나 조직하는 방법.
- 데이터로의 접근과 변경을 편리하게 하기 위함.
- 자료구조는 언어별로 지원하는 양상이 다르다.
- 메모리의 효율적인 사용을 위한다.
- 자료구조의 구성 : insert(저장, 추가), Search(탐색), Delete(삭제)
- 자료구조의 분류
① 단순구조 : 프로그래밍에서 사용되는 기본 데이터 타입
② 선형구조 : 저장되는 자료의 전 후 관계가 1:1(리스트, 스택, 큐 등)
③ 비선형구조 : 데이터와 항목 사이의 관계가 1:n 또는 n:m(트랙, 그래프 등)
④ 파일구조 : 서로 관련된 필드들로 구성된 레코드의 집합인 파일에 대한 자료구조
3) 자료구조와 알고리즘의 관계 : 상호적
(1) 자료구조를 구현하기 위해서 알고리즘이 필요하다.
(2) 자료구조의 알고리즘 : 데이터를 저장하고 탐색하는 방법
(3) 자료구조를 활용한 알고리즘도 존재.
'CS > CS' 카테고리의 다른 글
[CS] 캐시(Cache)란? (0) | 2021.12.12 |
---|---|
[CS] 컴파일러(Compiler)란? (0) | 2021.12.12 |
[CS] 코딩 할 때 단어 표기법(camelCase, snake_case, UpperCase .,) (0) | 2021.12.07 |
[CS] 절차지향 vs 객체지향 (0) | 2021.11.18 |
[CS] 함수 호출 방법 Call by value vs Call by reference (0) | 2021.11.18 |
야나의 코딩 일기장 :) #코딩블로그 #기술블로그 #코딩 #조금씩,꾸준히
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!