동일한 데이터 유형의 요소를 순차적으로 저장하는 자료 구조크기가 고정되어 있으며, 한 번 생성된 후에는 크기를 변경할 수 없다요소에 대한 빠른 접근이 가능하며 인덱스를 통해 직접 접근(Random Access)할 수 있다데이터의 삽입 및 삭제가 비효율적이며, 크기가 작
완전 이진 트리(Complete Binary Tree)를 기반으로 한 자료 구조지만 중복을 허용.부모 노드와 자식 노드 간의 우선순위를 비교하여 최대 값 또는 최소 값이 항상 루트 노드에 위치하도록 유지최대 값 또는 최소 값에 빠르게 접근할 수 있어 최대/최소 우선순위
노드(N, node)와 그 노드를 연결하는 간선(E, edge)을 하나로 모아 놓은 자료 구조연결되어 있는 객체 간의 관계를 표현할 수 있는 자료 구조로 지도, 지하철 노선도의 최단 경로, 전기 회로의 소자들, 도로(교차점과 일방 통행길), 선수 과목 등에 이용된다노드
큰 문제를 작은 하위 문제로 나누어 해결하는 알고리즘 설계 기법중복되는 하위 문제를 효율적으로 해결하여 전체 문제를 효율적으로 해결하는 방법을 제공 최적화 문제를 해결하는 데 주로 사용되며, 최적 부분 구조와 중복 부분 문제의 특징을 가진 문제에 적용된다Overlapp
재귀 알고리즘은 자기 자신을 호출하여 해결하는 알고리즘으로 자기 자신을 호출하는 방식으로 문제를 해결하는 것base condition \- 재귀 호출을 멈추고 반환할 때의 조건인 base condition를 정의하여 알고리즘이 종료되도록 해야한다. 모든 입력이 bas
이미 정렬된 파일에 새로운 데이터를 순서에 맞게 삽입시켜 정렬하는 방식으로 두 번째 값부터 시작해 그 앞에 존재하는 원소들과 비교하여 삽입할 위치를 찾아 삽입하는 정렬 알고리즘구현이 간단하고 쉬우며 작은 크기의 배열에 효과적이다.최선의 경우 O(n)의 성능을 가지지만,
JAVA Java의 특징 Java는 객체지향 언어이며 JVM을 통해 어떤 운영체제에서도 동일하게 실행되며 가비지 컬렉터에 의해 자동으로 메모리를 관리한다. 또한 다양한 오픈소스 라이브러리와 API를 지원받을 수 있으며 멀티스레드를 지원한다. OOP (Object O
자바 웹 애플리케이션 개발을 위한 오픈 소스 프레임워크스프링 컨테이너로 자바 객체를 관리하면서 DI와 IoC를 통해 결합도를 낮춘다. 스프링 부트는 Spring을 보다 편리하게 사용할 수 있도록 하기 위한 도구 기존의 많은 설정이 자동화 (spring boot star
노드와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합서로 다른 computer 끼리 서로 연결 되어있는 망을 의미 한다.Computer 가 사물(Thing) 로 변화하면서 IOT(Internet Of Things) 가 되는 것노드 : 서버, 라우터, 스위치 등 네
데이터베이스를 관리하고 운영하는 소프트웨어정의 : DB 구조 (테이블, 속성) 정의조작 : DB 연산(삽입, 수정, 삭제, 검색) 처리제어 : 데이터 무결성, 일관성, 접근 권한, 동시성 제어 구조적 질의 언어 (Structure Query Language)를 통
소프트웨어 코드 작성 시에 생기는 공통적인 문제를 해결할 때 참조할 수 있는 코드 패턴으로 SW 재사용성, 호환성, 유지 보수성을 보장장점소프트웨어의 구조를 파악하기 용이재사용을 통한 개발 시간 단축설계 변경 시 유연성 있는 조치 가능단점객체 지향 언어에서 사용할 경우