본문 바로가기

2017/06/084

알고리즘 9장 - 해쉬 알고리즘(1) - 알고리즘 9장- 해쉬 알고리즘(1) - Direct-address tables 는 크기가 U인 테이블 T를 생성하고 key k를 slot k에 저장하는 방식이다. 이 때 중복되는 key는 없다고 가정한다. 이는 데이터를 저장하는 방식인데 전체 크기가 U인 곳에서 actual key인 K가 존재한다고 생각한다. 해당되는 데이터를 table에 저장하고 table에서 필요한 key 값과 그에 해당하는 data를 확인하는 자료구조이다. Direct-address tables을 사용하게 되면 수행시간이 매우 짧다는 장점이 있다. 우리가 알고자 하는 data의 key 값을 알고 있으면 table을 통해 바로 원하는 data를 찾을 수 있기 때문이다. 이에 해당하는 Pseudo code는 다음과 같다. 하지만 이런 .. 2017. 6. 8.
알고리즘 8장 - 선형시간 정렬 알고리즘 : 계수 정렬 - 알고리즘 8장- 선형시간 정렬 알고리즘 : 계수 정렬 - 앞 장에서 설명한 정렬 알고리즘은 비교 연산을 통해서 정렬을 하는 방식을 취했다. 비교 연산은 두 개의 원소의 관계를 크고 작음에 따라 비교하여 판단하는 연산이다. 비교연산으로 정렬하는 방법은 아무리 빨라도 nlgn보다는 빠를 수가 없다. 하지만 비교를 하지 않는 방법으로 하면 이 보다 따른 시간으로 수행이 가능하다. 이런 방법으로 계수 정렬이 있다. 계수 정렬은 실제 숫자를 세는 방법으로 숫자가 몇 개인지를 기록한다. x라는 입력은 x보다 작은 원소의 개수가 I-1개라면 정렬 후에 I번째에 위치해야 한다. x보다 작은 원소의 개수는 원소를 개수를 세어서 확인할 수 있다. 계수 정렬에 대한 예를 한 번 들어보자. A라는 배열이 입력으로 들어왔다고 .. 2017. 6. 8.
머신러닝 실습 with Tensorflow 5장 - training-test data set & learning rate & normalization - 머신러닝 실습 with Tensorflow 5장- training-test data set & learning rate & normalization - 머신러닝 모델을 설계할 때 학습시킬 데이터만 존재하는 것이 아니다. 학습을 시킬 데이터를 통해 학습을 시키고 나면 이를 테스트할 test data set도 존재한다. 대부분 총 데이터 중에서 70% 정도는 training data set으로 이용하게 되고 나머지 30% 정도로는 test data set으로 활용하게 된다. training data set의 경우에는 학습을 시키는 모델이므로 x_data 값과 y_data 값을 동시에 train 과정에 넣어주게 된다. 하지만 test data set은 x_test에 대한 data 값만을 넣어서 우리가 세운 모.. 2017. 6. 8.
리눅스 3장 - CLI & I/O Redirection - 리눅스 3장- CLI & I/O Redirection - 보통의 PC는 Window의 운영체제를 사용하여 GUI 방식의 명령을 수행한다. GUI는 아이콘을 사용하여 명령을 내리게 되는데 이는 컴퓨터가 많은 에너지를 사용하게 한다. 단순히 생각해도 이미지를 매번 나타내기 때문에 그렇다는 것을 알 수 있다. 이에 비해 CLI는 더 적은 메모리와 CPU를 사용하게 된다. CLI는 명령어를 통해 명령을 수행하는데 명령어를 통해 제어를 하면 순서대로 처리하는 방식에서 큰 장점을 가진다. 이는 속도의 측면에서도 빠르게 작용한다. CLI 방식은 하나의 명령의 실행 결과를 다른 명령의 입력으로 사용할 수 있다. 명령은 프로그램을 가리키게 되고 프로그램은 이에 맞게 프로세스로 바뀌어 수행되게 된다. 명령어를 동시에 수행.. 2017. 6. 8.