1. 큐(queue) 선형 자료구조 먼저 들어간 데이터가 먼저 나오는 자료구조(First In First Out) 큐에 자료를 넣는 것을 enqueue 큐에 자료를 빼는 것을 dequeue라고 부른다 front, rear 포인터가 무조건 뒤로만 이동하여, 앞부분의 데이터가 삭제되면 다시 삽입할 수 없다는 단점이 있다 front 포인터는 삭제할 위치 rear 포인터는 삽입할 위치 여기서 10을 넣으면 다시 20을 넣으면 다시 30을 넣으면 이제 10을 제거하면 다시 20을 제거하면 여기서 40을 넣으면... 앞에 들어가는게 아니고 뒤에 들어가는데 이렇게 앞에 공간이 비어있음에도 활용하지 못하는 단점이 있다 2. 원형 큐(circular queue) 큐의 끝과 시작을 연결한 ..
1. definition problem이란 최종적으로 바라는 것과 현재 인식하는 것의 차이 machine learning 문제에서는 target과 prediction의 차이는 loss로 주어지고 이것이 문제 problem이다. loss를 0으로 보내려고하는 것이 problem solving이고 보낼 때 사용한 수단이 solution 2. example $x^{2} + 2x + 1 = 0$으로부터 x가 얼마인지 구하려는 문제가 주어졌다면 현재 인식하고 있는 상태인 $x^{2} + 2x + 1 = 0$이 initial state 최종적으로 구하고자하는 x=-1이 terminal state initial state와 terminal state의 차이가 problem initial state부터 한 단계, 한 ..
1. floating point와 fixed point의 차이 fixed point는 부호(+ , - )와 정수부와 소수부로 나누어서 실수를 저장하는 것 만약 32bit인 경우 예를 들면 정수는 8비트 소수부는 23비트만 저장하겠다고 고정을 하고 실수를 저장함 정수를 표현하고자하는 비트 수를 늘린다면 더 큰 숫자를 표현할 수 있지만 그만큼 소수부 비트가 줄어들어서 정밀한 숫자를 표현하기 어렵다 반면 소수부 비트를 늘린다면 정밀한 숫자를 표현할 수는 있어도 큰 숫자를 표현하기는 어렵다 이런 문제를 해결하기 위해 floating point 방식이 등장했다 모든 실수를 부호(+,-)와 가수부와 지수부로 나누어 저장함 소수점을 옮긴다는 생각은 의미가 없는게 floating point는 12345를 $1..
1. unicode 다양한 언어처리에서 기본적으로 중요함 전 세계 모든 문자를 일관되게 표현하고 다룰 수 있도록 만들어진 문자 set 문자마다 숫자 하나에 mapping? character을 보면 알겠지만 웬만한 문자들이 전부 unicode에 대응되어 있음 위 그림에서 보면 U+는 unicode를 뜻하는 접두어이고 AC00은 16진수 code point이며 이것이 1개의 character에 대응됨 2. UTF-8 encoding이란 문자를 컴퓨터에서 저장하거나 처리할 수 있게 이진수로 바꿔주는 작업 현재 가장 많이 쓰이는 encoding방식 중 하나가 UTF-8 문자 타입에 따라 다른 길이의 byte를 할당했음 ASCII는 256개로 character를 제한하면서 영어의 알파벳은 모두 ASCII code..
컴퓨터는 왜 2진수를 사용하는가? 실리콘이라는 재료로 만든 반도체로 구성됨 이 반도체는 특정 자극을 줄 때 전기가 통해서 전류가 흐르면 1, 전류가 흐르지 않으면 0으로 표현할 수 있기 때문 단순 소수도 이진수로 변환하면 무한소수가 되는 경우가 있다. 이것을 반올림하면 약간의 오차가 발생하는데 요새는 일반적으로는 큰 문제는 없다 아마 이것도 실수오차가 발생하는 이유가 되겠지 10진수 0.1을 2진수로 바꾸면 0.0001…..(2)가 된다