자바와 자료구조

수민·2022년 6월 3일
0

개발

목록 보기
17/45

자료구조란?

  • 프로그램에서 사용할 많은 데이타를 메모리 상에서 관리하는 여러 구현방법들
  • 효율적인 자료구조가 성능 좋은 알고리즘의 기반이 됨
  • 자료의 효율적인 관리는 프로그램의 수행속도와 밀접한 관련이 있음.

한줄로 자료를 관리하기(선형자료구조)

  • 배열(Array):선형으로 자료를관리, 정해진 크기의 메모리를 먼저 할당받아 사용하고, 자료의 물리적위치와 논리적 위치가 같음.

연결리스트(lINKEDlIST): 선형으로 자료를 관리, 자료가 추가될때마다 메모리를 할당받고, 자료는 링크로 연결됨, 자료의 물리적위치와 논리적위치가 다를수있음

스택:가장 나중에 입력된 자료가 가장 먼저출력되는 구조

큐: 가장 먼저 입력된 자료가 가장 먼저 출력되는 자료구조

트리: 부모노드와 자식노드간의 연결로 이루어진 자료구조

Max Heap:부모 노드는 자식노드보다 항상 크거나 같은 값을 갖는 경우
Min Heap:부모 노드는 자식 노드보다 항상 작거나 같은 값을 갖는경우
heap정렬에 활용할수 있음.

이진트리:부모노드에 자식노드가 두개 이하인 트리

해싱

  • 자료를 검색하기 위한 자료구조
  • 검색을 위한 자료구조
  • 키에대한 자료를 검색하기 위한 사전(dictionary)개념의 자료구조

Array의 특징

  • 동일한 데이터 타입을 순서에따라 관리하는 자료구조
  • 정해진 크기가 있음
  • 요소의 추가와 제거시 다른 요소들의 이동이 필요함
  • 배열의 i번쨰 요소를 찾는 인덱스 연산이 빠름

<T Extends클래스 >

  • T자료형의 범위를 제한할수있음
  • 상위 클래스에서 선언하거나 정의하는 메서드를 활용 할 수 있음
  • 상속을 받지 않는 경우 T는 Object로변환되어 object클래스가 기본으로 제공하는 메서드만 사용가능.

제네릭 메서드란?

  • 자료형 매개변수를 메서드의 매개변수나 반환 값으로 가지는 메서드는
  • 자료형 매개 변수가 하나이상인 경우도 있음
  • 제네릭 클래스가 아니어도 내부에 제네릭 메서드는 구현하여 사용할 수 있음
  • public<자료형 매개변수> 반환형 메서드이름(자료형 매개변수....){}

컬렉션 프레임워크

  • 프로그램 구현에 필요한 자료구조를 구현해 놓은 JDK라이브러리
  • Java.util 패키지에 구현되어 이씅ㅁ
  • 개발에 소요되는 시간을 절약하면서 최적화된 알고리즘을 사용할 수 있음
  • 여러 구현 클래스와 인터페이스의 활용에대한 이해가 필요함.
profile
헬창목표

0개의 댓글