데이터 구조와 알고리즘의 개요 (기본 개념)

  데이터 구조의 기본 개념

 

    "데이터 구조"는 수학, 컴퓨터 하드웨어와 소프트웨어 사이의 세 가지 핵심 과정 사이이다.

  첫째, 적절한 수학적 모델 및 알고리즘 디자인이 솔루션의 수학적 모델에서 추출 된 특정 문제, 그리고 마지막으로 테스트 및 튜닝을위한 프로그램을 컴파일 : 컴퓨터와 특정 문제를 해결하는 경우, 일반적으로 다음과 같은 단계를 통해 갈 필요가 최종 답변을 때까지.

  수학적 모델의 본질을 추구하는 문제를 분석하는 것입니다, 추출하고 이러한 작업 사이의 관계를 식별하는 작업의 목적은 객체가 다음 수학의 언어를 사용하여 설명이 포함되어 있습니다.

  컴퓨터 알고리즘 밀접 기관의 데이터에 관련되어, 알고리즘은 모든 특정 데이터 구조에 연결되어, 데이터 구조를 직접 알고리즘의 선택과 관련된 효율.

  참여 피연산자 수치 문제이기 때문에 간단한 정수, 주요 에너지 프로그램 설계자는 데이터 구조에 관심을 지불하지 않고도, 기술 프로그램에 초점을 실제 또는 부울 데이터 유형, 그래서. 컴퓨터 응용 프로그램의 개발과 소프트웨어 및 하드웨어 분야의 확장으로, 숫자가 아닌 문제가 점점 더 중요하게된다. 통계에 따르면, 숫자가 아닌 문제와 오늘날의 거래는 타임머신의 90 % 이상을 차지한다. 데이터 구조 등의 문제는 일반적으로 수학 방정식에 의해 설명 될 수없는 데이터 요소들 사이의보다 복잡한 상호 관계를 포함한다. 따라서 이러한 문제를 해결하는 열쇠는 더 이상 수학적 분석과 계산 방법은 없지만, 효과적으로 문제를 해결하기 위해, 적절한 데이터 구조를 설계 할 수 있습니다.

  숫자가 아닌 수학적 모델은 더 이상 수학 방정식의 문제 없지만,도 1의 같은 목록, 나무와 같은 데이터 구조.

  개념 및 용어

    1. 데이터

      데이터 (데이터)는 텍스트 문자, 수학 기호, 그리고 만든 실제 사물과 그들의 활동에 다른 규정의 기호를 사용하여 사람들의 설명이다. 컴퓨터 과학에서, 데이터의 의미는 매우 광범위합니다, 우리는 등을 텍스트, 표, 이미지, 포함하는 컴퓨터 프로그램에 의해 처리 컴퓨터에 입력 한 모든 정보를 넣을 수 있습니다, 데이터로 알려져있다.

     2. 데이터 요소

      데이터 요소 (데이터 요소)는 데이터의 기본 단위이다. 요소, 노드, 정점, 기록이라는 다른 조건뿐만 아니라, 데이터 요소에서. 전체 프로그램의 노드는 일반적으로 간주되어 처리된다.

     3. 데이터 개체

      데이터 객체 (Date 객체)는 동일한 특성의 데이터 요소의 모음, 데이터의 부분 집합이다. 각 데이터 요소들의 무한 세트는 복수의 데이터만큼 같은 자연 이루어진 유한 집합 또는 데이터 요소 복합체이든 동일한 데이타 객체들이다.

     4. 데이터 구조

      데이터 구조 (데이터 Stucture)이 연구 데이터 요소 및 컴퓨터 표현에 저장된 관계의 관계 (즉, 데이터기구의 논리적 및 물리적 구조)와 구조 사이의 추상화하는 동작 대응 설계를 정의하도록 알고리즘뿐만 아니라, 이러한 작업 후의 새로운 구조는 여전히 원래 구조 타입인지 확인.

  데이터 요소들 간의 특성의 관계에 따라, 보통 4 기본 구성에 따라

    구조 1) 집합

     설정된 구성에서, 데이터 요소들 간의 관계 "는 동일한 세트에 속하는"이다. 컬렉션은 구성 요소 사이에 매우 헐거운 관계

    2) 선형 구조물

     선형 구조의 데이터 요소들 간의 일대일 관계가있다

    3) 트리

     많은 관계는 트리 구조의 데이터 요소 사이에 존재

    4) 그래픽 구조

     데이터 요소 다 관계 그래프 구조 사이에 존재하는 네트워크 구조 패턴 구조 불리는

  데이터 요소의 집합을, 다른 한 세트의 관계는 다음과 데이터 구조는 두 성분을 가지고

     데이터의 논리 구조

    논리 구조 데이터 (논리 Stucture)의 구체적인 문제 추상화 수학적 모델 데이터 구조의 엘리먼트들 사이의 논리적 관계를 의미, 상기 컴퓨터 메모리에 독립적이다. 컬렉션 구조, 선형 구조 및 그래픽 트리 구조 : 논리 구조 데이터는 네 가지 기본 유형으로 나눌 수 있습니다. 테이블과 나무 두 가장 일반적이고 효율적인 데이터 구조입니다, 많은 효율적인 알고리즘은 데이터 구조 설계 및 구현에 모두 사용할 수 있습니다. 도표는 선형 구조 (12시 59분), 트리 (많은 관계)와 (다 관계)는 비선형 구조이다.

    6. 데이터 저장 구조

    데이터 저장 구조 (스토리지 Stucture)는 컴퓨터 메모리 내에 저장된 데이터의 논리 구조이고, 또한 물리적 구조했다. 사용하는 컴퓨터 프로그래밍 언어로 데이터 저장 구조를 얻을 수 있습니다. 따라서 특정 컴퓨터 언어에 따라 달라집니다. 일반적인 저장 방법으로 나눌 수있다 순차 저장체인점 이가지.

     순차 저장 방법은 인접한 메모리 셀의 물리 위치에 저장된 인접 소자, 기억이 순차 저장 구조 칭한다 논리적이다.

     체인 저장 방법이 인접한 부착 포인터 필드에 의해 지시 된 요소들 사이의 논리적 관계의 실제 위치가 필요하지 않은 논리적으로 인접하는 원소 스토리지 저장 구조라고한다.

     인덱스 저장 방법은 인덱스 테이블에 의해 인덱스 데이터 파일에 근거하여 인덱스 파일을 추가하는 것입니다,이 테이블은 피할 블라인드 검색 쿼리에서 쿼리의 효율성을 개선하는 것을 목표로 하위 목록의 순서로 나눌 수있다.

     해시 저장 방법은 저장 어드레스 소자 사이의 관계를 맵핑 일종의 확립 각각의 메모리 어드레스의 각 요소 간의 일대일 관계를 달성하려고하는 것이다.

    데이터 처리

    데이터에 대한 데이터 처리 수단은, 삽입, 삭제, 결합 작업, 정렬 통계 및 다른 간단한 계산을 검색.  

    8. 데이터 유형

   데이터 형식 (데이터 형식) 밀접 특정 유형의 데이터를 높은 수준의 프로그래밍 언어, 각 변수 또는 상수에 대응 식을 이용하여 프로그램의 데이터 구조에 관한 개념이다. 상기 구조가 복수 종류의 구성 될 수있는 다른 구조의 형태이며, 분해 될 수있는 하나 개의 유형의 (등 정수, 실수, 문자열) 기본 데이터 형식으로서 비 원자 구조이다 데이터 유형은 두 가지로 분류 될 수있다. 분해의 구조 유형은 비 구조적 구성 될 수있다.

  개념 및 알고리즘의 특성

    정의 알고리즘

   알고리즘 (알고리즘)이 문제를 해결 지칭 같이 어떤 기계적인 문제를 얻을 수 초래할 따라야 (문제의 해결책이 용액을 부여하는 경우에는 용액이 제공되지 않는 경우 해결책 결론) 프로세스. 문제에 직면하고 단계를 컴퓨터와이 문제를 해결하는 방법을 찾을 필요하면, 방법 알고리즘은이 문제와 단계를 해결하는 것입니다.

    알고리즘의 세 요소

    산술적으로 연산 구조, 데이터 구조, 제어 세 요소

    동작들은 연산 (가산, 감산, 곱셈, 나눗셈) 비교 관계 (이상, 동일하지 동등 이하 미만), 논리 연산 (AND, OR, NOT), 데이터 전송 (입력, 출력, 할당)

    시퀀스 구조는 상기 구조 (동작이 연속적으로 수행된다)을 선택하면, 루프 구조 (또한 반복적으로 공지되거나 몇몇 조건이 충족 될 때까지 반복은 일부 동작들이 반복적으로 수행 될 (조건을 만족 선택 실행에 의해 결정) 제어 구조 끝)

    데이터 구조 : 오브젝트 연산, 데이터, 데이터의 저장 및 취급 간의 논리적 관계 데이터되고 데이터 구조

    알고리즘의 기본 성격

   알고리즘을 만족 다음과 같은 속성의 표현 :

     목적 : 알고리즘은 명확한 목적을 가지고, 알고리즘은 할당 기능을 할 수

     단계 : 복잡한 알고리즘으로 구성된 일련의 단계에 의해 그 기능, 컴퓨터 실행을 완료

     주문 : 알고리즘의 단계는 알고리즘 단계의 실행 순서를 자유롭게 변경할 수, 연속되지 않습니다

     제한 : 알고리즘의 실행 순서는 알고리즘의 단계를 더 포함하는 제한은 한정

     운용성 : 알고리즘은 항상 그것의 기능을 수행하는 상태를 변경, 특정 개체를 운영하는 것이 합리적이다

   알고리즘의 기본 기능

     유한 성격 : 유한 단계의 실행 후 알고리즘해야 끝

      불확실성 : 어떤 상황에서도 오직 하나의 경로 알고리즘을

      타당성 : 작업 동작들의 제한된 수를 통해 달성 될 수 기본적인 조작을 통해 이루어졌다

      제로 또는 그 이상의 입력 임베디드 알고리즘에 입력 할 수있는 알고리즘의 실행 중에 입력 또는 입력

      하나 개 이상의 출력 : 정보 처리 알고리즘 확보의 결과

   알고리즘 설계 요구 사항

    정확성 : 모든 합법적 인 입력 데이터는 결과의 요구 사항을 충족 할 경우

    가독성 : 사람들이 교환을 읽고하는 첫째, 실행하는 컴퓨터에 의해 다음

    견고성 : 잘못된 입력 데이터, 알고리즘은 적절하게 반응하는지, 대신 출력 불가해의 생성, 처리

    높은 효율과 낮은 메모리 : 알고리즘 최대 저장 공간의 실행과 구현에 필요한 시간

 

추천

출처www.cnblogs.com/huan30/p/12347412.html