자료구조 3

[자료구조] Array와 Arrays class(java.util.Arrays)

1. Array Array는 많은 수의 데이터를 다룰 때 사용되는 자료 구조로 각 데이터를 인덱스로 1:1 대응하도록 구성되어 있고, 데이터가 메모리 상 연속적으로 저장되어 있다. Data 'a' 'b' 'c' Index 0 1 2 char[] arr = {'a','b','c'}; arr[0]; // 'a' arr[1]; // 'b' arr[2]; // 'c' 배열은 인덱스를 이용해 데이터에 빠르게 접근이 가능하지만, 선언할 때에 미리 최대 길이를 정해서 생성해야 한다. char[] arr = new char[3]; char[] arr = {'a','b','c'}; 배열의 시간 복잡도 Access O(1) Search O(n) Add, delete O(n) Access : 배열의 인덱스 번호를 알고 있다..

Data Structure 2023.03.15

[자료구조] Queue

Queue는 FIFO(First In First Out : 먼저 들어온 데이터가 먼저 나가는 구조)를 가진 자료 구조이다. 데이터를 입력한 순서대로 데이터가 처리되므로 여러 방식으로 활용될 수 있다. 은행창구 번호표 대기 : 빠른 번호표를 가진 사람이 먼저 업무를 봅니다. 프린터 출력 : 가장 먼저 대기열에 오른 프린트가 먼저 출력됩니다. 컴퓨터 운영체제의 테스크 스케쥴링 : 가장 간단한 형태의 선입선 처리 스케쥴링 정책 시간 복잡도 : 조회, 접근 : Ο(n) , 삽입 삭제 : Ο(1) java 내에는 Queue는 Interface 클래스라 구현 시에 Linkedlist로 구현하는 게 편함(java.util.Queue) Enqueue : add(), offer() Search : get(), conta..

Data Structure 2023.03.14

[자료구조] Stack

Stack은 LIFO(Last In First Out : 마지막에 들어온 데이터가 먼저 나가는 구조)를 가진 자료 구조이다. 데이터가 입력된 순서의 역순으로 처리되기 때문에 여러 방식으로 사용될 수 있다. 웹 브라우저 방문기록 (뒤로 가기) : 가장 나중에 열린 페이지부터 다시 보여준다. 역순 문자열 만들기 : 가장 나중에 입력된 문자부터 출력한다. 실행 취소 (undo) : 가장 나중에 실행된 것부터 실행을 취소한다. 후위 표기법 계산 수식의 괄호 검사 (연산자 우선순위 표현을 위한 괄호 검사) 시간 복잡도 : 조회, 접근 : Ο(n) , 삽입 삭제 : Ο(1) import java.util.Stack; Stack stack = new Stack(); stack.push(1); stack.push(2)..

Data Structure 2023.03.13