1. 데이터 구조 (데이터 구조)
- 프로세스의 효율 관련 데이터의 조직과 문제를 해결하기 위해
- 공간 효율성과 관련된 문제에 대한 효율 솔루션
- 알고리즘과 효율성의 정도와 관련된 문제에 대한 독창적 인 솔루션
#include <stdio.h>
#include <time.h>
clock_t start, stop;
double duration;
int main(void)
{
start = clock();
stop = clock();
duration = ((double)(stop - start)) / CLK_TCK;
printf("算法所用时间为%f秒\n",duration);
return 0;
}
데이터 구조의 세 요소 (2)
논리 구조 데이터 (논리 구조)
- 선형 구조 : 요소들 간의 일대일 관계로 한
- 구조 그래픽 : 요소들 간의 많은 관계로 많은
- 트리 구조 : 요소들 간의 많은 관계로 하나
데이터 저장 구조 (저장 구조)
- 순차 저장 구조 : 데이터 요소가 메모리의 연속 공간 (어레이)의 어드레스 섹션
- 저장 구조 : 논리 포인터에 의한 메모리 어드레스 이산 데이터 엘리먼트의 연속 (목록)
조작 데이터 (조작) 데이터 타입이 동작을 허용 (이러한 동작의 완료에 사용되는 알고리즘이다)
3. 추상 데이터 타입 (추상 데이터 타입)
데이터 형식 :
- 데이터 개체의 집합
- 동작 데이터 세트와 연관된 집합
개요 : 특정의 구현 방법에 의존하지 않는 데이터 유형에 대한 설명
- 상관없이 데이터를 저장하는 기계의
- 관계없이, 데이터 저장소의 물리적 구조
- 알고리즘과는 아무런 언어를 운영하고 프로그래밍 달성 없습니다
4. 방법 (알고리즘)
- 제한된 명령어 세트 (제한)
- 일부 입력 (경우에 입력 할 필요를) 수락
- 출력을 생성 (출력을 생성 함)
- 제한된 공정 후에 특정 종단 (구속력)
- 각 명령은 컴퓨터가 처리 할 수 이내 (확실성)해야한다, 명확한 목표,하지 모호성을 가지고 있어야합니다
알고리즘의 장점의 척도
1. 유효 기간 : 알고리즘은 특정 문제의 정확한 요구 사항을 충족해야합니다
2. 견고성 : 당신이 잘못된 데이터를 입력 할 때, 알고리즘은 적절한 치료를 할 수 있습니다
3. 가독성 : 혜택 등을 읽는
4. 시간 복잡도 (시간 복잡도) T (N) = O (F (N))는 : 프로그램 시간의 길이를 실행
- 사이클의 광범위한 사용
- 곱하기와 나누기 시간은 덧셈과 뺄셈보다 많이 소요
- 일반적 분석은 일반적으로 최악의 시간 복잡도입니다
공간 복잡도 (공간 복잡도) S (N) = O (F (N))는 : 길이가 실행될 때, 프로그램 저장 부는 차지
- 재귀 함수 호출 많은 수의
- 변수 나 많은 수의 개체 만들기
누진 표현의 제 복잡성
- T (N) = O (F (N)은 일정의 C> 0의 존재를 나타내고, N [0]> 0, N> = N한다면하는 T (N)를 갖도록 <= C *이 F (N [0] 시간 () 함수 상한)
- O (1) <O (N 로그) <O (N) <O (nlog N) <O (N ^ 2) <O (N ^ 3) <O (2 ^ N) <O (N!) <O (N ^ N)
- 복잡성 또한 규칙 : T . (1) + T (2) = 최대 (O (F . 1 ), O (F 2 ))
- 복잡성 곱셈 규칙 : T . (1) * T (2) = O (F . 1 * F 2 )
- 사이클 시간 용 루프 본체 코드 복잡성의 복잡성 곱한 사이클의 수와 동일
- IF-구조의 복잡성 다른 경우 큰 쪽 복잡성과 양 다리 부 복잡성 전체적인 복잡도에 따라 판정 조건