자바 5

알고리즘 시험공부) 이진탐색 트리와 연산

실습 - 1: 이진 탐색트리 만들기 메소드 역할 BinaryTree copy(BinaryTree btree) 매개 변수로 받은 btree를 복사 boolean equal(BinaryTree btree, BinaryTree ctree) 매개변수로 받은 btree와 ctree가 같은지 확인 BinaryTree swap(BinaryTree btree) btree를 swap boolean isLeaf() 리프노드인지 확인하는 함수 int size() 이진 트리의 노드의 개수를 구하는 함수 int height() 이진 트리의 높이를 구하는 함수 int numLeaves() 터미널 노드의 개수를 확인하는 함수 void printNode(BinaryTree T) 이진트리T 출력 BinaryTree insertKey(..

알고리즘 2022.10.17

[Algorithm]이원 탐색 트리(Binary Search Tree)

특징: 임의 키를 가진 원소를 삽입, 삭제, 검색하는데 효율적인 자료구조 정의: 모든 원소는 상이한 키를 가짐 + 왼쪽 키 공백일 시 실패로 종료 -> 루트키가 x이면 성공으로 종료 - 키 값 x < 루트 키 일때, 왼쪽 서브트리만 탐색, 또는 반대로 - 알고리즘 public BinaryTree find(String x) { BinaryTree T = btree; int result; while (T != null) { // 비교를 해서 data보다 작음으로 왼쪽 링크를 쫒아감. if ((result = x.compareTo((String) T.data)) < 0) { // 왼쪽 링크 쫓아감 T=T.llink; } /..

알고리즘 2022.10.07

[Algorithm]트리와 이진트리의 기본 개념

트리(Tree): 계층형 자료구조 - 하나의 node = 그 자체로 트리 = root - 트리의 기본 성질: 노드가 N개인 트리는 항상 N - 1개의 링크를 가짐 * node: 데이터 필드 + 링크 필드 * 노드의 차수(degree): 한 노드가 가진 서브 트리의 수(=각 노드의 가지 수) * 노드의 부모 및 자식 * 트리의 차수: 노드들 차수 중 최대 차수 * 노드의 레벨: root = level 0, 트리의 특정 깊이 * 노드의 높이 또는 깊이: 루트 도달하기 위해 거쳐하는 간선 수 ex. I의 깊이= 2, L의 깊이=3 이진 트리(Binary Tree): node의 유한 집합 - 각 노드는 최대 2개의 자식을 가짐( 왼, 오 중 하나가 공백도 허용) - 리프 노드(leaf node): 둘다 공백일 ..

알고리즘 2022.09.28

JAVA-클래스 실습(01)

문제1. 사각형을 나타내는 클래스 Rectangle을 만들어보자. 사각형은 가로(w)와 세로(h)를 가지며, 사각형의 넓이를 반 환하는 area(), 사각형의 둘레를 반환하는 perimeter() 메소드, 객체를 초기화하는 생성자도 함께 선언한다. Rectangle 클래스를 작성하고 객체를 생성하여 테스트하라. 생성자를 사용하여 객체를 초기화 한 후 임의의 값으 로 필드값을 변경한 후 결과도 확인하시오 import java.util.Scanner; class Rectangle{ int area(int w,int h) { return w*h; } int perimeter(int w,int h) { return (w+h)*2; } } public class RectangleTest { public stati..

Java/실습 2022.04.15

자바 이론(1)- Class

객체 지향 프로그래밍 - OOP(Object Oriented Programming) a. 객체(Object): 물리적으로 존재하거나 추상적으로 생각 가능한 것 중 자신의 속성을 가지며 식별가능한 것 - 객체 = 생성자(constructor) + 속성(필드filed) + 동작(메소드method)로 구성 - 인스턴스(instance): 클래스로부터 만들어진 객체 b. 클래스(Class): 자바의 설계도 + 객체 생성을 위한 필드, 생성자, 메소드 정의 - 용도: 1. 라이브러리(API)클래스 : 다른 클래스에서 이용할 목적으로 만든 클래스 2. 실행 클래스: main()메소드를 가지고 있는 클래스, 실행할 목적으로 만든 클래스 c. 객체 생성: new 연산자( new class(); -> 생성자 호출 코드)..

Java/이론 2022.04.14