본문 바로가기

분류 전체보기465

보이어-무어-호스풀 알고리즘(Boyer-Moore-Horspool Algorithm) References 리얼월드 알고리즘 KMP 알고리즘과 라빈-카프 알고리즘에 이어서 다른 문자열 알고리즘인 보이어-무어-호스풀(Boyer-Moore-Horspool) 알고리즘에 대해서 알아보겠습니다. 2020.11.25 - [Data Structure & Algorithm/알고리즘] - KMP 알고리즘 2020.12.17 - [Data Structure & Algorithm/알고리즘] - Rabin-karp(라빈 카프) 알고리즘 KMP 알고리즘이나 라빈-카프 알고리즘은 주어진 텍스트를 왼쪽에서 오른쪽으로 살펴봤습니다. 이와는 반대로 보이어-무어-호스풀 알고리즘은 오른쪽에서 왼쪽으로 텍스트를 스캔합니다. 아래는 'APESTLEINTHEKETTLE'이라는 텍스트에서 보이어-무어-호스풀 알고리즘을 사용하여 패.. 2021. 10. 12.
[그래프] 플로이드-워셜 알고리즘(Floyd-Warshall Algorithm) References 리얼월드 알고리즘 Contents 플로이드-워셜 알고리즘 다익스트라 알고리즘과 벨만-포드 알고리즘에 이어서 또 다른 최단 경로 알고리즘인 플로이드-워셜 알고리즘에 대해서 알아보겠습니다. 2021.10.07 - [Data Structure & Algorithm/알고리즘] - [그래프] 다익스트라 알고리즘(Dijkstra's algorithm) [그래프] 다익스트라 알고리즘(Dijkstra's algorithm) References 리얼월드 알고리즘 Contents 다익스트라(데이크스트라) 알고리즘 구현 임의의 원소에 접근해 값 갱신(update)이 가능한 Heap(우선순위 큐) 구현 음의 가중치는 사용 불가 그래프의 지름 C++로 junstar92.tistory.com 2021.10.1.. 2021. 10. 11.
[그래프] 벨만-포드 알고리즘(Bellman-Ford Algorithm) References 리얼월드 알고리즘 Contents 벨만-포드 알고리즘 큐 기반 벨만-포드 알고리즘 음의 가중치 순환 2021.10.07 - [Data Structure & Algorithm/알고리즘] - [그래프] 다익스트라 알고리즘(Dijkstra's algorithm) [그래프] 다익스트라 알고리즘(Dijkstra's algorithm) References 리얼월드 알고리즘 Contents 다익스트라(데이크스트라) 알고리즘 구현 임의의 원소에 접근해 값 갱신(update)이 가능한 Heap(우선순위 큐) 구현 음의 가중치는 사용 불가 그래프의 지름 C++로 junstar92.tistory.com 이전 게시글에서 다룬 최단 경로 알고리즘인 다익스트라 알고리즘에 이어서, 다른 최단 경로 알고리즘인 벨.. 2021. 10. 10.
[그래프] 다익스트라 알고리즘(Dijkstra's algorithm) References 리얼월드 알고리즘 Contents 다익스트라(데이크스트라) 알고리즘 구현 임의의 원소에 접근해 값 갱신(update)이 가능한 Heap(우선순위 큐) 구현 음의 가중치는 사용 불가 그래프의 지름 C++로 구현한 전체 코드는 아래를 참조바랍니다 ! https://github.com/junstar92/DataStructure_Algorithm/tree/master/Algorithm/Dijkstra GitHub - junstar92/DataStructure_Algorithm Contribute to junstar92/DataStructure_Algorithm development by creating an account on GitHub. github.com 다익스트라(또는 데이크스트라) .. 2021. 10. 7.
[그래프] 가중치 그래프와 임계 경로(Critical Path) References 리얼월드 알고리즘 Contents 가중치 그래프(weighted graph) 임계 경로(critical path) 가중치 그래프 Weighted Graph 이전 글들에서 그래프 자료구조와 위상 정렬에 대해서 살펴봤습니다. 2021.10.04 - [Data Structure & Algorithm/자료구조] - [자료구조] Directed Graph 2021.10.05 - [Data Structure & Algorithm/알고리즘] - [그래프] 위상 정렬 Topological Sort 이 글들에서 정점과 이들 사이를 연결하는 간선으로 표현하는 그래프를 사용했는데, 숫자로 된 가중치를 각 간선에 부옇여 그래프를 확장할 수 있습니다. 이러한 그래프를 가중치 그래프(weighted graph.. 2021. 10. 6.
[그래프] 위상 정렬 Topological Sort References 리얼월드 알고리즘 https://blog.naver.com/kks227/220800013823 Contents Directed Acyclic Graph(DAG) 위상 정렬(Topological Sort) 아래 구현에서 사용되는 그래프 자료구조는 이전 게시글에서 구현한 DirectedGraph 코드를 사용하였습니다. 그래프 자료구조의 구현은 이전 게시글을 참조바랍니다 ! 2021.10.04 - [Data Structure & Algorithm/자료구조] - [자료구조] Directed Graph [자료구조] Directed Graph References Data Structrue : A Pseudocode Approach with C Contents Graph Directed Graph.. 2021. 10. 5.
[자료구조] Directed Graph References Data Structrue : A Pseudocode Approach with C Contents Graph Directed Graph Graph 그래프는 정점(vertex, vertices)라고 불리는 노드(node)들과 이 정점들을 연결해주는 간선(edge)로 이루어진 자료구조입니다. 아래 그림에서 A, B, ..., E, F에 해당하는 것들을 정점(vertex)라고 부르고, 이 vertex 사이의 선을 간선(edge)라고 합니다. 그리고 그래프는 여러 종류가 있지만, 위 그림처럼 크게 directed graph, 방향을 가지는 그래프와 undirected graph, 방향을 가지지 않는 그래프로 분류할 수 있습니다. 즉, 간선(edge)가 방향을 가지느냐 가지지 않느냐로 나누어 .. 2021. 10. 4.
[암호] 디피-헬먼 키 교환 (모듈러 거듭제곱) References 리얼월드 알고리즘 Contents 디피-헬먼 키 교환 모듈러 거듭제곱 2021.09.23 - [Data Structure & Algorithm/알고리즘] - [암호] AES (Advanced Encryption Standard) - 1 [암호] AES (Advanced Encryption Standard) - 1 References 리얼월드 알고리즘 Contents AES란? AES 암호화/복호화 알고리즘 Key Scheduling C++ 구현 AES (Advanced Encryption Standard) ? 현대 암호 기술은 특정한 수학적 방법을 사용하여 암호문을 생성합니.. junstar92.tistory.com 이전 글에서 암호화 알고리즘인 AES에 대해서 알아봤습니다. AES는.. 2021. 9. 27.
[암호] AES (C++ 구현/private 함수) - 3 2021.09.23 - [Data Structure & Algorithm/알고리즘] - [암호] AES (C++ 구현/멤버 변수, public 함수) - 2 [암호] AES (C++ 구현/멤버 변수, public 함수) - 2 2021.09.23 - [Data Structure & Algorithm/알고리즘] - [암호] AES (Advanced Encryption Standard) - 1 [암호] AES (Advanced Encryption Standard) - 1 References 리얼월드 알고리즘 Contents AES란? AES 암호.. junstar92.tistory.com 이전 글에 이어서 AES Class의 private 멤버 함수들에 대해서 살펴보겠습니다. 내부에서 변환/출력 용으로 사용.. 2021. 9. 25.
[암호] AES (C++ 구현/멤버 변수, public 함수) - 2 2021.09.23 - [Data Structure & Algorithm/알고리즘] - [암호] AES (Advanced Encryption Standard) - 1 [암호] AES (Advanced Encryption Standard) - 1 References 리얼월드 알고리즘 Contents AES란? AES 암호화/복호화 알고리즘 Key Scheduling C++ 구현 AES (Advanced Encryption Standard) ? 현대 암호 기술은 특정한 수학적 방법을 사용하여 암호문을 생성합니.. junstar92.tistory.com 이번 글에서는 이전 글에 이어서 AES를 C++로 구현해보도록 하겠습니다. AES 구현에 대해서 검색해보면 최적화된 코드들이 많지만, 제가 아직 수학적으로 완.. 2021. 9. 23.