반응형 IT, 프로그램, SW개발64 DFS, BFS 스터디용 DFS, BFS 정리 DFS, BFS는 그래프에 속하는 알고리즘이다. 코딩테스트에서 경로를 찾는 문제에서 많이 출제가 된다. DFS Root Node 혹은 다른 임의의 Node에서 다음 분기(Branch)로 넘어가기 전에 해당 분기를 완벽하게 탐색하는 방법이다. Stack 혹은 재귀함수(Recursion)으로 구현된다. 경로를 탐색할 때 한 방향으로 갈 수 있을 때까지 계속 가다가 더 이상 갈 수 없게되면 다른 방향으로 다시 탐색을 진행 모든 노드를 방문하는 경우에 이 방법을 사용한다. 시간 복잡도 인접 리스트 : O(V + E) 인접 행렬 : O(V^2) 접점(V), 간선(E) Java Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 .. 2021. 2. 5. 트라이(Trie)알고리즘 트라이(Trie) 트라이란 문자열 검색을 빠르게 할 수 있는 알고리즘이다. 예를 들어 영어사전이 있을 때 특정 단어가 있는 지 빠르게 찾을 수 있다. 문자열을 특정 키값으로 변환해서 그 값으로 찾는 방법인 해시 테이블을 대체하기 위해 트라이를 사용할 수 있다. 불완전한 해시 테이블의 최악의 검색속도는 모든 데이터를 다 확인하는 것으로 O(N)이지만 트라이를 사용하게 되면 문자열 길이 만큼의 O(M)의 속도가 걸리기 때문에 훨씬 더 빠르게 적용이 될 수 있다. 보통 트라이 알고리즘을 사용할 때 고려해야할 점이 단어의 길이, 그리고 파생되는 노드 child개수다. 위에 영어사전으로 예를 들었는데 영어는 알파벳이 26가지로 child 노드는 26개를 갖고 있을 수 있다. 전화번호 목록같은 경우도 0부터 9가지.. 2020. 4. 7. ANR 로그 분석 방법 - /data/anr/traces.txt ANR 로그 분석 방법 - /data/anr/traces.txt 1. ANR이란?Application Not Responding (ANR)의 줄임말로 어플리케이션이 일정시간 동안 응답이 없을 경우 발생하는 현상을 말합니다.무한루프가 돌거나 UI 쓰레드에서 오래 걸리는 작업을 할 경우 발생하는 다이얼로그가 바로 ANR dialog입니다.ANR이 발생하면 안드로이드 파일 시스템에 data/anr/ 위치에 traces.txt라는 ANR발생 시점의 프로세스 상태에 관한 로그가 기록됩니다.이건 모든 안드로이드 폰 공통이지만 안타깝게도 루트권한에서만 접근이 가능합니다.보통은 synchronized가 걸려서 독점하고 있거나 혹은 생각없이 sleep을 처리해서 발생할 가능성이 큽니다.traces.txt에 held by.. 2018. 10. 15. 윈도우에서 Battery Historian 사용 윈도우에서 Battery Historian 사용해보기.롤리팝 이상부터 지원하는 앱 전력소모 분석툴인 Battery Historian 설치법에 대해 간략히 정리합니다. 뭐 다운 사이트에 설명이 잘 되어 있긴 한데 리눅스 기반으로 설명되어 있어서 경로가 조금 틀려서 (Ctrl+C,V가 그냥 안되서) 제 컴에 맞게 여기에 정리해봅니다. 이전버전은 그냥 파이썬으로 만들었는데 2.0부터는 Golang+Python으로 만들어져있더군요. 1. Golang을 설치한다 (https://golang.org/doc/install) 속편하게 설치파일(MSI) 방식으로 받으셔서 설치하세요. 2. Golang 설정을 한다. 그냥 설치파일로 설치하면 GOROOT랑 PATH만 설정됩니다.환경변수란에 GOPATH를 지정해줘야 합니다... 2018. 10. 12. [개론]비트코인 블록체인 개론 - Introduction to Bitcoin Blockchain (펌) [개론]비트코인 블록체인 개론 - Introduction to Bitcoin Blockchain 비트코인 블록체인 개론Introduction to Bitcoin Blockchain 한승환(어른아이) 이 글은 비트코인이나 블록체인의 내용자체가 상당히 어렵고 제대로 찾아볼 수 있는 자료가 거의 없는 상황이기 때문에, 전문지식이 없는 분들도 손쉽게 읽고 이해할 수 있도록 하는 것에 최대한 초점을 맞추어 작성하였다. 현재 존재하는 대부분의 암호화폐가 비트코인 블록체인의 구조를 기반으로 설계된 것이기 때문에, 비트코인의 블록체인을 이해하는 것은 다른 응용화폐들을 이해하는데 중요한 디딤돌이 될 수 있다. 이러한 블록체인을 응용하여 도입하고자하는 움직이 전세계적으로 나타나고 있으며, 다양한 분야의 유수의 대기업에서부.. 2017. 9. 28. 유투브 동영상과 함께 자막 다운로드 받기 많은 사람들 앞에서 프레젠테이션 할 때, 발표의 이해를 돕기 위해 유튜브 동영상을 함께 보여 주는 경우가 많습니다.하지만 막상 발표할 때가 되면 유튜브 동영상이 오랜 버퍼링으로 동영상을 보기 힘들거나, 회선 문제로 아예 재생되지 않는 경우가 많습니다.이럴 때 유튜브에 접속하지 않고, 직접 동영상을 재생해 보여 주는 것이 더 빠르고 좋겠죠?▲ 발표할 때 보조 영상을 고화질로 보여 주면 더욱 좋겠지요? 이번 글에서는 유튜브 동영상 및 자막을 받아 감상하는 방법을 알려 드립니다.유튜브 동영상 내려 받기자막 다운로드 하기SRT 자막 파일을 SMI로 변환하기 1. 유튜브 동영상 내려 받기YouTube 동영상을 고화질로 뽑아 내는 방법은 아세요? 아래 과정을 차근차근 따라해 보세요.▲ ClipNabber에 접속해서.. 2016. 5. 31. 이전 1 2 3 4 5 6 7 8 ··· 11 다음 반응형