희소행렬을 만드는 과정에서 쓰였던 2차원 배열 전체에서 20%만 값을 할당하는 부분을 검증해 보았다. 이를위해 다음과 같은 코드를 작성해 보았다.int main(){ int i, rannum, count=0; int whiCount=0; int sum=0; srand(time(NULL)); while(whiCount 매번 20%의 확률에 들어올 때 카운트 될 수 있게 하는 프로그램을 10000번 반복시켰을 때 평균적으로 20회 카운트 되는것을 결과로 얻을 수 있었다. 따라서 위의 코드는 신뢰할 만하다는 결론을 얻었다.
2차원 배열을 생성하고 배열 전체의 20%에만 임의의 수가 저장되게 만들어 보았다.int** InputValue(int *valueCount) { int** arr; int i,j,rannum; int count = 0; arr = (int**)malloc(sizeof(int)*MAXSIZE); for(i=0;i *valueCount = count; // 생성된 Value의 수를 참조를 통하여 저장한다. return arr;} main함수에서 int **arr; 이라는 변수를 더블포인터 변수를 선언하고 arr = InputValue(&valueCount); 식으로 연결시켜 주었다. valueCount는 몇개의 값이 생성되었는지 알기 위한 변수로 메인에서 선언해주고 InputValue함수에 주소만 넘겨..
Sparse Matrix, 희소행렬이란 행렬의 원소로 0이 많은 것을 의미한다. 즉 2차원 배열로 Matrix를 만들고, 원소들 중 0이 많이 있을 때 0을 위한 저장공간이 아깝기 때문에 이러한 메모리를 절약하기 위해 사용한다. 예를들어 다음과 같은 2차원 배열이 있다고 할 때 불필요하게 0을 저장하는 공간이 많아지기 때문에 다음과 같이 표현하는 것이다. 이는 구조체를 이용해서 배열을 만들어 주면 간단하게 1차원 배열로도 값을 표현해 낼 수 있다. [0]번 인덱스에는 원래의 2차원 배열이 몇행 몇열로 이루어 져있고 값이 몇개인지가 저장되고, [1]번 인덱스 부터 row값을 기준으로 0이 아닌 값들의 위치와 값이 저장된다.
Binary Search를 Recursive한 방식, 즉 재귀적인 방법으로 구현해 보았다. 메인함수는 Binary Search (2) 와 같으며 Recursive 함수만 추가적으로 작성하였다.int BinarySearch_recur(int* _arr, int _searchNum, int _head, int _tail, int* _searchCnt){ int mid; (*_searchCnt)++; // 함수가 콜 될떄마다 카운트를 하나씩 증가시킨다. if(_tail _arr[mid]) { return BinarySearch_recur(_arr, _searchNum, mid+1, _tail, _searchCnt); } else if(_searchNum 차이점이 있다면 return시에 함수를 다시 ca..
Binary Search (1) 에서 생성된 10,000개의 정수를 가지고 원하는 값을 찾아내는 함수를 구현하였다. 그리고 이 함수는 Iterative 방식, 즉 반복문을 통해 검색을 하는 방식으로 구현해 보았다.int main(void){ int arr[arrSize]; int i=0, head=0; int searchNum; int searchCnt=0; int searchFlag = 0; printf("파일 LOAD --- OK.\n찾고자 하는 수를 입력하세요 : "); scanf("%d",&searchNum); tStart = GetMicroSecond(); // microsec 측정 시작 ////////////////////////..
Binary Search 를 구현해 보겠다. 먼저 Binary Search란 위의 그림처럼 배열의 중간값을 기준으로 찾고자 하는 값이 중간값보다 크면 기준의 오른쪽 배열을 선택, 찾고자 하는 값이 중간값보다 작으면 기준의 왼쪽 배열을 선택해가며 원하는 숫자를 찾아내는 방법이다. Binary Search에 대한 포스팅은 1. 사이즈가 10,000인 배열을 생성하고 배열에 겹치지 않는 랜덤한 숫자를 저장한 뒤 파일에 저장한다. 2. Binary Search를 Iterative한 방식으로 구현해 본다. 3. Binary Search를 Recursive한 방식으로 구현해 본 뒤 Iterative한 방식과 비교해 본다. 총 3개의 글로 나누어 포스팅 해 보겠다. 먼저 중복이 없이 오름차순으로 정렬된 100..
- Total
- Today
- Yesterday
- 워치어베인 2nd edition
- 워치어베인 2nd 에디션
- 글자수 세기 프로그램
- 크롬캐스트2
- 크롬캐스트
- 증여세셀프신고
- 에어팟안드로이드
- AR Stickers
- LGG6
- Chromecast
- LG워치
- 커플여권케이스
- 오드컨테이너
- AR스티커
- 커플여권지갑
- 미성년자녀증여세
- 글자수 세는 프로그램
- 가죽여권케이스
- 글로벌자동차유리
- 유리스톤칩
- 워치어베인
- chromecast2
- LG워치 어베인
- 앞유리돌빵
- 가죽여권지갑
- 자동차유리스톤칩
- 무료복원
- LGPay
- 여권케이스
- LG페이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |