반응형

분류 전체보기 1207

[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

[C++] Vigenere Cipher and Cryptanalysis

공학수학2 / 2002년2학기 / 박근수 교수님 [설명] Vigenere Cipher and Cryptanalysis : n만큼의 길이를 가지는 Key를 이용해 암호화. 그리고 그 Key 없이 암호분석. vigen.cpp : Key를 이용하여 Plaintext(vigen.in)를 Ciphertext(vigen.out)으로 바꿈. vigcr.cpp : Ciphertext로부터 Key를 유추하여 Plaintext(vigcr.out)을 만들어냄. vigen.in : 첫줄에는 Key가 있어야 함. Key는 반드시 대문자. 나머지 plaintext는 소문자. vigen.out : 실행시 자동 생성됨. Ciphertext. vigcr.out : 실행시 자동 생성됨. 정상적으로 동작할 경우 vigen.in과 같은 파..

IT/소스코드 2003.07.10

back to 대구

다시 대구로 내려가기로 했다. 금요일.. 내일이네. 서울에서 계절학기 수업을 청강하기로 한것은 잘못된 선택이었다. 물론 듣고자하는 의지는 있었지만.. '강제성'이 부족하여 늦잠자기 일쑤다. 어제도 아침에 일어났다가 다시 잠들어서 오후1시에 일어났다.(수업시작이 오후1시) 결국 수업에 들어가지 않았지만.. '청강인데 뭐 어때..' 라는 생각밖에 들지 않았다. 대구내려가서 과외를 하기로 했다. 친구(오윤)가 구해준 과왼데 집이 좀 멀다. 그래도 중학생이라니깐 좀 편하게 할 수 있을것 같다. 별 부담도 없고 말이지... 기회가 되면 하나 정도 더하고 싶은데 구해질려나 모르겠다. 8월달에 가기로 한 엉성5인방 제주도 하이킹 계획은 이대로 물거품이 되는것인가? 역시 6월이나 7월에 갔어야 했던것 같다 ㅡㅡ; 8월..

일상 2003.07.10

NARC

감독 : Joe Carnahan 주연 : Jason Patric, Ray Liotta 2002년 작 '반전'을 기대했던 영화 그 '반전'에 실망했던 영화 그러나 마지막 '반전'은 미쳐 예상하지 못했던.. 그런 영화였다. 전체적인 느낌은 '똑바로' 진행하는 '메멘토(크리스토퍼 놀란 감독, 2000년작)'랄까.. 아무튼 느낌은 비슷했다. 카메라를 들고 뛰어가며 촬영한듯한 첫장면부터 약간의 긴장감이 감돌았다. 그치만 내가 지적하고 싶은것은 그 긴장감을 유지하지 못했다는 거다. 대게 이런류의 마지막 반전을 노리는 영화는 관객들로 하여금 긴장감을 서서히 고조시키게 하는 요소가 필요하다. 내가 입이 닳도록 칭찬하는 '메멘토'에서는 시간의 역전개 및 지그재그식의 전개를 이용해 그 효과를 극대화시켰다. 놀란 감독의 차..

리뷰/영화 2003.07.08

'1000배 빨라진' 메모리 개발

'1000배 빨라진' 메모리 개발 [중앙일보] 2003년 07월 07일 (월) 21:12 [중앙일보 김창규 기자] 세계 반도체업체들이 실리콘 대신 게르마늄.납.티타늄 등 '금속 화합물'을 사용한 반도체 기술을 잇따라 개발하고 있다. 이에 따라 머지 않아 금속 화합물 메모리 반도체 시대가 열릴 것이라는 분석도 나오고 있다. 삼성전자는 7일 플래시메모리 등 보다 데이터 처리속도가 1천배 가량 빠른 차세대 메모리반도체 'P램'의 기술개발에 성공했다고 7일 밝혔다. 삼성전자는 P램(Phase change RAM)의 소재로 기존 실리콘 기술과 달리 '게르마늄 안티몬 텔룰라이드'라는 비휘발성 물질을 이용했다. 이 제품은 기존 플래시메모리보다 속도와 내구성을 1천배 향상시킨 것이다. 상용화 될 경우 휴대전화 등에서 ..

IT/이슈 2003.07.07
반응형