Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성
  • C 프로그래밍
  •   
  • C++
  •   
  • Redis
  •   
  • BASH 프로그래밍
  •   
  • Python
  •   
  • Java
  •   
  • 데이터 베이스
  •   
  • HTML
  •   
  • JavaScript
  •   
  • 프로그램 작성
  •   
  • CSS
  •   
  • Ruby
  •   
  • SQL
  •   
  • IOS
  •   
  • Android
  •   
  • MongoDB
  •   
  • MySQL
  •   
  • C#
  •   
  • PHP
  •   
  • SQL Server
  • 프로그램 작성

    1. 점근 표기법 - O(), o(), Ω(), ω() 및 θ()

      점근적 표기법 점근 표기법은 점근 분석을 위한 알고리즘의 복잡성을 나타내는 데 사용됩니다. 이러한 표기법은 복잡성을 나타내는 수학적 도구입니다. 일반적으로 사용되는 세 가지 표기법이 있습니다. 빅 오 표기법 Big-Oh(O) 표기법은 함수 f(n)의 상한을 상수 요소 내로 제공합니다. 작은 표기법 Big-Oh, Big-Omega 및 Big-Theta 표기법을 제외한 다른 표기법이 있습니다. 작은 o 표기법이 그 중 하나입니다. 작은 o 표기법은 빡빡할 수 없는 상한을 설명하는 데 사용됩니다. 즉, f(n)의 상한을 느슨하게

    2. 빅오 표기법(O)

      점근적 표기법 점근 표기법은 점근 분석을 위한 알고리즘의 복잡성을 나타내는 데 사용됩니다. 이러한 표기법은 복잡성을 나타내는 수학적 도구입니다. 일반적으로 사용되는 세 가지 표기법이 있습니다. 빅 오 표기법 Big-Oh(O) 표기법은 함수 f(n)의 상한을 상수 요소 내로 제공합니다. f(n) =O(g(n)), n0의 오른쪽에 f(n)이 항상 c*g(n) 위 또는 아래에 있는 양의 상수 n0과 c가 있는 경우

    3. Big Omega(Ω) 및 Big Thera(θ) 표기법

      점근적 표기법 점근 표기법은 점근 분석을 위한 알고리즘의 복잡성을 나타내는 데 사용됩니다. 이러한 표기법은 복잡성을 나타내는 수학적 도구입니다. 일반적으로 사용되는 세 가지 표기법이 있습니다. 빅 오메가 표기법 Big-Omega(Ω) 표기법은 함수 f(n)의 하한을 상수 요소 내로 제공합니다. f(n) =Ω(g(n)), n0 오른쪽에 다음과 같은 양의 상수 n0 및 c가 있는 경우 f(n)은 항상 c*g(n) 또는 그 위에 있습니다. Ω(g(n)) ={ f(n) :모든 n ≤ n0에 대해 0 ≤ c g(n) ≤ f(n)인 양

    4. 작은 오 표기법(o)

      작은 표기법 Big-Oh, Big-Omega 및 Big-Theta 표기법을 제외한 다른 표기법이 있습니다. 작은 o 표기법이 그 중 하나입니다. 작은 o 표기법은 빡빡할 수 없는 상한을 설명하는 데 사용됩니다. 즉, f(n)의 상한을 느슨하게 합니다. 0인 정수 상수 n0 ≤ 1이 존재한다면 함수 f(n)은 o(g(n))이라고 말할 수 있습니다. 작은 표기법의 수학적 관계 수학적 관계를 사용하여 f(n) =o(g(n)) 의미, 작은 o 점근적 표기법의 예 f(n) =n2인 경우 및 g(n) =n3 그런 다음 f(n) =

    5. 상각 복잡성

      상각 분석 이 분석은 간헐적 작업이 매우 느리지만 매우 자주 실행되는 대부분의 작업이 더 빠를 때 사용됩니다. 데이터 구조에서 해시 테이블, 분리 집합 등에 대한 분할 상환 분석이 필요합니다. Hash-table에서 탐색 시간 복잡도는 대부분 O(1)이지만 가끔 O(n) 연산을 수행하기도 한다. 대부분의 경우 해시 테이블에서 요소를 검색하거나 삽입하려는 경우 작업을 수행하는 데 일정한 시간이 소요되지만 충돌이 발생하면 충돌 해결을 위해 O(n)배 작업이 필요합니다. 집계 방법 집계 방법은 총 비용을 찾는 데 사용됩니다. 많은

    6. 그래프와 그 표현

      그래프는 비선형 데이터 구조입니다. 노드를 사용하여 데이터를 나타내고 가장자리를 사용하여 관계를 나타냅니다. 그래프 G에는 두 개의 섹션이 있습니다. 꼭짓점과 모서리입니다. 정점은 집합 V를 사용하여 표현되고 가장자리는 집합 E로 표현됩니다. 따라서 그래프 표기법은 G(V,E)입니다. 아이디어를 얻기 위해 한 가지 예를 살펴보겠습니다. 이 그래프에는 5개의 꼭짓점과 5개의 모서리가 있습니다. 가장자리가 지시됩니다. 예를 들어 정점 B와 D를 연결하는 가장자리를 선택하면 소스 정점은 B이고 대상은 D입니다. 따라서 B를 D로 이

    7. 그래프에 대한 깊이 우선 탐색 또는 DFS

      깊이 우선 탐색(DFS)은 그래프 탐색 알고리즘입니다. 이 알고리즘에서는 하나의 시작 정점이 주어지며, 인접 정점이 발견되면 그 인접 정점으로 먼저 이동하고 같은 방식으로 순회를 시도합니다. 전체 깊이를 최대한 이동한 다음 역추적하여 이전 정점에 도달하여 새 경로를 찾습니다. DFS를 반복적으로 구현하려면 스택 데이터 구조를 사용해야 합니다. 재귀적으로 수행하려면 외부 스택이 필요하지 않으며 재귀 호출에 대해 내부 스택을 수행할 수 있습니다. 입력 :그래프의 인접 행렬입니다.   A B C D E F A 0 1 1

    8. 너비 우선 탐색 또는 그래프에 대한 BFS

      BFS(Breadth First Search) 탐색은 주어진 그래프의 모든 노드를 방문하는 데 사용되는 알고리즘입니다. 이 탐색 알고리즘에서는 하나의 노드를 선택한 다음 모든 인접 노드를 하나씩 방문합니다. 인접한 꼭짓점을 모두 완료한 후 더 이동하여 다른 꼭짓점을 확인하고 인접 꼭짓점을 다시 확인합니다. 이 알고리즘을 구현하려면 Queue 데이터 구조를 사용해야 합니다. 모든 인접 정점이 대기열에 추가되고 모든 인접 정점이 완료되면 대기열에서 한 항목이 제거되고 해당 정점을 다시 탐색하기 시작합니다. 그래프에서는 때때로 주

    9. 분할 정복 알고리즘 소개

      Divide and Conquer는 다른 알고리즘 패러다임 중 하나입니다. 그것은 주로 세 가지 다른 단계를 가지고 있습니다 - 나누기 − 이 단계에서 문제는 동일한 유형의 작은 하위 문제로 나뉩니다. 정복 − 하위 문제를 재귀적으로 풉니다. 결합 − 하위 문제의 답을 조합하여 최종 답을 얻습니다. 이 섹션에서 다룰 내용 가장 가까운 쌍점 문제 2D 배열에서 피크 요소 선택 배열의 역수 계산 정렬된 두 배열의 중앙값

    10. 역추적 알고리즘 소개

      역추적은 문제를 점진적으로 해결하는 알고리즘 기술입니다. 재귀적 접근 방식을 사용하여 문제를 해결합니다. 역추적은 최적화 문제를 해결하기 위해 가능한 모든 조합을 찾는 데 사용된다고 말할 수 있습니다. 이 섹션에서 다룰 내용 해밀턴 순환 M-착색 문제 N 퀸 문제 미로 속의 쥐 문제 암호화 퍼즐 부분집합 문제 스도쿠 풀이 알고리즘 나이트 투어 문제 줄다리기 문제 단어 분리 알고리즘 스왑 문제별 최대 개수

    11. 기타 문제 소개

      우리는 다른 섹션에서 다른 문제를 보았습니다. 분류되지 않은 다른 문제가 있습니다. 이 섹션에서는 몇 가지 무작위 문제를 볼 것입니다. 이 섹션에서는 다룰 것입니다. n진법 더하기 제곱근을 구하는 바빌론 방식 큰 수의 계승 주어진 점이 다각형 내부에 있는지 확인 완벽한 정사각형 확인 4개의 점이 정사각형을 이루는지 확인 주어진 두 집합이 서로 연결되어 있지 않은지 확인하시겠습니까? 두 선분이 교차하는지 확인 주어진 점이 삼각형 내부에 있는지 확인 최소 비용으로 n개의 로프 연결 숫자에서 로마 숫자로 정확히 k개의 가장자리가 있는

    12. 패턴 검색 알고리즘 소개

      패턴 검색 알고리즘은 다른 더 큰 문자열에서 패턴 또는 하위 문자열을 찾는 데 사용됩니다. 다양한 알고리즘이 있습니다. 시간 복잡성을 줄이기 위해 이러한 유형의 알고리즘을 설계하는 것이 주요 목표입니다. 전통적인 접근 방식은 더 긴 텍스트에 대한 패턴 검색 작업을 완료하는 데 많은 시간이 걸릴 수 있습니다. 여기에서 더 나은 패턴 일치 성능을 얻기 위한 다양한 알고리즘을 볼 수 있습니다. 이 섹션에서는 다룰 것입니다. Aho-Corasick 알고리즘 애너그램 패턴 검색 나쁜 문자 발견적 보이어 무어 알고리즘 Finite Auto

    13. 검색 알고리즘 소개

      검색 알고리즘은 데이터 세트에서 하나 이상의 요소를 검색하거나 찾는 데 사용됩니다. 이러한 유형의 알고리즘은 특정 데이터 구조에서 요소를 찾는 데 사용됩니다. 검색은 순차적일 수도 있고 아닐 수도 있습니다. 데이터 세트의 데이터가 무작위인 경우 순차 검색을 사용해야 합니다. 그렇지 않으면 복잡성을 줄이기 위해 다른 다른 기술을 사용할 수 있습니다. 이 섹션에서 다룰 내용 - 이진 검색 지수 검색 보간 검색 점프 검색 선형 검색 삼항 검색

    14. 정렬 기법 소개

      정렬은 데이터를 특정 형식으로 정렬하는 것을 말합니다. 정렬 알고리즘은 데이터를 특정 순서로 정렬하는 방법을 지정합니다. 가장 일반적인 순서는 숫자 또는 사전순입니다. 정렬의 중요성은 데이터를 정렬된 방식으로 저장하면 데이터 검색을 매우 높은 수준으로 최적화할 수 있다는 사실에 있습니다. 정렬은 더 읽기 쉬운 형식으로 데이터를 나타내는 데도 사용됩니다. 이 섹션에서 다룰 내용 - 버블 정렬 버킷 정렬 빗 정렬 카운팅 정렬 순환 정렬 힙 정렬 삽입 정렬 병합 정렬 비둘기 구멍 정렬 빠른 정렬 기수 정렬 선택 정렬 쉘 정렬

    15. 탐욕 알고리즘 소개

      Greedy 알고리즘은 주어진 문제에 대한 최적의 솔루션을 달성하도록 설계되었습니다. 탐욕 알고리즘 접근 방식에서는 주어진 솔루션 영역에서 결정이 내려집니다. 욕심을 부리면서 최적의 솔루션을 제공하는 것 같은 가장 가까운 솔루션을 선택합니다. Greedy 알고리즘은 지역화된 최적의 솔루션을 찾으려고 하며, 이는 결국 전역적으로 최적화된 솔루션으로 이어질 수 있습니다. 그러나 일반적으로 탐욕스러운 알고리즘은 전역적으로 최적화된 솔루션을 제공하지 않습니다. 이 섹션에서 다룰 내용 - 활동 선택 문제 인접 목록 표현을 위한 Dijks

    16. 동적 프로그래밍 소개

      동적 프로그래밍은 다른 알고리즘 패러다임 중 하나입니다. 이 접근 방식에서 문제는 몇 가지 하위 문제로 나눌 수 있으며 미래에 사용하기 위해 이전 하위 문제의 출력을 저장합니다. 작업의 계산 시간을 줄이는 데 도움이 됩니다. 동적 프로그래밍 기법에는 두 가지 유형이 있습니다. - 중복 하위 문제 최적의 하부 구조 이 섹션에서 다룰 내용 - 박스 쌓기 문제 두 번의 순회를 사용하여 그리드에서 최대 포인트 수집 1부터 n까지의 모든 숫자의 자릿수 합 계산 연속 1이 없는 이진 문자열 계산 게임에서 주어진 점수에 도달하는 방법의

    17. 그래프 알고리즘 소개

      그래프는 유한한 수의 노드와 한 쌍의 노드를 연결하는 데 사용되는 모서리 세트로 구성된 비선형 데이터 구조입니다. 그래프는 네트워크 등을 나타내는 몇 가지 실시간 문제를 해결하는 데 사용됩니다. 다른 소셜 네트워크에서는 그래프가 사용됩니다. 이 섹션에서 다룰 내용 - 양방향 그래프 검사 그래프에 대한 BFS(Breadth First Search) 그래프의 브리지 주어진 그래프가 트리인지 확인 유향 그래프의 연결성 그래프에 대한 깊이 우선 검색(DFS) 무방향 그래프에서 주기 감지 유향 그래프에서 주기 감지 유향 그래프의 오일러

    18. 알고리즘 분석 소개

      알고리즘의 이론적 분석에서는 점근적 의미에서 복잡성을 추정하는 것이 일반적입니다. 즉, 임의의 큰 입력에 대한 복잡도 함수를 추정합니다. 알고리즘 분석이라는 용어 Donald Knuth가 만들었습니다. 알고리즘 분석은 특정 계산 문제를 해결하기 위해 알고리즘에 필요한 리소스에 대한 이론적 추정을 제공하는 계산 복잡도 이론의 중요한 부분입니다. 대부분의 알고리즘은 임의 길이의 입력으로 작동하도록 설계되었습니다. 알고리즘 분석은 그것을 실행하는 데 필요한 시간과 공간 자원의 양을 결정하는 것입니다. 일반적으로 알고리즘의 효율성 또는

    19. 매직 스퀘어

      마방진은 순서가 홀수이고 각 행 또는 각 열 또는 각 대각선에 대한 요소의 합이 동일한 정사각형 행렬입니다. 각 행 또는 각 열 또는 각 대각선의 합은 이 공식을 사용하여 찾을 수 있습니다. n(n2+ 1)/2 다음은 마방진을 구성하는 규칙입니다 - 행렬의 첫 번째 행 중간 열에서 시작하여 항상 왼쪽 상단 모서리로 이동하여 다음 숫자를 배치합니다. 행이 초과하거나 행이 행렬에 없으면 열을 왼쪽 열로 변경하고 행렬의 마지막 행에 숫자를 배치하고 다시 왼쪽 상단으로 이동합니다. 열이 초과하거나 열이 행렬에 없으면 행을 상단

    20. 배열 내용 섞기

      이 알고리즘은 배열을 가져와 배열의 내용을 섞습니다. 배열 요소의 무작위 순열을 생성합니다. 이 문제를 해결하기 위해 마지막 인덱스에서 시작하여 배열에서 무작위로 생성된 인덱스로 요소를 교환합니다. 입력 및 출력 Input: An array of integers: {1, 2, 3, 4, 5, 6, 7, 8} Output: Shuffle of array contents: 3 4 7 2 6 1 5 8 (Output may differ for next run) 알고리즘 randomArr(array, n) 입력: 배열, 요소 수. 출

    Total 1466 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:62/74  20-컴퓨터/Page Goto:1 56 57 58 59 60 61 62 63 64 65 66 67 68