[자료구조] 힙 (heap) 힙(heap) 이란? 부모의 값이 자식의 값보다 항상 크다(작다) 는 조건을 만족하는 완전 이진 트리 최댓값이나 최솟값을 빠르게 찾아내도록 만들어진 구조 중복된 값을 허용 종류 max heap (최대힙) : 부모의 값 >= 자식의 값 min heap (최소힙) : 부모의 값 1; i = i / 2) { if(maxHeap[i/2] < maxHeap[i]) {// 부모 값이 자식보다 작을 때 swap(maxHeap,i,i/2);// 부모와 자식 위치 변경 }else { return; } } } } 최소힙 public void insert(int data) { if (size == max) { System.out.println("heap이 가득 찼습니다."); } else { minHeap[++size] =.. DataStructrue 2020. 9. 5. 13:57
[자료구조] 트리 (Tree) Tree(트리) 란? 노드로 이루어진 비선형 자료구조 대상 정보의 각 항목들을 계층적으로 연관되도록 구조화 시키고자 할 때 사용. 사이클(cycle)이 없는 하나의 연결그래프 DAG(Directed Acyclic Graphs, 방향성이 있는 비순환 그래프) 의 한 종류이다. 구조 node 트리를 구성하고 있는 각 요소 edge (간선) 트리를 구성하기 위해 노드와 노드를 연결하는 선 root (루트) 부모가 없는 노드, 가장 윗부분에 위치, 1개 트리에 1개 루트 leaf node (단말 노드) 자식이 없는 노드, 트리 가장 아랫부분에 위치 internal (내부) 단말노드가 아닌 노드 child (자식) 어떤 노드로부터 가지로 연결된 아래쪽 노드 parent (부모) 어떤 노드에서 가지로 연겨로딘 위쪽.. DataStructrue 2020. 9. 5. 13:41
[자료구조] 배열 (Array) Array(배열) 이란? 여러 데이터를 하나의 이름으로 그룹핑해서 관리하기 위한 자료구조 여러 개의 동일한 데이터 타입의 데이터를 순차적으로 저장 구조 구현 // 배열 선언 (2가지) int[] num; int num[]; // 배열 크기 할당 num =new int[4]; // 배열 값 입력 num[0] = 10; num[1] = 20; num[2] = 30; // 배열 값 출력 for(int i=0;num.length>i;i++) { System.out.println("num["+i+"] = "+ num[i]); } +) // 배열 선언과 동시에 크기 할당 int num[] = new int[4]; // 배열 선언과 동시에 크기 할당 및 값 초기화 int num[] = {10, 20, 30, 40};.. DataStructrue 2020. 8. 29. 14:40
[JAVA] 연산자 (Operator) 연산 주어진 식을 계산하여 결과를 얻어내는 과정 연산자 : 연산을 수행하는 기호 피연산자 : 연산자의 작업 대상(변수, 상수, 리터럴, 수식) 연산자의 종류 1. 산술 연산자 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/), 나머지(%) 2. 관계 연산자(비교 연산자) > >= >>) : 오른쪽으로 비트 수 만큼 이동하라는 의미, 왼쪽에 비어 있는 칸은 0으로 채워준다. Programming/JAVA 2020. 8. 28. 21:22
[JAVA] 자바란? 자바란? 썬마이크로 시스템즈에서 개발한 객체지향 프로그래밍 언어이다. 자바는 운영체제에 독립적인 특징을 가지고 있다. 자바 특징 운영체제에 독립적이다 한 운영체제에 맞게 개발된 프로그램은 다른 운영체제에서는 프로그램을 수정해서 사용해야 한다. 하지만 자바는 JVM(Java Virtual Machine)을 통해 소스 파일을 수정하지 않아도 사용 가능하다. 객체지향 언어이다. 비교적 배우기 쉽다. c++의 장점을 채택하는 동시에 복잡하고 불필요한 부분은 과감히 제거하여 단순화하였다. 자동 메모리 관리(Garbage Collection) JAVA는 개발자가 직접 메모리에 접근할 수 없도록 설계되어 있으며, 메모리를 직접 자바가 관리한다. 프로그램이 실행되면, 가비지 컬렉터가 자동적으로 사용하지 않는 내용은 제.. Programming/JAVA 2020. 8. 28. 19:42