Brute Force Method 브루트 포스법은 선형 검색을 단순하게 확장한 알고리즘이다. 브루트 포스법은 패턴을 처음부터 문자 하나씩 비교해 나가는 방식이다. 문자들을 비교해 나가며 일치할 시 종료하고 인덱스를 반환한다. 자바에서 자공하는 indexOf 메소드를 이용해 문자열을 검색할 수 있다. import java.util.Scanner; public class BFmatch { static int bfMatch(String txt, String pat) { int pt = 0; // txt 커서 int pp = 0; // pat 커서 while (pt != txt.length() && pp != pat.length()) { if (txt.charAt(pt) == pat.charAt(pp)) { p..
집합은 순서에 상관없이 요소들을 저장하는 컬렉션을 말한다. 자바에서는 이것을 위해 Set 이라는 인터페이스를 구현하여 사용한다. Set의 특징 중복된 요소는 없어야한다.(장점) 하나의 null 값만 저장할 수 있다. 순서는 있을 수 있지만 유지되지 않는다. 정렬될 수 있다. Set의 종류 HashSet 접근 속도가 빠르다. 순서를 제공하지 않고, 중복을 허용하지 않는다. LinkedHashSet 중복을 허용하지 않는다. 삽입 순서에 의해 반복된다. 저장된 순서를 유지한다. TreeSet 중복을 허용하지 않는다. 정렬된 순서에 의해 반복된다. 자동으로 정렬을 해준다. Set 메소드 boolean add(Object o) 요소를 저장하고 중복되지 않아서 저장되었다면 True, 아니라면 False를 리턴 vo..
프로세스 계층 구조 프로세스는 일반적으로 부모 자식 관계의 게층구조를 이룬다. 최초의 프로세스 PID 0 프로세스가 실행되어 자식프로세스들을 실행시킨다. 즉 PID 0 프로세스가 모든 프로세스들의 조상프로세스(부모의 부모... 프로세스)가 된다. PID 0,1,2등의 특수한 조상 프로세스는 시스템 호출이 아닌 hand-craft로 생성된다. 프로세스가 생성되는 5가지 경우 1. 시스템 부팅 시 2. 로그인 시 필요한 프로세스 자동 생성 3. 새로운 프로세스 생성 명령 4. 매치 작업 실행 5. 현재 프로세스가 시스템 호출을 통해 또 다른 새 프로세스 생성 프로세스 생성 과정 PID 번호 할당 PCB 구조체 생성 프로세스 테이블에서 항목 할당 프로세스 테이블에 PCB 연결 새로운 프로세스를 위한 공간 마련..