IT 51

[C++] 3-dimension 63-Puzzle

프로그래밍 언어 / 2003년 1학기 / 한상영 교수님 [설명] 2차원에서의 15-puzzle을 3차원으로 확장한 개념. 임의의 퍼즐 배치를 입력으로 받아 Optimal Solution(최소move)을 구함. Cell을 움직이거나, 움직임의 sequence를 입력받아 움직일 수 있음. [puzzle.cpp] #include #include #include #include #include #define WIDTH 4 short CELL[WIDTH][WIDTH][WIDTH]; short* CELL_S = &(CELL[0][0][0]); // the 1-dimension alias of the 3-dimension array CELL short MD[WIDTH*WIDTH*WIDTH][WIDTH*WIDTH*WI..

IT/소스코드 2003.07.10 (1)

[C++] Booth's Algorithm Simulator

컴퓨터 구조 / 2003년 1학기 / 김지홍 교수님 Booth's Algorithm을 이용한 Low Level적인 곱셈을 시뮬레이션 /************************************************************************* ** ** ** Assignment 3. 1번 Booth's algorithm simulator ** ** ** ** ca49 2001-12204 이준희 ** ** ** *************************************************************************/ #include #include #include #include #include void printHex(int hex) // int를 16진..

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