반응형

Java 7

[Java] Soma Cube

프로그래밍 언어 / 2003년 1학기 / 한상영 교수님 [설명] 임의의 블럭들의 모양을 입력으로 받은 다음 그 블럭들을 이용해 3*3*3의 큐브를 만들 수 있는 distinct한 모든 해를 구하는 프로그램. Soma Cube라고 널리 알려진 문제. [cube.java] /************************************************************ http://zzun.net ******************************************************/ import java.io.*; class Piece // a class of each piece { public Piece(char s) { ptn = new int[2][27*24/2]; // pat..

IT/소스코드 2003.07.10

[Java] Hash Table과 AVL Tree를 이용한 Pattern Matching 2/2

자료구조 / 2002년 2학기 / 문병로 교수님 [Matching.java 2/2] public class Matching { private static String inputFileName = "testpaper.txt"; // 인풋 파일 이름 public static int k = 6; // 검색의 최소 한계가 되는 글자수 private static LinkedList[] foundLists; // 글자를 검색한 결과가 저장될 곳 private static HashTable ht; // 해쉬 테이블 public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new FileReader(..

IT/소스코드 2003.07.10

[Java] Hash Table과 AVL Tree를 이용한 Pattern Matching 1/2

자료구조 / 2002년 2학기 / 문병로 교수님 [설명] Matching.java class HashTable : 해쉬테이블을 구현한 클래스. 직접 구현. 테이블의 각 엔트리는 하나의 AVLTree. class AVLTree : AVL트리 구현. 공개되어 있는 소스에서 가져와서 약간씩 수정하였습니다. URL : http://www.cs.fiu.edu/~weiss/dsaajava/code/DataStructures/AvlTree.java 트리의 각 노드는 key가 되는 스트링과, LinkedList 형의 data를 갖습니다. class LinkedList : (int, int) 형의 data를 갖는 링크드리스트. 직접 구현. class Matching : 파일을 읽어 data를 저장하고, 콘솔로부터 입력을..

IT/소스코드 2003.07.10

[Java] Polynomial Calculator 2/2

자료구조 / 2002년 2학기 / 문병로 교수님 [PolyManage.java] /* 다항식의 각 항들을 LinkedList에 넣어 저장하면서, 동시에 그 다항식들의 집합도 LinkedList에 저장하는 방식입니다. 즉, bigList의 Node 각각은 하나의 다항식(Pn(x))를 뜻하고, smallList의 Node 각각은 다항식에서 하나의 항(3x^2)을 가리킵니다. 그렇지만, 두 List는 같은 LinkedList 자료구조기 때문에 하나의 LinkedList class를 사용해 구현해서 혼돈이 있을수도 있습니다.(code의 효울성을 위해 반복해서 만들필요는 없다고 생각했습니다.) 구체적으로 말하자면, bigList의 각 node의 number는 다항식번호(n)이고, data는 작은 LinkedLis..

IT/소스코드 2003.07.10

[Java] Polynomial Calculator 1/2

자료구조 / 2002년 2학기 / 문병로 교수님 [설명] Polynomial Calculator : 다항식 계산 프로그램. Poly.java : 프로그램이 실제 수행되는 main() 메쏘드가 있는 클래스. PolyManage.java : 다항식의 입력,삭제,계산,덧셈,곱셈,나눗셈 등을 수행하는 클래스. LinkedList.java : 다항식을 저장하는 자료구조인 링크드 리스트를 구현한 클래스. [Usage] 다항식 입력 > enter 5 > 5x^2 + 6 x^3 -5x + 0x^3 -5 +2x^3 다항식 출력 > print 다항식 계산 > eval 5 1.5 다항식 삭제 > erase 5 다항식 덧셈 > add 2 5 다항식 곱셈 > mul 2 5 다항식 나눗셈 > div 2 5 [Poly.java] ..

IT/소스코드 2003.07.10

[Java] Huffman Coding 2/2

공학수학2 / 2002년 2학기 / 박근수 교수님 [HuffmanTree.java] import java.io.*; /** 이곳이 HEAP을 구현한 부분입니다! **/ class Heap { public Heap() { size = 0; // 현재 heap내에 data는 0개 data = new Comparable[DEFAULT_CAPACITY+1]; // 어느정도 크기만큼 초기화 } public Heap(Comparable[] array) // array 내용을 바로 heap에 넣음 { size = array.length; // data의 갯수는 array길이만큼. data = new Comparable[array.length+1]; // array 길이보다 1 크게 초기화함. for (int i=0;..

IT/소스코드 2003.07.10

[Java] Huffman Coding 1/2

공학수학2 / 2002년 2학기 / 박근수 교수님 [설명] Huffman Coding : 각 문자의 Frequency를 이용한 텍스트 압축 Huffenc.java : 입력텍스트(Huffman.in)로부터 압축파일(Huffman.cmp)과 빈도파일(Huffman.frq) 생성 Huffdec.java : 압축파일과 빈도파일로부터 출력텍스트(Huffman.out) 생성 HuffmanTree.java : 코딩&디코딩에 사용되는 트리 [Huffenc.java] import java.io.*; class HuffOutputStream // 비트단위 출력을 담당하는 클래스 { public HuffOutputStream(OutputStream os) throws IOException { buffer = 0; // 한 ..

IT/소스코드 2003.07.10
반응형