📙 #알고리즘_정의
정의
주어진 문제를 해결 하기 위한 일련의 단계적인 풀이과정
ex) 서울에서 부산까지 가는 방법
1.집에서 버스터미널까지는 택시를 탄다.
2.버스터미널부터 부산까지는 버스를 탄다.
- 위의 예시처럼 어떤 문제를 해결하기 위한 풀이과정을 일컬어 알고리즘이라고 이해하면 될 것 같다.
📙 #자료구조_정의
정의
컴퓨터 기억 공간 내에 자료를 저장하고 조직화 시키는 방법
📙 #자료구조_알고리즘_관계
자료구조가 복잡한 형태일수록 알고리즘은 보다 짧은 단계의 과정으로 처리.
자료구조가 간단한 형태일수록 알고리즘은 보다 많고 길어지게 된다.
ex)
복잡한 자료구조는 잘 정돈된 서류함에 비유될 수 있으며, 이것을 통해 특정 문서를 빠르게 찾을 수 있습니다.
한편으로는 간단한 자료구조는 지저분한 책상에 비유될 수 있으며, 문서를 찾기 위해 많은 시간이 소요될 수 있습니다.
자료구조의 선택이 알고리즘의 설계 및 효율에 큰 영향을 미침
📙 #자료구조_배열
정의
같은 자료형을 갖는 여러 원소를 하나의 이름으로 모아놓은 데이터의 집합
장점
인덱스를 이용해 빠른 임의 접근이 가능.
단점
원소들이 순차적으로 저장되어 데이터 삽입과 삭제 연산 발생 시 시간적 오버헤드 발생.
배열 크기를 미리 결정하는 것이 어려워 이로 인해 오버플로나 저장공간 낭비 초래
📙 #자료구조_연결리스트
특징
- 배열의 문제점 보완
- 데이터/링크 형태로 구성 되어 데이터를 기억장치의 어느 곳에 저장해도 된다.
- 이를 위해 <데이터,주소(링크)> 쌍의 노드라는 저장 구조를 이용.
- ex) 토요일 , 0 , 화요일 , 17
장점
기억장치의 할당과 반환을 통해 동적 관리가 가능
단점
특정 데이터 접근 필요 시 첫번째 데이터를 가진 노드 부터 모든 노드를 차례로 방문
📙 #스택
정의
한쪽 끝에서만 삽입 삭제가 일어나는 선형 리스트
ex) 식당에서 빈접시가 높이 쌓아져 있는 것을 연상
특징
데이터의 삽입/삭제가 일어나는 곳을 top 이라고 함
가장 나중에 삽입된 데이터가 가장 먼저 삭제되는 후입선출(LIFO) 리스트
스택의 이런 특성으로 인해 삽입 삭제 연산을 push/pop 연산이라고 하기도 한다.
📙 #큐
정의
한쪽 끝에서는 삽입 다른 한쪽 끝에서는 삭제만 수행되는 선형 리스트
ex) 영화 티켓을 사기 위해 줄 서 있는 모습을 연상
(먼저 줄 서있는 사람이 먼저 표를 구매하고 줄에서 이탈)
특징
데이터 삭제되는 곳을 front / 데이터 삽입되는 곳을 rear 라고 한다
선입선출(FIFO)
댓글