수식의 표기방법에는 Prefix (전위표기법), Infix (중위표기법), Postfix (후위표기법) 이 있다. 예를들어 보자면 위의 표에 나와있는것 처럼 표현할 수 있다. 컴퓨터에서는 수식을 계산할 때 중위표기식으로 표현된 것을 후위표기식으로 바꾼뒤 계산한다. 그리고 이 과정에서 STACK이 사용된다. 예를들어 사용자가 2+3*4 의 연산을 입력하면 컴퓨터는 후위표기법인 234*+ 로 바꾼 뒤 계산하여 14라는 결과를 얻어내는 것이다.
희소행렬을 만드는 과정에서 쓰였던 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 측정 시작 ////////////////////////..
- Total
- Today
- Yesterday
- 무료복원
- 가죽여권케이스
- 워치어베인 2nd edition
- 에어팟안드로이드
- 가죽여권지갑
- 커플여권케이스
- LG페이
- 워치어베인
- 글자수 세기 프로그램
- LG워치 어베인
- 글로벌자동차유리
- 오드컨테이너
- 크롬캐스트2
- 글자수 세는 프로그램
- LGPay
- LG워치
- 앞유리돌빵
- 워치어베인 2nd 에디션
- 증여세셀프신고
- LGG6
- 자동차유리스톤칩
- AR Stickers
- 유리스톤칩
- AR스티커
- Chromecast
- chromecast2
- 미성년자녀증여세
- 크롬캐스트
- 여권케이스
- 커플여권지갑
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |