이것은 집합을 만드는 조합으로 하위 집합의 모든 쌍을 생성하는 C++ 프로그램입니다. 알고리즘 Begin function UnionSet(): Arguments: a[] = an array. n = number of elements. Body of the function: 1) Generate binary code from 0 to 2^(
이것은 주어진 2개의 노드 사이에 경로가 존재하는지 확인하는 C++ 프로그램입니다. 알고리즘 Begin function isReach() is a recursive function to check whether d is reachable to s: A) Mark all the vertices as unvisited. B) Mark the current node as visited and enqueue it and it will be used to get all a
이것은 Dominating Set 문제를 해결하기 위한 C++ 프로그램입니다. 알고리즘 Begin Take the number of vertices and edges as input. Also take the edge point of the edges. function dominant(): Declare vector Set. Take any edge e graph connecting the vertices i.e
4색 문제의 구현을 보여주는 C++ 프로그램입니다. 알고리즘 Begin Develop function issafe() to check if the current color assignment is safe for vertex v i.e. checks whether the edge exists or not. If it exists, then next check whether the color to be filled in the
Vizing의 정리에 따르면 단순 그래프의 색 지수는 maxdegree 또는 maxdegree+1이 될 수 있습니다. 여기서 chromatic index는 그래프의 에지 채색에 필요한 최대 색상을 의미합니다. 바이징의 정리를 구현하기 위한 C++ 프로그램입니다. 알고리즘 Begin Take the number of vertices and edges as input. Take the vertex pair for the edges. function EdgeColor
Treap을 구현하기 위한 C++ 프로그램입니다. Treap 데이터 구조는 기본적으로 무작위 이진 검색 트리입니다. 여기에서는 이에 대한 삽입, 삭제 및 검색 작업을 고려할 것입니다. 기능 및 설명 왼쪽 회전을 위한 rotLeft() 함수 먼저 트리를 회전한 다음 새 루트를 설정합니다. 오른쪽 회전을 위한 rotRight() 함수 먼저 트리를 회전한 다음 새 루트를 설정합니다. 함수 insetNod() 재귀적으로 우선 순위가 있는 treap에 주어진 키를 삽입하려면 - If root = nullptr
시간을 12시간에서 24시간 형식으로 변환하는 C++ 프로그램입니다. 알고리즘 Begin In main(), If median = pm Check if entered hours is less than 12 Then add 12 to hours and print the time in 24 hours format. Check if entered hours
Happy Birthday를 출력하는 C++ 프로그램입니다. 알고리즘 Begin Take a str1 which takes the next character of our desired ouput like for H it will be G. Assign the string to a pointer p. Make a while loop till *p != NULL. Go next character of the string print
다이아몬드 모양을 출력하는 C++ 프로그램입니다. 알고리즘 Begin Take the no of rows n means the dimension of the diamond shape as input. Declare the variables i, j and initialize space=1. Initialize space = n-1. Run for loop till n. Run for loop to pri
주어진 차수 순서로 그래프의 구성 가능성을 확인하는 프로그램입니다. 입력 가장자리와 꼭짓점의 개수가 필요하지 않습니다. 출력 생성된 그래프의 임의의 값을 보여줍니다. 알고리즘 Begin Declare a function RandomGraphs(). Declare NoEdge and NoVertex of the integer datatype and pass them as parameter. Declare i, j, e[NoEdge][
방향성 비순환 그래프에서 위상 정렬을 사용하여 선형 순서로 정점을 정렬할 수 있습니다. 위상 정렬은 방향성 비순환 그래프에서만 작동합니다. 방향성 비순환 그래프(DAG)에는 토폴로지 정렬이 두 개 이상 있을 수 있습니다. 그래프에서 주기를 확인하기 위해 토폴로지 정렬을 수행하는 C++ 프로그램을 고려해 보겠습니다. 예를 들어 알고리즘 Topological Sort: Begin Declare topo_sort(int *v, int T_S[][5], int i) function &
방향성 비순환 그래프에서 위상 정렬을 사용하여 선형 순서로 정점을 정렬할 수 있습니다. 위상 정렬은 방향성 비순환 그래프에서만 작동합니다. 방향성 비순환 그래프(DAG)에는 토폴로지 정렬이 두 개 이상 있을 수 있습니다. 다음 C++ 프로그램에서는 그래프에서 사이클의 존재를 확인하기 위해 토폴로지 정렬을 수행합니다. 알고리즘 Topo_Sort 함수의 경우 Begin Define function Topo_Sort() Declare x to the integer datat
이 섹션에서는 그래프에서 모든 정방향 모서리를 찾는 C++ 프로그램을 고려할 것입니다. 알고리즘 토포 기능용 Begin Declare function topo() Declare pointer v, m[][5] and i of the integer datatype. x = new Node_Inf. x->n = i. x->S_Time = c.
스레드 이진 트리는 특정 순서로 트리를 순회하는 기능을 제공하는 이진 트리입니다. 그것은 중위 순회를 더 빠르게 만들고 스택과 재귀 없이 수행합니다. 스레드 이진 트리에는 두 가지 유형이 있습니다. 단일 스레드 각 노드는 왼쪽 또는 오른쪽으로 스레드되어 순서대로 선행 또는 후속 작업을 의미합니다. 여기에서 모든 오른쪽 널 포인터는 중위 계승자를 가리키거나 모든 왼쪽 널 포인터는 중위 선행자를 가리킵니다. 이중 스레드 각 노드는 왼쪽과 오른쪽으로 스레드되어 순서대로 선행 작업과 후속 작업을 의미합니다. 여기에서 모든 오른쪽 널
선과 점의 이중성 변환을 보여주는 C++ 프로그램입니다. 따라서 두 가지 경우가 있을 수 있습니다. - 사례-1: 점(a, b)을 직선(y =ax − b)으로 변환합니다. 사례 2: 선 D(y =cx + d)는 점 D(c, -d)로 변환됩니다. 함수 및 의사코드 함수 LineTransformation(더블 c, 더블 d) Print C: (d / c) D: (d * -1) 함수 PointTransformation(더블 x, 더블 y) Print a = (-1 * y / x) b = (-1 * y) 예시 #include <i
주어진 세 점의 집합이 한 줄에 있는지 확인하는 C++ 프로그램입니다. 이 점들이 이루는 삼각형의 면적이 0이면 세 점은 한 선 위에 놓여 있습니다. 삼각형의 넓이는 - 0.5 * (x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)). 알고리즘 Begin Generate the points randomly. Calculate the area by using above formula. If area > 0 &
이 문제는 체스판에서 N개의 퀸을 배열하여 어떤 퀸도 보드의 다른 퀸을 공격할 수 없도록 하는 것입니다. 체스 퀸은 가로, 세로, 가로, 대각선 어느 방향으로든 공격할 수 있습니다. 이진 행렬은 퀸이 다른 퀸을 공격할 수 없는 N 퀸의 위치를 표시하는 데 사용됩니다. 여기에서 8개의 퀸즈 문제를 풉니다. 입력 체스판 크기. (8 x 8은 일반 체스판 크기)와 같이 여기에서 8입니다. 출력 N개의 퀸을 배치할 수 있는 행과 열을 나타내는 행렬입니다. 솔루션이 존재하지 않으면 false를 반환합니다. 1 0 0 0 0 0
동일한 텍스트를 반복적으로 검색하는 C++ 프로그램입니다. 알고리즘 Begin Take the original string and pattern to be searched as input. org_len = store the length of original string pat_len = store the length of pattern for i = 0 to (org_len - pat_len) for
유한 상태 오토마톤 기반 검색을 수행하는 C++ 프로그램입니다. 유한한 수의 상태를 갖는 자동 장치를 유한 자동 장치(Finite Automaton)라고 합니다. 여기에서 텍스트는 text[0 ... t-1]이고 패턴 p[0 ... p-1]도 주어진다. 텍스트에서 패턴을 찾아 해당 인덱스에서 모든 항목을 인쇄해야 합니다. 알고리즘 Begin Function void transitiontable(): 1) put the entries in first row and filled it up.
두 문자열 사이의 Levenshtein 거리는 편집 작업 즉, 한 문자열을 다른 문자열로 변환하는 데 필요한 최소 편집 횟수를 의미합니다. 단일 문자의 삽입, 삭제 또는 대체. 예: Levenshtein 고양이와 매트 사이의 거리는 1 − cat mat(substitution of ‘c’ with ‘m’) 다음은 Levenshtein 거리 계산 알고리즘을 구현하는 C++ 프로그램입니다. 알고리즘 Begin Take the strings as input and al