[한빛아카데미] 자바로 배우는 쉬운 자료구조 책으로 학습한 내용을 정리한 것입니다. * 큐(Queue) - 리스트의 한쪽 끝에서는 삽입 작업이 이루어지고 반대쪽 끝에서는 삭제 작업이 이루어짐 - 삽입된 순서대로 삭제되는 선입선출(FIFO, First-In-First-Out) 구조 [큐의 구조] - Front : 저장된 원소 중에서 첫번째 원소 - Rear : 저장된 원소 중에서 마지막 원소 * 큐의 연산 - enqueue() - 큐에 끝(rear)에 항목을 추가 - dequeue() - 큐에 맨 앞(front)에 항목을 제거 - peek() - 큐에 맨 앞(front)에 있는 항목을 반환 - isfull() - 큐가 가득 찼는지 확인 - isempty() - 큐가 비어 있는지 확인 * 큐 구현 방법 1)..
[한빛아카데미] 자바로 배우는 쉬운 자료구조 책으로 학습한 내용을 정리한 것입니다. * 스택(Stack) - 쌓아 올린다는 의미로, 접시를 쌓듯이 자료를 차곡차곡 쌓아 올린 형태의 구조 - 같은 구조의 크기의 자료를 top이라고 정한 한 곳으로만 쌓을 수 있고, top으로만 접근하도록 제한하여 만든 자료구조 - 삭제 시에도 top을 통해서만 가능하기 때문에 top이 가리키고 있는 스택의 마지막 자료만 삭제할 수 있음 - 후입선출(LIFO, Last-In-First-Out) 구조 [스택의 구조] - Bottom : 가장 밑에 있는 데이터 또는 인덱스 - Top : 가장 위에 있는 데이터 또는 인덱스 - Capacity : 스택에 담을 수 있는 데이터의 총 용량 - Size : 현재 스택에 담겨져있는 데이터..
[한빛아카데미] 자바로 배우는 쉬운 자료구조 책으로 학습한 내용을 정리한 것입니다. * 연결 자료구조/비순차 자료구조(Linked Data Structure/Nonsequential Data Structure) - 순차 자료구조 방식에서의 연산 시간에 대한 문제와 저장 공간에 대한 문제를 개선한 자료 표현 방식 - 순차 자료구조 방식에서처럼 원소의 논리적인 순서와 물리적인 순서가 일치할 필요 없음 - 각 원소에 저장되어있는 다음 원소의 주소에 대한 참조에 의해 연결되는 방식으로, 물리적인 순서를 맞추기 위한 오버헤드 발생X - 여러 개의 작은 공간을 연결하여 전체를 표현하므로 크기 변경이 유연하고, 조금 더 효율적으로 메모리 사용할 수 있음 * 노드(Node) - 연결 자료구조 방식에서 단위로 저장함 -..
[한빛아카데미] 자바로 배우는 쉬운 자료구조 책으로 학습한 내용을 정리한 것입니다. * 리스트(List) : 데이터를 나열하는 것 * 선형 리스트/순서 리스트(Linear List/Ordered List) - 리스트에서 나열한 원소들 간에 순서를 가지고 있는 리스트 - 특징 1) 자료들이 순서대로 연속적으로 메모리에 저장됨 2) 삽입, 삭제 시 순서에 변함이 없음 3) 접근 속도가 빠름 4) 알고리즘이 간단함 * 순차 자료구조 - 원소들 간의 논리적인 순서와 메모리에 저장하는 물리적인 순서가 같은 구조 - 순차 자료구조에서의 i번째 위치 = 시작위치 + (i-1) * 원소의 길이 - 배열을 이용하여 구현함 - 원소 삽입/삭제 시 물리적으로 원소를 당기거나 밀어야 해서 추가적인 오버헤드 발생 -> 삽입/삭..
[한빛아카데미] 자바로 배우는 쉬운 자료구조 책으로 학습한 내용을 정리한 것입니다. [자료구조의 분류] * 선형 구조 : 자료간의 앞뒤 관계가 일대일로 고정되어 있는 자료구조 ex. 리스트(List), 연결 리스트(Linked List), 스택(Stack), 큐(Queue), 덱(Deque) * 비선형 구조 : 자료 간에 선형 구조가 아닌 계층(Hierarchical)구조나 망(Network)구조를 갖는 자료구조 ex. 트리, 그래프 * 파일 구조 - 서로 관련 있는 필드들로 구성된 레코드의 집합인 파일에 대한 자료구조 - 보조기억장치에 데이터가 실제로 기록되는 자료구조 ex. 순차 파일, 색인 파일, 직접 파일
[한빛미디어] 뇌를 자극하는 JAVA 프로그래밍 책으로 학습한 내용을 정리한 것입니다. * 연산(Operation) : 정해진 규칙에 따라 데이터를 처리하여 결과를 산출하는 것 * 연산자(Operator) : 연산에 사용되는 표시나 기호 * 피연산자(Operand) : 연산자가 처리하는 데이터 * 식(Expression) : 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것 [자바의 연산자들] 구분 연산자 기능 설명 사칙 연산자 + - * / % 사칙연산 및 나눗셈의 나머지 계산 부호 연산자 + - 음수와 양수의 부호 문자열 연결 연산자 + 두 문자열을 연결 단순 대입 연산자 = 우변의 값을 좌변의 변수에 대입 증가/감소 연산자 ++ -- 변수 값을 1만큼 증가/감소 수치 비교 연산자 = 수치..
[한빛미디어] 뇌를 자극하는 JAVA 프로그래밍 책으로 학습한 내용을 정리한 것입니다. * 자바에서는 사용되는 모든 변수와 데이터의 값에는 타입이 있음 * 자바는 변수에 그 변수와 다른 타입의 데이터를 담으려고 하면 에러가 발생하거나, 데이터 값의 일부가 손실되는 경우가 존재 [자바 데이터 타입의 분류 체계] 데이터 타입 프리미티브 타입 Primitive Type 수치 타입 Numberic Type 정수 타입 Intergral Type byte short int long char 부동소수점 타입 Floating Point Type float double 불리언 타입 Boolean Type boolean 레퍼런스 타입 Reference Type 클래스 타입 Class Type 인터페이스 타입 Interfa..