'2020/12'에 해당되는 글 2건

  1. 2020.12.22 Batch file 템플릿
  2. 2020.12.06 [C] Binary search
Tip/Windows2020. 12. 22. 23:16
@REM batch file script
@REM  _________________________________________________________________________
@REM /
@REM |  REM	주석문을 위한 명령어.
@REM +-------------------------------------------------------------------------	  
@REM |  
@REM |  @를 붙여주어야 다시 화면에 나타나지 않는다.
@REM |  
@REM |  ECHO 의미 그대로 화면에 명령어를 보여준다.
@REM |  echo Hello, World!
@REM |
@REM |  Hello, World! 
@REM |  
@REM +-------------------------------------------------------------------------	  
@REM |  CLS	화면을 깨끗하게 지워준다
@REM +-------------------------------------------------------------------------	
@REM |  PAUSE 아무키나 누를떄 까지 잠시 실행을 중단한다.
@REM +-------------------------------------------------------------------------	
@REM |  IF	C의 IF와 비슷하다.
@REM |  
@REM |  IF CONDITION == end GOTO END
@REM +-------------------------------------------------------------------------
@REM |  GOTO 지정된 LABEL로 점프를 한다.
@REM |
@REM |  GOTO END
@REM |
@REM |  data.txt 파일이 존재하면 EXECUTE로 점프
@REM |  IF EXIST data.txt GOTO EXECUTE 
@REM |  
@REM +-------------------------------------------------------------------------
@REM |  5초간 대기
@REM |  
@REM |  timeout /t 5
@REM +-------------------------------------------------------------------------	   
@REM | https://chobocho.tistory.com
@REM +-------------------------------------------------------------------------

@echo off

echo ######                                                  
echo #     #   ##   #####  ####  #    #                      
echo #     #  #  #    #   #    # #    #                      
echo ######  #    #   #   #      ######                      
echo #     # ######   #   #      #    #                      
echo #     # #    #   #   #    # #    #                      
echo ######  #    #   #    ####  #    #                      

batch.bat
0.00MB

Posted by chobocho
TAG batch

댓글을 달아 주세요

Coding/CPP 삽질기2020. 12. 6. 16:41

이진검색 설명:

ko.wikipedia.org/wiki/%EC%9D%B4%EC%A7%84_%EA%B2%80%EC%83%89_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98

 

이진 검색 알고리즘 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 이진 검색 알고리즘(binary search algorithm)은 오름차순으로 정렬된 리스트에서 특정한 값의 위치를 찾는 알고리즘이다. 처음 중간의 값을 임의의 값으로 선택하여,

ko.wikipedia.org

구현 예제

#include <stdio.h>
#include <assert.h>


/*
 * high must be length of arr -1
 * /
int binary_search(int value, int low, int high, int* arr) {
	while (low <= high) {
		int mid = (low+high)/2;
		if (arr[mid] == value) {
			return mid;
		} else if (arr[mid] < value) {
			low = mid+1;
		} else {
			high = mid-1;
		}
	}
	return -1;
}

/*
 * high must be length of arr -1
 * /
int binary_search_recursive(int value, int low, int high, int *arr) {
	if (low > high) return -1;

	int mid = (low + high) / 2;
	if (arr[mid] == value) {
		return mid;
	} else if (arr[mid] < value) {
		return binary_search_recursive(value, mid+1, high, arr);
	} else {
		return binary_search_recursive(value, low, mid-1, arr);
	}
}

void test() {
	int number[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};

	int arr_size = (int) sizeof(number)/sizeof(int);

	assert(binary_search(11, 0, arr_size-1, number) == 11);
	assert(binary_search(2, 0, arr_size-1, number) == 2);
	assert(binary_search(12, 0, arr_size-1, number) == -1);
	
	assert(binary_search_recursive(11, 0, arr_size-1, number) == 11);
	assert(binary_search_recursive(2, 0, arr_size-1, number) == 2);
	assert(binary_search_recursive(12, 0, arr_size-1, number) == -1);
}

int main(int argc, char **argv) {
    test();
    return 0;
}

 

'Coding > CPP 삽질기' 카테고리의 다른 글

Stack과 Heap  (0) 2021.02.25
[C] Binary search  (0) 2020.12.06
Quick sort  (0) 2017.07.13
Bit 연산 정리  (0) 2016.08.20
Posted by chobocho

댓글을 달아 주세요