티스토리 툴바


quickSort

프로그래밍 2008/03/27 20:37

import java.io.*;

public class Round02_Ex01 {

 public static void swap(int[] num, int lhs, int rhs) {
  int tmp = num[lhs];
  num[lhs] = num[rhs];
  num[rhs] = tmp;
 }

 public static void quickSort(int[] num, int l, int h) {

  if (l < h) {
   int m = partion(num, l, h);
   quickSort(num, l, m - 1);
   quickSort(num, m + 1, h);
  }
 }

 public static int partion(int[] num, int l, int h) {

  int firsthigh = l;
  int p = h;

  for (int i = 0; i < h; i++) {
   if (num[i] < num[p]) {
    swap(num, firsthigh, i);
    firsthigh++;

   }
  }
  swap(num, firsthigh, p);

  return firsthigh;
 }

 public static void main(String[] ar) throws IOException {
  int num[] = { 10, 20, 100, 50, 70 };

  quickSort(num, 0, num.length - 1);

  for (int i = 0; i < num.length; i++) {
   System.out.println(num[i]);
  }
 }
}

top

Trackback Address :: http://misterlinker.tistory.com/trackback/21 관련글 쓰기

Write a comment


MinGw

개발도구 2008/03/20 23:10
윈도우에서 gcc로 컴파일 할 일이 생겼는데..
예전에 Windows용 GNU를 사용한 기억이 있었는데
도무지 제목이 생각이 안났다.. ㅡ.ㅡ
Cygwin을 사용해도 되는데 개인적으로 비선호다.
겨우 MinGW, MSYS를 기억해 냈다.
담에 잊어버리면 여기서 찾아야지..ㅋ









top
TAG MinGW

Trackback Address :: http://misterlinker.tistory.com/trackback/19 관련글 쓰기

Write a comment


test

분류없음 2008/02/11 15:09
test
top

Trackback Address :: http://misterlinker.tistory.com/trackback/22 관련글 쓰기

Write a comment


top

Trackback Address :: http://misterlinker.tistory.com/trackback/18 관련글 쓰기

  1. bbusisi 2008/02/14 15:26 댓글주소 | 수정/삭제 | 댓글

    왜 요즘 블로깅 안하는고야? 초대장 준 사람으로 매우 섭섭하다!

Write a comment


윤지

일상 2008/02/10 23:59
사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지


포즈도 취할줄 알고 인제 다 키웠네..ㅎㅎ
top

Trackback Address :: http://misterlinker.tistory.com/trackback/20 관련글 쓰기

  1. BBusisi 2008/03/21 00:22 댓글주소 | 수정/삭제 | 댓글

    내가 다 키웠지, 히힛... 고맙지?

  2. misterlinker 2008/03/21 00:22 댓글주소 | 수정/삭제 | 댓글

    사실 장모님이 키운거지..ㅡ.ㅡ

Write a comment


  • Broker가 모지?
    • 검색엔진에서 대용량 데이타는 한대의 Machine에 저장할 수 없다.
    • 나는 분산의 기준을 document단위로 했다. 물론 termId로 할 수도 있지만 내가 찾아본 자료에 의하면 document단위로 하는게 좀더 우수한 성능을 가진다.
    • 분산되어서 저장이 되어 있는 상황에서 사용자 Query를 받았을때 분산되어 있는 데이타들을 취합해서 결과값을 돌려 줘야 한다.
    • 이 역활을 하는게 Broker다..
  • 어떻게?
  • 자 이제 코딩 시작해 보까..ㅋ
ps) 내 프로필 사진이 얼마전 개미로 바뀌었는데, 개미 한마리 한마리는 의미를 가지지 못하지만 이집단이 모여서 Ant hill이라는 거대한 구조물을 만들수 있다. 이런걸 가능케 하는게 뭘까? 난 개미들의 Communication능력이라고 생각한다.
내가 생각하는 분산 처리 방식도 이와 비슷하다. 각각의 Machine은 하나의 독립된 개체로서 가치를 가지고 각 Machine의 Communication에 의해서 좀더 큰 일을 수행하게 하는것이다.
내가 분산처리를 termId로 하지 않고 document로 하는 이유도 여기에 있다.

top

Trackback Address :: http://misterlinker.tistory.com/trackback/17 관련글 쓰기

  1. bbusisi 2007/12/01 16:37 댓글주소 | 수정/삭제 | 댓글

    개미라는 프로필에 이렇게 깊은 뜻이 있었을 줄이야

Write a comment


어제 redhat과 다우기술이 주최한 Open Source Symposium을 다녀왔다.
회사에서 4명이 갔었는데. 2명은 도중에 다시 회사로 가벼렸다..ㅋ
다들 개발자들이라 오픈 소스에 관한 기술적인 내용을 기대하고 갔었는데..
많은 부분이 회사 제품 소개로 치우치면서 좀 실망했던거 같다.

그래도 나는 마지막 세션의 발표자인 이희승님의 "오픈소스 프로젝트 참여를 통한 개발자 커리어 관리" 세션에 희망을 걸고 끝까지 남아 있었다.
세미나의 내용은 Apache Mina 그룹의 PMC가 되기 까지  어떤 과정을 거쳤는지를 말씀해 주셨다. 그동안 어떤사람인지 궁금하던 차에 궁금증이 다 풀리는 자리였다..

나도 물론 Open Source 커뮤니티에 적극적으로 참여하고 싶지만 실력의 부족함과 시간의 여유가 없는 관계로 일단 Open Source의 소비자가 되어야 겠다.
Open Source를 열심히 사용하다 보면 부족함과 아쉬운 점을 느끼게 될꺼고 그부분에 대해서 간단한 패치부터 올리면서 Open Source 커뮤니티에 조금씩 다가가야지 ㅋ

내가 알고 있는 Open Source 사이트
http://apache.org
http://java-source.net
http://sourceforge.net

top

Trackback Address :: http://misterlinker.tistory.com/trackback/16 관련글 쓰기

Write a comment


http://update.mozilla.or.kr/addons/?application=firefox&addonType=extension
여기에 가면 firefox extesion을 설치할 수 있다..

내가 주로 사용하는 extension은
1. IE Tab : firefox 탭에서 IE를 사용해서 웹페이지를 열수 있다. ActiveX가 필요한 금융권이나 증권사에 방문할때 사용한다.
http://update.mozilla.or.kr/addons/?p=728&application=firefox&addonType=extension

2. All-in-One Gestures : 웹서핑중에 앞으로, 뒤로,텝 닫기 등의 명령을 마우스로 할 수있다.
http://update.mozilla.or.kr/addons/?p=130&application=firefox&addonType=extension

3. Backword : 영문으로 된 웹페이지를 보다가 모르는 단어위에 마우스를 올리면 한글을 보여준다.
https://addons.mozilla.org/ko/firefox/addon/2955

Firefox 넘 좋다.. ㅎㅎ 유럽에서는 점유율이 20%가 넘는다는데.. 우리나라는 아직 2%정도 밖에 안된다고 하네.. IE보다 백배 나은데.. 왜 이 좋은걸 안쓰는걸까?ㅡ.ㅡ 아직 많이 안알려져서 그런건가..
top
TAG firefox

Trackback Address :: http://misterlinker.tistory.com/trackback/15 관련글 쓰기

Write a comment


Merge Sort

프로그래밍 2007/11/18 13:38
#include <stdio.h>

#include <iostream>
#include <vector>

using namespace std;

void mergeSort(vector<int> arrayA, vector<int> arrayB, vector<int> &arrayRes)
{
    int indexA=0, indexB=0;

    while(indexA < arrayA.size() && indexB < arrayB.size()) {
        if(arrayA[indexA] < arrayB[indexB]) {
            arrayRes.push_back(arrayA[indexA]);
            indexA++;
        }
        else {
            arrayRes.push_back(arrayB[indexB]);
            indexB++;
        }
    }
    while(indexA < arrayA.size()) {
        arrayRes.push_back(arrayA[indexA]);
        indexA++;       
    }
    while(indexB < arrayB.size()) {
        arrayRes.push_back(arrayB[indexB]);
        indexA++;       
    }

    return;
}

int main()
{
    int inputA[] = {1, 5, 37, 42, 61};
    int inputB[] = {11, 15, 19, 48, 59};   

    vector<int> arrayA(&inputA[0], &inputA[sizeof(inputA)/sizeof(int)]);
    vector<int> arrayB(&inputB[0], &inputB[sizeof(inputB)/sizeof(int)]);
    vector<int> arrayRes;

    mergeSort(arrayA, arrayB, arrayRes);
   
    for(vector<int>::iterator vi=arrayA.begin(); vi != arrayA.end(); vi++) {
        printf("%d ", *vi);
    }
    cout << endl;

    for(vector<int>::iterator vi=arrayB.begin(); vi != arrayB.end(); vi++) {
        printf("%d ", *vi);
    }
    cout << endl;

    for(vector<int>::iterator vi=arrayRes.begin(); vi != arrayRes.end(); vi++) {
        printf("%d ", *vi);
    }
    cout << endl;

    return 1;
}

top

Trackback Address :: http://misterlinker.tistory.com/trackback/14 관련글 쓰기

Write a comment


Insertion Sort

프로그래밍 2007/11/18 13:31
#include <stdio.h>

#include <vector>
#include <iostream>

using namespace std;


void insertion_sort(vector<int> &array)
{
    int i, j, cur_data, array_length = array.size();
   
    //printf("array_length=>[%d]\n", array_length);
    for(i=1; i<array_length; i++) {
        cur_data = array[i];
        for(j=i-1; j>=0 && (array[j] > cur_data); j--) {
            array[j+1] = array[j];
        }
        array[j+1] = cur_data;
    }

    return;
}



int main()
{
    int a[] = {26, 5, 37, 1, 61, 11, 59, 15, 48, 19};

    vector<int> array(&a[0], &a[sizeof(a)/sizeof(int)]);
   
    for(vector<int>::iterator vi=array.begin(); vi != array.end(); vi++) {
        printf("%d ", *vi);
    }
    cout << endl;

    insertion_sort(array);

    for(vector<int>::iterator vi=array.begin(); vi != array.end(); vi++) {
        printf("%d ", *vi);
    }
    cout << endl;

    return 1;
}

top

Trackback Address :: http://misterlinker.tistory.com/trackback/13 관련글 쓰기

Write a comment