내 데이터 구조 및 알고리즘 저장소에 오신 것을 환영합니다!? 여기에는 Java, Python 및 C ++에서 구현 된 선별 된 프로그램 모음이 있습니다. 이 프로그램은 배열, 링크 된 목록, 트리, 그래프, 분류 알고리즘, 검색 기술 및 동적 프로그래밍을 포함하여 광범위한 데이터 구조 및 알고리즘을 다룹니다.
기초를 이해하려는 초보자이든 기술을 강화하기 위해 숙련 된 프로그래머이든,이 저장소는 모든 수준의 전문 지식을 수용하도록 설계되었습니다. 각 프로그램에는 자세한 설명과 코드 의견이 제공되어 이해를 돕습니다.
이 저장소를 탐색함으로써 데이터 구조의 작동 방식에 대한 이해가 심화되고 다양한 알고리즘을 배우고 Java, Python 또는 C ++를 사용하여이를 구현하는 데 능숙 해집니다. 이 프로그램을 참조, 학습 자료 또는 자신의 프로젝트의 출발점으로 사용할 수 있습니다.
따라서 우리의 컬렉션을 탐구하고 발견과 학습의 여정을 시작하십시오. 문제 해결 기술을 연마하고 효율적인 코딩 관행에 대한 통찰력을 얻고 데이터 구조 및 알고리즘의 세계에서 중요한 개념에 대한 이해를 강화하십시오. 행복한 코딩! :)
Ø 당신이 내 저장소가 유용하거나 좋아한다면 별을주는 것을 고려하십시오. 귀하의 지원은 저를 계속 작업하고 기능을 향상시킬 것을 권장합니다. 감사합니다! 켈
저장소의 기존 문제를 탐색하여 관심있는 문제 나 아직없는 문제를 식별하여 시작하십시오.
작업하려는 기능 또는 버그 수정이 문제로 존재하지 않으면 새로운 문제를 만듭니다. 문제 또는 기능 요청을 명확하게 설명하고 귀하에게 할당되기를 기다리십시오.
문제가 당신에게 할당되면 작업을 시작하십시오. 선택한 주제와 관련된 기존 문제가있는 경우 진행하기 전에 귀하에게 할당되어 있는지 확인하십시오.
저장소 포크 :
에이. 저장소 웹 사이트 (예 : Github)로 이동하여 "Fork"버튼을 클릭하십시오.
비. 이렇게하면 GitHub 계정에 따라 저장소 사본이 생성됩니다.
포크 리포지토리를 복제하십시오.
에이. 터미널을 열고 저장소를 저장하려는 위치로 이동하십시오.
비. git 클론 명령에 이어 포크 저장소의 URL을 사용하여 로컬 사본을 만듭니다.
새 지점 만들기 :
에이. 터미널을 사용하여 저장소 디렉토리로 전환하십시오.
비. git checkout -b branch -name 명령을 사용하여 새 지점을 만듭니다.
기음. "Branch-Name"을 분기의 설명 이름으로 바꾸십시오 (예 : "Add-Binary-Search").
코드 추가 :
에이. 적절한 폴더에 데이터 구조 또는 알고리즘 코드를 작성하십시오.
비. 접근 방식, 시간 복잡성 및 공간 복잡성을 설명하는 의견을 포함하십시오.
기음. 코드의 기능을 보여주기 위해 샘플 입력 및 출력을 제공하십시오.
디. 논리와 중요한 단계를 설명하기 위해 명확하게 설명하기 위해 의견을 추가하십시오.
코드 스타일이 저장소 스타일과 일치하는지 확인하십시오.
에이. 선호하는 스타일을 이해하려면 저장소의 기존 코드를 검토하십시오.
비. 확립 된 이름 지정 규칙, 계약 및 서식을 따르십시오.
기음. 코드의 목적을 전달하는 의미있는 변수 및 기능 이름을 사용하십시오.
코드 테스트 :
에이. 관련 테스트 사례를 실행하여 코드가 올바른지 확인하십시오.
비. 모든 샘플 입력이 예상 출력을 생성하는지 확인하십시오.
기음. 가장자리 케이스를 고려하고 해당되는 경우 적절하게 처리하십시오.
변경 및 변경 사항을 추진하십시오.
에이. Git Add -A를 사용하여 모든 변경 사항을 변경하십시오.
비. GIT 커밋 -M "변경 사항에 대한 간단한 설명"을 실행하여 변경 사항을 커밋하십시오.
기음. 마지막으로 Git Push Origin Branch-Name을 사용하여 변경 사항을 포크 리포지토리로 푸시하십시오.
풀 요청 생성 :
에이. 웹 사이트 (예 : Github)의 포크 리포지토리로 이동하십시오.
비. "새 풀 요청"버튼을 클릭하십시오.
기음. 기본 리포지토리 드롭 다운에서 원래 저장소를 선택하십시오.
디. "비교"드롭 다운에서 지점을 선택하십시오.
이자형. 문제 번호를 포함하여 풀 요청에 대한 설명 제목과 자세한 설명을 제공하십시오.
에프. "풀 요청 만들기"버튼을 클릭하여 검토를 위해 변경 사항을 제출하십시오.
피드백 검토 및 주소 :
에이. 관리자의 피드백 또는 제안에 대한 풀 요청을 모니터링하십시오.
비. 수신 된 피드백에 따라 코드를 변경해야합니다.
기음. 변경 사항을 동일한 지점으로 커밋하고 밀어 넣으십시오.
승인 대기 :
에이. 관리자는 코드를 검토하고 추가 피드백을 승인하거나 제공합니다.
비. 승인되면 변경 사항이 기본 저장소로 병합됩니다.
승인되면 코드가 기본 저장소로 병합됩니다. 당신의 기여를 축하합니다!
C ++의 기여
/*
Approach:
- Explain the general approach or algorithm behind the code in brief.
Time Complexity: O(n)
- Explain the time complexity of the code.
Space Complexity: O(1)
- Explain the space complexity of the code.
Sample Input:
- Provide an example input.
Sample Output:
- Provide the expected output for the given input.
*/
# include < iostream >
using namespace std ;
int main () {
// Main function to test the code
return 0 ;
}Java의 기여
/*
Approach:
- Explain the general approach or algorithm behind the code in brief.
Time Complexity: O(n)
- Explain the time complexity of the code.
Space Complexity: O(1)
- Explain the space complexity of the code.
Sample Input:
- Provide an example input.
Sample Output:
- Provide the expected output for the given input.
*/
public class CodeExample {
public static void main ( String [] args ) {
// Main function to test the code
}
}파이썬에 대한 기여
'''
Approach:
- Explain the general approach or algorithm behind the code in brief.
Time Complexity: O(n)
- Explain the time complexity of the code.
Space Complexity: O(1)
- Explain the space complexity of the code.
Sample Input:
- Provide an example input.
Sample Output:
- Provide the expected output for the given input.
'''
def code_example ():
# Function to implement the code logic
pass
if __name__ == "__main__" :
code_example () # Call the function to test the code참고 : 특정 요구 사항에 따라 주석을 실제 설명, 복잡성, 샘플 입력, 출력 및 코드 로직으로 바꿔야합니다.