본문 바로가기

자료 구조20

[자료 구조] 4. 배열을 활용해 Stack 구현하기 [자료 구조] 4. 배열을 활용해 Stack 구현하기  1. Stack이란?(1) Stack의 정의: 스택(Stack)은 데이터를 일시적으로 저장하기 위한 선형(linear) 자료 구조로,마지막에 들어간 자료가 처음으로 나오는 형태이다. (=LIFO 원칙. 후입선출) (2) Stack의 주요 연산-Push: 스택의 맨 위에 요소를 추가한다.-Pop: 스택의 맨 위의 요소를 꺼내, 삭제한다.-Peek/Top: 맨 위의 요소를 반환하지만, 제거하지 않는다.-IsEmpty: 스택이 비었는지 확인하고, 비어있다면 true/비어있지 않다면 false를 반환한다.-Size: 스택에 저장된 요소의 개수를 반환한다. (3) 배열을 활용해 Stack을 구현해보자. (1) TencoIntArray 수정 버전(2) MyAr.. 2024. 5. 3.
[자료 구조] 3. Java 배열을 활용한 객체 만들기 [자료 구조] 3. Java 배열을 활용한 객체 만들기1. 배열에 대한 기본 개념2. 배열을 활용한 객체를 만들어보자. 1. 배열에 대한 기본 개념(1) 배열의 개념: 동일한 데이터 타입을 순서에 따라 관리하는 자료 구조 (2) 배열의 특징:-정해진 크기가 있다. (배열)-요소의 추가와 제거시, 다른 요소들의 이동이 필요하다.-배열의 i번째 요소를 찾는 인덱스 연산이 빠르다.-jdk 클래스: ArrayList, Vector2. 배열을 활용한 객체를 만들어보자. package Structure;/* * 배열을 활용한 클래스를 설계해보자. * 물론, 이미 자바 표준 API 개발자들이 * 잘 만들어 준 클래스들이 존재한다. * 하지만 직접 기능을 확장해서 만들어 보자. */public class Te.. 2024. 5. 2.
[자료 구조] 2. 선형 자료 구조 [자료 구조] 2. 선형 자료 구조 (1) 선형 자료 구조: 한 줄로 자료를 관리하기 1-1. 배열(Array): 선형으로 자료를 저장한다.-배열은 연속된 메모리 공간에 데이터를 저장하므로, 특정 인덱스에 직접 접근하여 데이터를 읽거나, 쓸 때 매우 효율적이다.-배열의 크기를 변경하려면 데이터를 추가하거나, 삭제할 때마다 메모리의 다른 위치로 데이터를 이동시켜야 한다. 즉, 추가 및 삭제 작업이 많은 경우 배열을 사용하는 것이 비효율적이다.-특정 위치에 새로운 데이터를 삽입하거나 삭제할 때에도, 데이터를 이동시켜야 하므로 작업이 번거롭다. => 배열은 검색이 자주 일어나고 데이터가 변경되지 않는 경우에 적합하다.추가, 삭제, 수정이 잦은 경우에는 다른 자료 구조를 사용하는 것이 효율적이다! 1-2. 연결.. 2024. 5. 2.
[자료 구조] 1. 자료 구조 개론: 자료 구조란? [자료 구조] 1. 자료 구조 개론1. 자료 구조(Data Structure)란? 1. 자료 구조(Data Structure)란?(1) 자료 구조(Data Structure)는 데이터를 효율적으로 구성하고, 조작하기 위한 방법을 제공하는 클래스와 인터페이스의 모음이다. 이런 자료 구조는 다양한 요구 사항에 맞게 설계되었고, 데이터를 삽입, 삭제, 검색, 정렬 등 작업을 효율적으로 수행할 수 있게 지원한다.=> 프로그램에서 사용할 많은 데이터를 메모리상에서 관리하는 여러 구현 방법들이다! (2) Java에서 제공하는 자료구조에는 배열, 리스트, 스택, 큐, 집합, 맵 등이 포함된다. 이런 자료 구조들은 다양한 상황에서 사용될 수 있다. 프로그램의 성능과 효율성을 향상시키는 데에 중요한 역할을 한다. (3).. 2024. 5. 2.