알고리즘 입문 시리즈 1 에 정통 한 알고리즘 개술

알고리즘 입문 시리즈 1 에 정통 한 알고리즘 개술
\ # 알고리즘 시리즈 \ #
시작 하 다
알고리즘최근 몇 년 간 유 난 히 핫 한 단어 이기 도 하 다.많은 대학생 들 이 알고리즘 을 배우 고 싶 어 합 니 다. 왜냐하면 그것 은 큰 공장 과 높 은 월급 의 대명사 이기 때 문 입 니 다.그러나 알고리즘 시리즈 에 관 한 책 이나 글 이 많 지 않 거나 시리즈 가 되 거나 입문 부터 정통 한 글 이 많 지 않 아 우리 가 공부 하기 가 어렵다.그래서 저 는 대학생 들 이 공부 하기에 적합 한 알고리즘 문장 을 써 서 더 많은 사람들 이 알고리즘 을 배 울 수 있 도록 할 계획 입 니 다.이 시리즈 의 모든 알고리즘 은 자바 코드 로 이 루어 지기 때문에 일정한 자바 기반 이 필요 합 니 다.
알고리즘 이란 무엇 입 니까?
Collins 대사 전에 서 다음 과 같은 설명 이 있 습 니 다.
An algorithm is a series of mathematical steps, especially in a computer program, which will give you the answer to a particular kind of problem or question.

컴퓨터 에 서 는 컴퓨터 프로그램 (자바, c, Python 등) 이 일련의 수학 절 차 를 통 해 특정한 문 제 를 해결 하 는 방법 이 알고리즘 이다.대 백화 이해, 알고리즘 은 컴퓨터 에서 수학 논리 나 수학 공식 을 실현 하 는 코드 이다.
알고리즘 을 배 우려 면 습득 해 야 할 지식
1. 모든 프로 그래 밍 언어, 자바, c, c + +, Python 등.2. 데이터 구 조 는 배열, 링크, 나무, 그림 등 3 보다 못 하고 일정한 수학 기초 가 있 습 니 다. 만약 에 수학 지식 을 잊 어도 괜 찮 습 니 다. 글 에서 고등학교 이상 의 수학 지식 과 관련 되면 여러분 을 데 리 고 수학 을 복습 하 겠 습 니 다.
알고리즘 과 수학 적 연계 와 구별
위 에서 우리 가 알고리즘 이 무엇 인지 설명 할 때 수학 을 언급 했다 면 수학 과 알고리즘 은 어떤 관계 일 까?계산법 이 수학 과 같 지 않 습 니까?이런 의문 을 가지 고 우 리 는 아래 의 이 예 를 보 자.1. 초등학교 수학 문제 의 예:
1+2+3+4++N  。
    :(1+N)*N/2

위의 이 공식 이 바로 수학 공식 이 니 모두 이의 가 없 을 것 이다.우 리 는 초등학교 에서 수학 을 공부 할 때 이런 수학 문 제 를 본 적 이 있 기 때문이다.그렇다면 같은 수학 문 제 는 자바 코드 로 어떻게 이 루어 질 까?2. 자바 코드 구현:
/**
 *   1+2+3+…+100  
 * @param n
 * @return     
 */
public static int algorithm(int n){
    int sum=0;
    for (int I = 1; I <= n; I++) {
        sum+=I;
    }
    return sum;
}


위의 이 코드 는 프로그램 을 조금 아 는 사람 은 모두 알 아 볼 수 있 습 니 다. 잘못 쓴 것 이 없습니다. 바로 진정한 자바 코드 가 1 에서 n 의 총 계 를 계산 하고 있 습 니 다.3. 자바 알고리즘 구현:
public static int algorithm2(int n) {
    return (1+n)*n/2;
}

위의 코드 는 자바 알고리즘 이 실현 한 1 에서 n 의 총화 입 니 다. 어떤 학생 들 은 의문 이 있 을 수 있 습 니 다. 이것 이 바로 수학 공식 이 아 닙 니까? 코드 에 쓰 면 알고리즘 입 니까?네, 이것 이 바로 알고리즘 입 니 다.물론 위의 이 알고리즘 은 매우 간단 하고 방법론 내부 까지 간단 한 것 이 수학 공식 이다.아주 복잡 한 수학 논리 도 있 을 수 있 습 니 다.결론: 코드 로 이 루어 진 수학 을 알고리즘 이 라 고 합 니 다.
알고리즘 을 배 우 는 데 왜 데이터 구 조 를 파악 해 야 합 니까?
알고리즘 은 반드시 데이터 의 입력 과 출력 이 있 을 것 이다. 예 를 들 어 위의 1 에서 100 의 알고리즘 이다.입 참 은 입력 한 데이터 이 고, 반환 값 은 출력 한 데이터 입 니 다.흔히 일부 알고리즘 이 실행 되 기 전에 데 이 터 를 먼저 정리 해 야 한다 (예 를 들 어 데 이 터 를 저장 하 는 것 과 같다). 데 이 터 를 정리 하려 면 반드시 데이터 구조 와 관련 되 어야 한다.데 이 터 를 미리 정리 하 는 것 이 좋 고 알고리즘 이 비교적 간단 할 수 있 습 니 다.데이터 가 비교적 복잡 해서 알고리즘 이 비교적 복잡 할 수 있다.
알고리즘 적 역할
하나의 임 무 를 위해 가장 적합 한 알고리즘 을 찾 으 면 컴퓨터 의 성능 을 크게 향상 시 킬 수 있다.알고리즘 은 고정된 하드웨어 조건 에서 시스템 의 성능 을 향상 시 킬 수 있다.만약 알고리즘 이 없다 면, 우 리 는 기계 설 비 를 증가 시 켜 시스템 성능 을 향상 시 킬 수 밖 에 없다.그래서 알고리즘 은 시스템 최적화 에 도움 이 된다.흔히 실제 개발 에서 가장 적합 한 알고리즘 을 찾기 위해 우 리 는 반복 적 이 고 복잡 한 수학 분석 이 필요 하 며 알고리즘 분석 이 라 고도 부른다.
총결산
알고리즘 은 특수 한 수학 형식 으로 알고리즘 을 파악 하 는 것 입 니 다. 자바 프로그래머 나 c 프로그래머 든 모두 매우 큰 의 미 를 가지 고 있 습 니 다. 적어도 쓴 코드 의 성능 이 좋 습 니 다.

좋은 웹페이지 즐겨찾기