카테고리 없음

[알고리즘/자료구조(스택,큐)] 정의

Licht- 2024. 2. 21.

📙 #알고리즘_정의

정의

주어진 문제를 해결 하기 위한 일련의 단계적인 풀이과정

ex) 서울에서 부산까지 가는 방법
1.집에서 버스터미널까지는 택시를 탄다.
2.버스터미널부터 부산까지는 버스를 탄다.

  • 위의 예시처럼 어떤 문제를 해결하기 위한 풀이과정을 일컬어 알고리즘이라고 이해하면 될 것 같다.

📙 #자료구조_정의

정의

컴퓨터 기억 공간 내에 자료저장하고 조직화 시키는 방법


📙 #자료구조_알고리즘_관계

자료구조가 복잡한 형태일수록 알고리즘은 보다 짧은 단계의 과정으로 처리.
자료구조가 간단한 형태일수록 알고리즘은 보다 많고 길어지게 된다.

ex)
복잡한 자료구조는 잘 정돈된 서류함에 비유될 수 있으며, 이것을 통해 특정 문서를 빠르게 찾을 수 있습니다.
한편으로는 간단한 자료구조는 지저분한 책상에 비유될 수 있으며, 문서를 찾기 위해 많은 시간이 소요될 수 있습니다.

자료구조의 선택이 알고리즘의 설계 및 효율에 큰 영향을 미침


📙 #자료구조_배열

정의

같은 자료형을 갖는 여러 원소하나의 이름으로 모아놓은 데이터의 집합

장점

인덱스를 이용해 빠른 임의 접근가능.

단점

원소들이 순차적으로 저장되어 데이터 삽입과 삭제 연산 발생 시 시간적 오버헤드 발생.
배열 크기를 미리 결정하는 것이 어려워 이로 인해 오버플로나 저장공간 낭비 초래


📙 #자료구조_연결리스트

특징

  • 배열의 문제점 보완
  • 데이터/링크 형태로 구성 되어 데이터를 기억장치의 어느 곳에 저장해도 된다.
  • 이를 위해 <데이터,주소(링크)> 쌍의 노드라는 저장 구조를 이용.
    • ex) 토요일 , 0 , 화요일 , 17

장점

기억장치의 할당과 반환을 통해 동적 관리가 가능

단점

특정 데이터 접근 필요 시 첫번째 데이터를 가진 노드 부터 모든 노드를 차례로 방문


📙 #스택

정의

한쪽 끝에서삽입 삭제가 일어나는 선형 리스트

ex) 식당에서 빈접시가 높이 쌓아져 있는 것을 연상

특징

데이터의 삽입/삭제가 일어나는 곳을 top 이라고 함

가장 나중에 삽입된 데이터가 가장 먼저 삭제되는 후입선출(LIFO) 리스트

스택의 이런 특성으로 인해 삽입 삭제 연산을 push/pop 연산이라고 하기도 한다.


📙 #큐

정의

한쪽 끝에서는 삽입 다른 한쪽 끝에서는 삭제만 수행되는 선형 리스트

ex) 영화 티켓을 사기 위해 줄 서 있는 모습을 연상
(먼저 줄 서있는 사람이 먼저 표를 구매하고 줄에서 이탈)

특징

데이터 삭제되는 곳을 front / 데이터 삽입되는 곳을 rear 라고 한다

선입선출(FIFO)


댓글