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

    1. 선택 정렬

      선택 정렬 기술에서 목록은 두 부분으로 나뉩니다. 한 부분에서는 모든 요소가 정렬되고 다른 부분에서는 항목이 정렬되지 않습니다. 처음에는 배열에서 최대 또는 최소 데이터를 가져옵니다. 데이터를 가져온 후(최소값이라고 함) 첫 번째 데이터를 최소 데이터로 교체하여 목록의 시작 부분에 배치합니다. 수행 후 어레이가 작아지고 있습니다. 이렇게 정렬 기술이 완성됩니다. 선택 정렬 기법의 복잡성 시간 복잡도:O(n^2) 공간 복잡성:O(1) 입력 및 출력 Input: The unsorted list: 5 9 7 23 78 20 Outpu

    2. 쉘 정렬

      쉘 정렬 기술은 삽입 정렬을 기반으로 합니다. 삽입 정렬에서 때때로 올바른 위치에 항목을 삽입하기 위해 큰 블록을 이동해야 합니다. 쉘 정렬을 사용하면 많은 수의 이동을 피할 수 있습니다. 정렬은 특정 간격으로 수행됩니다. 각 패스 후에 간격이 줄어들어 간격이 더 작아집니다. 쉘 정렬 기법의 복잡성 시간 복잡도:최상의 경우 O(n log n)이고 다른 경우에는 간격 시퀀스에 따라 다릅니다. 공간 복잡성:O(1) 입력 및 출력 알고리즘 shellSort(배열, 크기) 입력 - 데이터 배열 및 배열의 ​​총 개수 출력 - 정

    3. 활동 선택 문제

      시작 시간과 종료 시간과 함께 n개의 다른 활동이 제공됩니다. 한 사람이 해결할 수 있는 최대 활동 수를 선택합니다. 나머지 활동 중 종료 시간이 최소이고 시작 시간이 마지막으로 선택한 활동의 ​​종료 시간보다 크거나 같은 다음 활동을 찾기 위해 탐욕적 접근 방식을 사용합니다. 이 문제의 복잡성은 목록이 정렬되지 않은 경우 O(n log n)입니다. 정렬된 목록이 제공되면 복잡성은 O(n)이 됩니다. 입력 및 출력 Input: A list of different activities with starting and ending t

    4. 인접 리스트 표현을 위한 다익스트라 알고리즘

      주어진 그래프 G(V, E)와 인접 목록 표현이 있으며 소스 정점도 제공됩니다. 그래프 G의 다른 정점에 대한 소스 정점 사이의 최소 최단 경로를 찾는 Dijkstra의 알고리즘입니다. 이 문제를 해결하기 위해 두 개의 목록을 사용합니다. 하나는 최단 경로 트리로 간주된 정점을 저장하는 것이고 다른 하나는 아직 고려되지 않은 정점을 유지하는 것입니다. 알고리즘의 각 단계에서 고려되지 않은 정점과 소스로부터 최소 거리를 갖는 정점을 찾습니다. 다른 목록은 선행 노드를 보유하는 데 사용됩니다. 선행 노드를 사용하여 소스 및 대상

    5. 다익스트라의 최단 경로 알고리즘

      주요 문제는 이전 문제와 동일하며 시작 노드에서 다른 노드까지 가장 작은 거리를 찾습니다. 이 문제에서 가장 큰 차이점은 그래프가 인접 행렬을 사용하여 표현된다는 것입니다. (비용 매트릭스와 인접 매트릭스는 이를 위해 유사합니다.) 인접 목록 표현의 경우 시간 복잡도는 O(V^2)입니다. 여기서 V는 그래프 G(V, E)의 노드 수입니다. 입력 및 출력 Input: The adjacency matrix: Output: 0 to 1, Using: 0, Cost: 3 0 to 2, Using: 1, Cost: 5 0 to 3, Us

    6. 허프만 코딩 알고리즘

      허프만 코딩은 무손실 데이터 압축 알고리즘입니다. 이 알고리즘에서는 가변 길이 코드를 할당하여 다른 문자를 입력합니다. 코드 길이는 문자가 사용되는 빈도와 관련이 있습니다. 가장 자주 사용되는 문자에는 가장 작은 코드가 있고 가장 적게 사용되는 문자에는 더 긴 코드가 있습니다. 크게 두 부분이 있습니다. 첫 번째는 Huffman 트리를 생성하는 것이고 다른 하나는 코드를 찾기 위해 트리를 탐색하는 것입니다. 예를 들어 일부 문자열 YYYZXXYYX를 고려하면 문자 Y의 빈도는 X보다 크고 문자 Z는 빈도가 가장 낮습니다. 따라서

    7. 정렬된 입력을 위한 효율적인 허프만 코딩

      이전 Huffman 코드 문제에서는 빈도가 정렬되지 않았습니다. 빈도 목록을 정렬된 순서로 제공하면 코드 할당 작업이 더 효율적입니다. 이 문제에서는 두 개의 빈 큐를 사용합니다. 그런 다음 고유한 각 문자에 대한 리프 노드를 만들고 빈도가 높은 순서로 대기열에 삽입합니다. 이 접근 방식에서 알고리즘의 복잡성은 O(n)입니다. 입력 및 출력 Input: Different letters and their frequency in sorted order Letters: {L, K, X, C, E, B, A, F} Frequency:

    8. 기한이 있는 작업 순서 문제

      이 문제에는 주어진 작업 목록이 있습니다. 목록에는 각 작업에 대한 마감일과 수익도 나와 있습니다. 모든 작업에는 단일 시간 단위가 소요되므로 작업의 최소 기한은 1입니다. 한 번에 하나의 작업만 예약할 수 있다면 이익을 극대화하십시오. 이 문제를 해결하기 위해 작업 집합의 모든 하위 집합을 생성하여 개별 하위 집합이 실행 가능한지 여부를 확인합니다. 또한 생성된 모든 실행 가능한 하위 집합에 대한 최대 이익을 추적합니다. 이 알고리즘의 시간 복잡도는 O(n^2) 입력 및 출력 Input: A list of jobs with j

    9. 버킷 정렬

      버킷 정렬 기술에서 데이터 항목은 버킷 세트로 분산됩니다. 각 버킷은 유사한 유형의 데이터를 보유할 수 있습니다. 배포 후 각 버킷은 다른 정렬 알고리즘을 사용하여 정렬됩니다. 이후 모든 요소를 ​​메인 리스트에 모아서 정렬된 형태를 얻습니다. 버킷 정렬 기법의 복잡성 시간 복잡도:최상의 경우와 평균적인 경우는 O(n + k), 최악의 경우는 O(n^2)입니다. 공간 복잡도:최악의 경우 O(nk) 입력 및 출력 Input: A list of unsorted data: 0.25 0.36 0.58 0.41 0.29 0.2

    10. 빗 정렬

      콤 정렬과 버블 정렬의 기본 개념은 동일합니다. 즉, 빗 정렬은 버블 정렬을 개선한 것입니다. 버블 정렬 방식에서는 각 단계에서 항목을 다음 항목과 비교합니다. 그러나 빗 정렬의 경우 항목이 특정 간격으로 정렬됩니다. 각 단계를 완료하면 간격이 줄어듭니다. 이 정렬의 감소 계수 또는 축소 계수는 1.3입니다. 각 단계를 완료한 후 격차를 1.3으로 나눈다는 의미입니다. 콤 정렬 기법의 복잡성 시간 복잡성: 최상의 경우 O(n log n)입니다. O(n^2/2^p) (p는 증분 수) 평균의 경우 O(n^2) 최악의 경우 공간 복잡성

    11. 카운팅 정렬

      카운팅 정렬은 작은 숫자의 키에 따라 개체를 정렬하는 데 사용되는 안정적인 정렬 기술입니다. 키 값이 동일한 키의 수를 계산합니다. 이 정렬 기술은 서로 다른 키 간의 차이가 크지 않을 때 효과적이며 그렇지 않으면 공간 복잡성을 증가시킬 수 있습니다. 정렬 기법 계산의 복잡성 시간 복잡도:O(n+r) 공간 복잡성:O(n+r) 입력 및 출력 입력:정렬되지 않은 데이터 목록:2 5 6 2 3 10 3 6 7 8출력:정렬 전 배열:2 5 6 2 3 10 3 6 7 8정렬 후 배열:2 2 3 3 5 6 6 7 8 10 알고리즘 카운팅

    12. 순환 정렬

      순환 정렬은 내부 정렬 알고리즘입니다. 또한 비교 기반 정렬이며 다른 모든 내부 정렬 기술에 효율적입니다. 정렬 작업을 수행하기 위한 최소 메모리 쓰기 수를 찾습니다. 순환 정렬 기법의 복잡성 시간 복잡도:O(n^2) 공간 복잡성:O(1) 입력 및 출력 알고리즘 cycleSort(배열, 크기) 입력 - 데이터 배열 및 배열의 ​​총 개수 출력 - 정렬된 배열 Start for start :=0 to n – 2 do key :=array[start] location :=start for i :=start + 1 to n-1

    13. 힙 정렬

      힙 정렬은 힙 데이터 구조에서 수행됩니다. 우리는 힙이 완전한 이진 트리라는 것을 알고 있습니다. 힙 트리는 두 가지 유형이 있습니다. 최소 힙 또는 최대 힙. 최소 힙의 경우 루트 요소가 최소이고 최대 힙의 경우 루트가 최대입니다. 힙을 형성한 후 루트에서 요소를 삭제하고 마지막 요소를 루트로 보낼 수 있습니다. 이러한 스와핑 절차 후에 전체 어레이를 다시 힙해야 합니다. 루트에서 요소를 삭제하여 전체 배열을 정렬할 수 있습니다. 힙 정렬 기법의 복잡성 시간 복잡성: O(n 로그 n) 공간 복잡성: O(1) 입력 및 출력 In

    14. 삽입 정렬

      이 정렬 기술은 카드 정렬 기술과 유사합니다. 즉, 삽입 정렬 메커니즘을 사용하여 카드를 정렬합니다. 이 기술의 경우 데이터 세트에서 하나의 요소를 선택하고 데이터 요소를 이동하여 선택한 요소를 데이터 세트에 다시 삽입할 위치를 만듭니다. 삽입 정렬 기법의 복잡성 시간 복잡도:최상의 경우 O(n), 평균 및 최악의 경우 O(n^2) 공간 복잡성:O(1) 입력 및 출력 Input: The unsorted list: 9 45 23 71 80 55 Output: Array before Sorting: 9 45 23 71 80 55 A

    15. 병합 정렬

      병합 정렬 기술은 분할 정복 기술을 기반으로 합니다. 전체 데이터 세트를 더 작은 부분으로 나누고 정렬된 순서로 더 큰 부분으로 병합합니다. 이 알고리즘은 최악의 경우에도 시간 복잡도가 낮기 때문에 최악의 경우에도 매우 효과적입니다. 병합 정렬 기법의 복잡성 시간 복잡성: 모든 경우에 대해 O(n log n) 공간 복잡성: 오(n) 입력 및 출력 Input: The unsorted list: 14 20 78 98 20 45 Output: Array before Sorting: 14 20 78 98 20 45 Array after

    16. 비둘기집 정렬

      이것은 비비교 정렬 기술의 예입니다. 항목의 개수와 가능한 키 값의 범위가 거의 같은 경우에 사용합니다. 이런 종류의 작업을 수행하려면 몇 가지 구멍을 만들어야 합니다. 필요한 구멍의 수는 숫자의 범위에 의해 결정됩니다. 각 구멍에는 항목이 삽입됩니다. 마지막으로 구멍에서 삭제되고 정렬된 순서를 위해 배열에 저장됩니다. 비둘기 구멍 정렬 기법의 복잡성 시간 복잡도:O(n+2^k) 공간 복잡성:O(2^k) 입력 및 출력 알고리즘 pigeonHoleSort(배열, 크기) 입력 - 데이터 배열 및 배열의 ​​총 개수 출력 -

    17. 힘내 숨김

      스태싱을 사용하면 나중에 Git 리포지토리에 코드를 저장할 수 있습니다. Git 저장소로 작업할 때 나중에 Git 커밋에 적용하려는 파일을 변경할 수 있습니다. git stash 명령이 유용한 곳입니다. 스태싱을 사용하면 나중에 작업할 수 있도록 코드를 작업 분기에 저장할 수 있습니다. 이 튜토리얼에서는 Git stash의 기본 사항과 git stash 명령을 사용하는 방법을 예제와 함께 설명합니다. Git Stash란 무엇입니까? 스태싱을 사용하면 작업 디렉토리에 코드를 저장하고 나중에 사용할 수 있도록 색인을 생성할 수 있

    18. 힘내 푸시

      git push 명령은 로컬 버전의 저장소를 원격 저장소에 업로드합니다. 푸시는 변경 사항을 원격 리포지토리에 업로드하는 메커니즘입니다. 변경 사항을 푸시하면 프로젝트의 모든 공동 작업자가 변경 사항을 다운로드할 수 있습니다. 코드를 원격 저장소에 푸시하는 것은 Git 저장소에 대한 변경 사항을 저장하는 마지막 단계입니다. 푸시 프로세스는 로컬 리포지토리(컴퓨터)에서 로컬 코드가 연결된 원격 리포지토리로 코드를 전송합니다. 이를 통해 코드베이스에 대한 변경 사항을 프로젝트의 기본 리포지토리에 저장할 수 있습니다. 이 튜토리얼

    19. Git 삭제 분기

      Git 브랜치를 삭제하는 것은 브랜치를 코드베이스에 병합한 후 일반적인 관행입니다. git branch -d 플래그를 사용하여 로컬 시스템에서 Git 분기를 삭제할 수 있습니다. git push origin –delete 명령은 원격 저장소에서 분기를 제거합니다. 분기를 사용하면 프로젝트의 기본 버전에 영향을 주지 않고 편집할 수 있는 프로젝트의 독립 버전을 만들 수 있습니다. 분기 작업이 끝나면 삭제해야 합니다. 이렇게 하면 코드베이스를 깨끗하게 유지하는 데 도움이 됩니다. Git에서 분기를 삭제하는 데 사용할 수 있는 두

    20. 오류:다음 추적되지 않은 작업 트리 파일이 병합에 의해 덮어쓰여집니다.

      위의 오류는 가져오려는 저장소를 복제하지 않을 때 자주 발생합니다. 프로젝트는 동일할 수 있지만 로컬 버전에 통합하려는 다른 파일이나 기능이 있을 수 있기 때문에 Github의 리포지토리에서 프로젝트를 가져오려고 시도하는 동안 로컬에서 작업할 수 있습니다. 이 문제를 해결하는 방법에는 여러 가지가 있습니다. 로컬 지점에 원격 지점을 추적하도록 지시 아래 명령을 사용하여 이 작업을 수행할 수 있습니다. git branch --track <branch-name> origin/<branch-name> 이

    Total 1466 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:71/74  20-컴퓨터/Page Goto:1 65 66 67 68 69 70 71 72 73 74