11주차-자료구조

코린이·2022년 4월 9일
0

엘리스 AI 트랙

목록 보기
4/7

자료구조

자료구조란?

자료를 저장하는 구조로 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 조직적, 체계적으로 구분한 표현한 데이터 구조이다.

특징

  • 효율성 : 문제에 알맞은 자료구조를 사용하여 효율적으로 자료를 관리하고 사용가능.
  • 추상화 : 핵심적인 개념 또는 기능을 간추려내는 것을 말함.
  • 재사용성 : 특정 프로그램에서만 동작하도록 설계하지 않아 다른 프로젝트에서도 사용가능.

자료구조 종류

이미지 출처

[1] 선형구조 (Linear)

  • 자료들이 순차적으로 나열
  • 하나의 자료 뒤에 하나의 자료가 존재

[2] 비선형 자료구조(NonLinear)

  • 하나의 자료뒤에 여러개의 자료가 존재 가능

배열

  • 여러 개의 동일한 자료형의 데이터를 한번에 만들 때 사용.
  • <인덱스, 요소> 쌍의 집합
  • 모든 요소가 동일한 자료형
  • 인덱스를 이요하여 빠르게 접근 가능
  • 삭제 및 삽입의 비용이 많이 소요

  • 먼저 넣은 데이터를 가장 먼저 꺼내는 데이터 구조
  • FIFO(선입선출) , LILO 방식을 사용
  • 가장 앞부분 front, 가장 뒷부분을 rear
  • front: 삭제가 발생, rear : 삽입이 발생

스택

  • 한쪽 끝에서만 자료를 넣고 뺄 수 있는 자료구조
  • LIFO 방식을 사용 (가장 먼저 저장된 것이 제일 나중에 나옴)
  • Top에서만 데이터 삽입과 삭제가 수행
  • 데이터를 받는 순서대로 정렬

연결리스트

  • 노드라는 객체로 이루어져있음.
  • 노드는 데이터를 갖고 있는 데이터 필드와 다음 원소를 가리키는 포인터로 구성
  • 리스트의 첫번째 노드를 Head, 마지막 노드를 Tail이라고 한다.
  • 데이터 삽입과 삭제 속도의 경우 배열보다 리스트가 우위

  • 양쪽에서 삽입과 삭제가 가능한 구조
  • rear와 front 어느 곳에서든 삽입과 삭제가 이루어짐.

트리

  • 노드로 구성된 계층적 자료구조
  • 트리는 하나의 루트 노드를 갖고 있다. ( 최상위 노드를 루트라고 함 )
  • 순차적으로 저장하지 않는, 비선형 자료구조

그래프

  • 정점과 간선으로 이루어진 자료구조
  • 정점 : 노드라고도 하며, 데이터가 저장되는 곳이다.
  • 간선 : 링크라고도 하며, 노드간의 관계를 나타낸다.



내용 계속해서 추가하기

profile
초보 개발자

0개의 댓글