본문 바로가기

알고리즘3

알고리즘이란 무엇인가? 알고리즘의 정의해보고 알고리즘의 종류를 분류해보자 알고리즘이란 무엇일까? 알고리즘의 정의 알고리즘은 컴퓨터 공학 혹은 컴퓨터 과학(Computer Science Engineering)에서 문제들을 어떻게 풀 것인가에 대한 자세한 설명서이다.초기 입력과 상태에서 시작해서 일련의 명령들을 수행해 출력을 내보내고, 최종 상태에서 종료되는 것이다.간단히 말해 문제를 푸는 과정이라고 생각하면 된다. 알고리즘 분류하기 알고리즘들을 분류하는 다양한 방법들이 있다. 1. 실행 방법(구현 방법)에 따른 알고리즘 분류(1) 재귀 (Recursion) 어떤 조건이 만족할 때 까지 반복적으로 수행하는 방법이다. 예를 들어 하노이의 탑(towers of Hanoi) 같은 문제가 있다. (2) 논리 추론 (Logical) 프로그래밍 언어론에서 구문분석(Semantics) 같은 .. 2019. 2. 24.
자바 알고리즘 또는 프로그램 시간 성능 측정하는 방법 시간 측정하는 방법 currentTimeMillis현재 시간을 반환해주는 메소드인 currentTimeMillis()를 사용하면 시간을 측정할 수 있다. 시간을 측정하면 프로그램의 성능을 알아볼 수 있다.프로그램이 시작될 때의 시간을 구하고, 끝 났을 때의 시간을 구해서 빼주면 된다. 그러면 프로그램이 동작한 시간을 구할 수 있다. 실제 사용 예 // time public class Tistory { public static void main(String[] args) { int i = 100000; long startTime = System.currentTimeMillis(); program(100000); long estimatedTime = System.currentTimeMillis() - sta.. 2018. 10. 16.
자료구조 및 설계 실습1 소스코드 및 보고서:인접 리스트를 이용해 그래프를 저장 자료구조 및 설계 실습1 소스코드 및 보고서:인접 리스트를 이용해 그래프를 저장 문제1)인접 리스트를 이용해 그래프를 저장하는 프로그램인 리스팅 16.3에 한 개의 edge를 그래프에서 제거하는 함수를 작성하고 테스트하시오.- 교재 16.3의 그래프 객체에 간선을 제거하는 함수 추가- 그래프의 간선 제거 전 후를 확인 문제2)a. 인접행렬을 이용해 그래프를 저장하는 프로그램인 리스팅 16.1에 너비우선탐색을 수행하는 메소드를 작성하시오- 교재 16.1 그래프 객체에 너비우선탐색을 수행하는 함수 추가- 교재 큐(Queue) 객체를 너비우선탐색에 이용b. 16.1 그래프에 대해 너비우선탐색을 수행한 결과를 프린트하는 테스트 클래스를 작성하여 수행하시오.- 너비우선탐색을 수행하는 동안 방문하는 정점을 출력- .. 2018. 9. 2.