Rabin-Karp Algorithm은 hasing을 사용해 텍스트의 패턴 문자열 집합 중 중 하나를 찾는 문자열 검색 알고리즘이다. 1987년 마이클 라빈(Michael Rabin)과 Richard Karp(리차드 카프)가 개발했다. 이 알고리즘의 핵심 아이디어는 검색하려는 패턴의 해시값을 계산한 다음 이 해시를 패턴과 길이가 같은 텍스트의 하위 문자열의 해시값과 비교하는 것이다. 이 방법을 사용하면 패턴과 일치할 가능성이 없는 텍스트의 많은 부분을 빠르게 건너뛸 수 있기 때문에 특히 패턴이 텍스트보다 훨씬 작은 경우 검색의 속도를 크게 높일 수 있다. 알고리즘의 개요는 아래와 같다. 해시 함수 : 각 문자열을 숫자 값으로 변환하는 해시 함수를 선택한다. 초기 해시 값 : 길이가 m인 패턴 P의 해시값..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/MiQGw/btsGe8j23tn/Hc6gJu8WDqp1CBJzLa6fP1/img.jpg)
Potentiometer는 저항 값을 수동으로 조절할 수 있는 일종의 가변 저항기이다. 기본적으로 3단자 장치로 작동하며, 두 단자는 저항 요소의 끝에 연결되고 세 번째 단자는 저항 요소를 가로질러 이동하는 와이퍼 또는 슬라이더에 연결된다. 와이퍼의 위치를 조정해 와이퍼와 저항의 각 끝 사이의 저항을 변경해 장치 전체의 전압을 효과적으로 나눌 수 있다. Potentiometer는 전자 회로에서 전기 신호의 레벨을 제어하고, 볼륨을 조정하고, 강도 수준(조명 같은)을 수정하며, 회로를 특정 주파수에 맞게 조정하는 등 다양한 용도로 널리 사용된다. 회전식 (와이퍼가 원형 호를 그리며 회전하는 형태) 및 선형 (와이퍼가 직선 경로를 따라 미끄러지는 형태) 등 다양한 형태가 있다. Potentiometer의 주..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/NQyew/btsGfLHj0dr/BBKxrcj9GYdmppgHwUhcBK/img.jpg)
Resistor는 전자 회로에서 전류의 흐름을 제한하거나 조절하는 수동 전기 부품이다. 거의 모든 전자 기기의 기본 요소로 전류 흐름 감소, 신호 레벨 조정, 전압 분할, 능동 소자 바이어스, 전송선 종단 등 다양한 용도로 사용된다. Resistor의 저항은 옴의 법칙을 발견한 게오르그 사이먼 옴(Georg Simon Ohm)의 이름을 따서 Ohm(옴, Ω) 단위로 측정된다. 이 법칙에 따르면 두 지점 사이의 도체를 통해 흐르는 전류(I)는 두 지점 사이의 전압(V)에 정비례하고 도체의 저항(R)에 반비례한다. 이 공식은 V = I R 로 표현한다. Resistor는 고정식 또는 가변식으로, 고정 저항기(fixed resistor)는 저항 값이 변하지 않는 반면, 가변 저항기(variable resist..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ObDxB/btsGe9V4qCt/XODbvvxnvJXrWBze0aBq9K/img.webp)
Capacitor는 전기 에너지를 저장하고 방출하는 전자 부품이다. 흔히 콘덴서(condensor)라고도 불리는데, 'condensor'는 영미권에서 응축기의 의미로 사용되는 경우가 많다. 유전체라는 절연 재료로 분리된 두개의 도체로 구성된다. 도체에 전압이 가해지면 유전체에 전기장이 발생해 한 도체에는 양전하가, 다른 도채에는 음전하가 쌓이게 된다. 이러한 전하 저장 능력 덕분에 Capacitor는 전원 공급 장치, 신호 필터링, 타이밍 애플리케이션 등 전기 및 전자 회로에서 다양한 기능을 수행할 수 있다. Capacitor의 기본 단위는 farad(F, 패럿 - 마이클 패러데이의 이름에서 따왔다.)으로 Capacitor의 플레이트에 단위 전압당 전하를 저장할 수 있는 능력을 측정하는 단위다. 그러나 ..
이진 트리 또는 이진 검색 트리(BST)에서 두 노드의 최하 공통 조상(LCA)를 찾는 데는 몇 가지 일반적인 접근 방식이 있다. 가장 좋은 방법은 트리이 특정 특성(BST 인지, 균형이 잡혀있는지(balanced) 등)과 추가 정보 (각 노드의 조상 또는 트리의 전처리 기능 등)에 따라 달라진다. 아래는 몇 가지 일반적인 방법이다. Single Traveral Method (단일 순회 방법, 재귀 사용) : 이 방법은 추가 정보가 제공되지 않는 트리에서 LCA를 찾는 데 널리 사용되는 방법이다. 아이디어 : 루트에서 시작해 트리를 순회한다. 각 노드에 대해 현재 노드가 LCA를 찾고자 하는 두 노드 중 하나인지 확인한다. 맞다면 현재 노드를 반환한다. 그렇지 않으면 왼쪽 및 오른쪽 자식에 대해 재귀 호..
DSF 약어는 상황에 따라 다양한 유형의 파일 형식을 나타내며, 그 중 하나는 소프트웨어 개발 및 프로그래밍에 사용된다. 이전 포스팅의 고해상도 오디오에 사용되는 Direct Stream Digital (DSD) 오디오 파일 형식 외에도 DSF는 소프트웨어 애플리케이션의 데이터를 로드, 조작 또는 포함하는 데 사용되는 파일 형식을 지칭할 수도 있다. 소프트웨어 개발 및 프로그래밍 문맥에서 DSF 파일은 아래와 같다. Delusion Digital Sound File : 사운드 데이터를 저장하기 위해 구형 컴퓨터 게임이나 응용 프로그램에 사용된다. Dyalog APL Seed File : 작업 공간 데이터를 저장하기 위해 고급 프로그래밍 언어인 Dyalog APL에서 사용된다. Document Struct..
DSF 파일은 디지털 오디오 콘텐츠, 특히 DSD(Digital Stream Digital) 포맷을 저장하는 데 사용된다. 이 형식은 일반적으로 고해상도 오디오 파일에 사용되는데, DSF 형식을 사용하면 트랙 제목, 앨범 아트, 아티스트 세부 정보와 같은 정보를 포함한 메타데이터를 오디오 데이터와 함께 저장할 수 있다. 특히 원본 스튜디오 녹음의 고음질을 보존할 수 있어 오디오 애호가와 전문 오디오 제작 환경에서 선호되는 형식이다. DSF 파일은 고해상도 오디오 포맷으로 음악을 배포하는 데 자주 사용되며, 기존의 컴팩트 디스크 디지털 오디오를 능가하는 수준의 음질을 제공한다.
Windows 애플리케이션은 Console, Windows 두 개의 하위 시스템으로 컴파일이 가능하고, 이 설정은 런타임에 운영체제가 애플리케이션을 어떻게 처리할지를 결정한다. Console Application (CONSOLE subsystem) : 이 유형의 애플리케이션은 console/terminal 과 상호 작용하도록 설계됐다. 실행 시 Windows는 애플리케이션에 콘솔 창은 열결해 std::cout, std::cin 및 기타 표준 C++ I/O 작업을 콘솔 창에서 볼 수 있다. 기존 Command Line Interface (CLI) 에서 콘솔 애플리케이션을 실행하는 경우 기존 콘솔을 출력에 사용한다. Windows Applicaiton (WINDOWS subsystem) : 일반적으로 사용자..
OutputDebugString() 는 개발자가 디버그 정보를 디버그 출력 창에 출력할 수 있도록 설계된 Windows API 함수다. 이 기능은 프로세스에 디버거가 연결되어 있지 않더라도 프로그래머가 디버거의 출력 창이나 Sysinternals의 DebugView와 같은 도구로 직접 메시지를 보낼 수 있어 개발 및 디버깅 세션 중에 특히 유용하다. 디버깅을 위해 std::cout 을 통해 로그를 출력을 할 수도 있지만, GUI Windows 애플리케이션을 개발할 때 std::cout 으론 출력이 되지 않아(AllocConsole() 같은 다른 함수 추가 등으로 출력 가능), OutputDebugString() 를 사용해 출력할 수 있다. OutputDebugString() 의 구문은 아래와 같다. vo..
DialogBox() 는 메모리 또는 애플리케이션의 리소스 파일에 있는 대화 상자 템플릿에서 모달 대화 상자(modal dialog box)를 만드는 Windows API 함수다. CreateDialog() 함수로 만든 모델리스 대화 상자(modeless)와 달리 모달 대화 상자는 입력 포커스를 캡처하고 대화 상자가 닫힐 때까지 사용자가 애플리케이션 내의 다른 창과 상호 작용할 수 없도록 한다. DialogBox() 로 만든 대화 상자의 모달(modal) 특성은 파일 열기, 설정 대화 상자, 확인 등과 같이 애플리케이션에서 진행하기 전에 사용자의 입력이나 결정이 필요한 시나리오에 적합하다. 다음은 DialogBox() 함수의 구문이다. INT_PTR DialogBox( HINSTANCE hInstance..
- Total
- Today
- Yesterday
- defaultdict
- 파이썬
- min heap
- 이코노미스트 에스프레소
- machine learning
- 머신 러닝
- tf-idf
- Android
- socket programming
- C++
- 안드로이드
- DICTIONARY
- 오블완
- 딕셔너리
- 소켓 프로그래밍
- leetcode
- java
- Computer Graphics
- I2C
- Hash Map
- vertex shader
- The Economist
- 투 포인터
- 이코노미스트
- ml
- 티스토리챌린지
- join
- The Economist Espresso
- 리트코드
- Python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |