전체 글6 [JAVA] 큐 큐 란- 큐는 쉽게 말해 우리가 주변에서 흔히 볼 수 있는 나란히 서있는 줄이다- 이 줄 방식대로 데이터를 넣고 빼는 자료 구조를 큐라고 함 큐는 스택과 반대로 FIFO방식으로 원소를 삽입 삭제 함 큐에서 맨 앞 원소를 front 마지막 원소를 tail이라 함 배열을 이용한 큐배열 기반의 큐는 간명함과 효율성이 뛰어남 원소 삽입배열 큐에서 원소를 삽입할땐 tail자리에 원소를 삽입해야하는데 큐 공간이 남아있는지isEmpty()를 사용해 확인한 후 삽입 함 원소 삭제맨 앞 원소 즉 front 원소를 삭제 시킨 후 front를 1 증가시켜 그 다음 원소가 front가 되게 함 연결 리스트를 이용한 큐원소 삽입기존 연결 리스트에서 마지막 노드가 tail인 상태에서 새로운 원소를 삽입할 땐 newnode와.. 2024. 8. 22. [JAVA] 스택 스택- 맨 마지막에 데이터를 쌓고 빼는 자료구조 스택의 원리 - 맨 위 원소를 스택 탑 원소라고 함- push를 통해 새로운 원소를 집어넣어 새로운 스택 탑 원소가 되며 pop을 통해 스택 탑 원소를 삭제시킴 가상 메모리 구조정적 영역- 프로그램 수행 코드와 끝날 때까지 존재하는 데이터가 존재 동적 영역- 프로그램 수행 중 할당 받는 힙과 완료되지 않은 함수가 다른 함수를 호출할 때 정보를 저장하는 스택 영역이 존재 배열 스택 객체 구조stack[] : 스택의 원소들이 저장되는 배열topIndex : 스택 탑 원소 자리의 인덱스push() : 스택의 맨 위에 특정 원소 삽입pop() : 스택의 맨 위에 있는 원소를 알려주고 삭제top() : 스택의 맨 위에 있는 원소를 알려줌isEmpty() .. 2024. 8. 9. [JAVA] 리스트 리스트- 대표적인 자료구조 , ' 줄 세워져 있는 데이터'- 리스트는 크게 배열 리스트와 연결 리스트로 구분 배열 리스트- 요소를 순차적으로 저장하는 자료구조 - 배열 리스트의 객체 구조 메소드* add() : 리스트의 인덱스에 데이터 삽입* append() : 리스트 맨 뒤 데이터 추가* remove() : 리스트 특정 인덱스 삭제* removeItem() : 리스트에서 처음으로 나타나는 데이터 삭제* get() : 리스트의 특정 인덱스를 알려줌* set() : 리스트의 특정 인덱스를 특정 데이터로 대체* index0f() : 데이터가 리스트의 몇번째 원소인지 알려줌* len() : 리스트의 총 원소 수 * isEmpty() : 리스트가 빈 리스트 인지* clear() : 리스트를 깨끗히 청소 배열 리.. 2024. 8. 2. [JAVA] 자바 Basic 클래스 - 객체 지향 언어의 객체를 만드는 수단 필드- 클래스의 속성이나 상태를 나타내는 변수 생성자- 메소드 중 클래스 이름과 동일한 메소드- 해당 클래스의 객체가 하나 만들어질 때 자동으로 수행되어 객체를 초기화한다 메소드- 클래스 내 정의된 함수- 객체의 상태를 읽거나 수정할 수 있다. 자바 기초 문법 변수의 타입- 8개의 기초 타입 변수 * byte, short, int, long- 정수를 표현- 길이 각각 1,2,4,8 바이트 * float, double- 실수를 표현float 타입은 총 32비트(4byte)로 구성, 23비트는 유효숫자에 8비트는 지수부에 1비트는 부호에 사용>> float로 표현할 수 있는 크기가 매우 크다 double 타입은 총 64비트(8byte)로 구성, 52비트는 유효.. 2024. 8. 2. [JAVA] 자료구조와 Time - Complexity Chapter 1자료구조란- 데이터에 효율적으로 접근하고 수정할 수 있도록 저장, 조직, 관리하는 방법에 관한 이론이다 문제 해결 작업을 수행하기 위해 입력을 받아 원하는 출력을 만들어내는 과정을 기술한 것을 알고리즘이라고 하는데이 과정에서 자료구조는 부품 같은 역할을 한다 대표적인 자료구조- 한 줄로 배치된 구조인 선형 자료구조ex) 리스트, 스택, 큐- 데이터를 효율적으로 찾기 위한 구조ex) 검색 트리, 해시 테이블- 우선순위를 다루는 데 유용한 자료구조ex) 힙- 개체의 관계를 표현하는 자료구조ex) 그래프 Chatper 3알고리즘의 성능- 알고리즘의 효율성은 자원을 얼마나 효율적으로 사용하는가로 판단한다자원 >> 곧 시간 알고리즘의 시간 복잡도를 분석할 때는 수행 시간을 지배하는 부분이 어디.. 2024. 7. 26. [JAVA] 객체와 클래스에 대하여 클래스 (class)클래스란?- 객체를 만들기 위한 틀, 청사진, 설계도 객체 (object)객체란?- 클래스를 기반으로 만들어진 실제 사용 가능한 인스턴스 클래스와 객체의 관계- 클래스는 객체의 구조와 행동을 미리 설계한다- 클래스가 없이는 객체를 생성할 수 없다- 객체는 클래스에 정의된 속성과 메소드를 실제로 사용하며, 자신의 고유한 상태를 지닌다- 클래스를 기반으로 객체를 생성하는 과정을 '인스턴스화'라고 한다 객체의 4가지 특성 (캡슐화, 추상화, 상속, 다향성)1. 캡슐화 (Encapsulation)캡슐화란-객체의 속성과 메소드를 하나의 단위로 묶고, 외부에서는 접근을 제한하는 특성이다.이를 통해 객체의 세부사항을 감추고, 객체의 인터페이스만을 외부에 제공한다. - 사각형의 넓이// Rectan.. 2024. 7. 12. 이전 1 다음