현재 위치 - 회사기업대전 - 기업 정보 조회 - 알고리즘과 데이터 구조란 무엇입니까?

알고리즘과 데이터 구조란 무엇입니까?

알고리즘은 문제 해결을 위한 일련의 명확한 지침입니다. 즉, 특정 표준 입력에 대해 제한된 시간 내에 필요한 출력을 얻을 수 있습니다. 알고리즘에 결함이 있거나 문제에 적합하지 않은 경우 이 알고리즘을 실행해도 문제가 해결되지 않습니다. 알고리즘에 따라 시간, 공간 또는 효율성이 다를 수 있습니다. 알고리즘의 우열은 공간의 복잡성과 시간의 복잡성으로 측정할 수 있다.

알고리즘은 기본 연산과 지정된 연산 순서로 구성된 완전한 문제 해결 단계로 해석될 수 있습니다. 또는 요구 사항에 따라 설계된 제한적이고 정확한 계산 시퀀스로, 이러한 단계와 시퀀스는 한 가지 유형의 문제를 해결할 수 있습니다.

알고리즘에는 다음과 같은 다섯 가지 중요한 특징이 있어야 합니다.

1, 제한적: 알고리즘은 제한된 단계 수 후에 종료되도록 보장해야 합니다.

정확: 알고리즘의 각 단계에는 정확한 정의가 있어야합니다.

3. 입력: 알고리즘에는 피연산자의 초기 상태를 설명하는 0 개 이상의 입력이 있습니다. 0 입력이란 알고리즘 자체가 초기 조건을 제외한다는 것을 의미합니다.

4. 출력: 알고리즘에는 입력 데이터 처리 결과를 반영하는 하나 이상의 출력이 있습니다. 출력이없는 알고리즘은 의미가 없습니다.

5. 실현가능성: 원칙적으로 산법은 정확하게 작동할 수 있고, 사람은 종이펜으로 제한된 횟수의 연산을 하면 완성할 수 있다.

컴퓨터 과학자 곽서화 워스가 명작' 데이터 구조 10 대 알고리즘 = 프로그램' 을 쓴 적이 있어 컴퓨터 과학과 컴퓨터 응용에서의 알고리즘의 지위를 알 수 있다.

데이터 구조는 컴퓨터가 데이터를 저장하고 구성하는 방법입니다. 데이터 구조는 서로 하나 이상의 특정 관계를 가진 데이터 요소의 모음입니다. 일반적으로 신중하게 선택한 데이터 구조는 운영 또는 스토리지 효율성을 높일 수 있습니다. 데이터 구조는 일반적으로 효과적인 검색 알고리즘 및 인덱싱 기술과 관련이 있습니다.

일반적으로 데이터 구조는 데이터 요소가 특정 논리적 연결에 따라 구성된 것으로 간주됩니다. 데이터 요소 간의 논리적 관계에 대한 설명을 데이터의 논리적 구조라고 합니다. 데이터는 컴퓨터에 저장해야 합니다. 데이터의 저장 구조는 데이터 구조와 컴퓨터에서의 표현입니다. 또한 데이터 구조와 이러한 데이터에 대해 수행하는 작업을 동시에 논의하는 것이 의미가 있습니다.

많은 유형의 프로그래밍에서 데이터 구조의 선택은 기본적인 설계 고려 사항입니다. 많은 대형 시스템 구축 경험에 따르면 시스템 구현의 어려움과 시스템 구축의 품질은 최적의 데이터 구조를 선택했는지 여부에 크게 좌우됩니다. 데이터 구조가 결정되면 알고리즘을 쉽게 얻을 수 있는 경우가 많습니다. 때로는 일이 거꾸로 진행되기도 하고, 우리는 특정 알고리즘에 따라 데이터 구조를 선택하여 적응한다. 두 경우 모두 적절한 데이터 구조를 선택하는 것이 중요합니다.

데이터 구조가 선택되면 알고리즘도 결정됩니다. 시스템 구축의 핵심 요소는 알고리즘이 아닌 데이터입니다. 이러한 통찰력으로 인해 많은 소프트웨어 설계 방법 및 프로그래밍 언어가 생겨났으며, 객체 지향 프로그래밍 언어가 그 중 하나입니다.

컴퓨터 과학에서 데이터 구조는 컴퓨터의 조작 대상 (데이터 요소) 과 비숫자 계산 프로그래밍 문제에서의 관계 및 작업을 연구하고, 이러한 작업 후에 얻은 새로운 구조가 여전히 원래 구조 유형의 학과임을 보장하는 것이다.

"데이터 구조" 는 독립 과정으로서 외국에서 1968 에서 설립되었습니다. 1968 년 미국의 Don O 'Knut 교수는 데이터 구조의 초기 체계를 개척했다. "컴퓨터 프로그래밍 기술" 제 1 권 "기본 알고리즘" 은 데이터의 논리적 구조, 저장 구조 및 연산을 체계적으로 설명하는 첫 번째 책입니다. "데이터 구조" 는 컴퓨터 전공의 종합 전공 기초 수업이다. 데이터 구조는 수학, 컴퓨터 하드웨어 및 컴퓨터 소프트웨어 간의 핵심 과정입니다. 데이터 구조의 내용은 일반 프로그래밍 (특히 비숫자 프로그래밍) 의 토대일 뿐만 아니라 컴파일러, 운영 체제, 데이터베이스 시스템 등의 시스템 프로그램을 설계하고 구현하는 중요한 토대이기도 합니다.

컴퓨터는 컴퓨터 연구 정보로 표현하고 처리하는 과학이다. 여기에는 두 가지 문제가 있습니다.

정보의 표현

정보 처리

정보의 표현과 그룹화는 정보를 처리하는 프로그램의 효율성과 직접적으로 관련이 있다. 컴퓨터가 보급됨에 따라 정보의 증가와 정보 범위의 확대로 인해 많은 시스템 프로그램과 어플리케이션이 거대하고 구조가 상당히 복잡해졌습니다. 따라서' 좋은' 프로그램을 쓰려면 처리해야 할 대상의 특성과 그 관계를 분석해야 하는데, 이는 데이터 구조 과정에서 연구해야 할 문제이다. 우리 모두 알고 있듯이, 컴퓨터 프로그램은 정보를 처리하는 것이다. 대부분의 경우 이 정보는 조직되지 않으며 정보 (데이터) 간에 중요한 구조적 관계가 있는 경우가 많습니다. 이것이 바로 데이터 구조의 내용입니다. 데이터의 구조는 알고리즘의 선택과 효율성에 직접적인 영향을 미칩니다.

컴퓨터가 특정 문제를 해결할 때 일반적으로 몇 가지 단계를 거쳐야 합니다. 먼저 특정 문제에서 적절한 수학 모델을 추상화한 다음 이 수학 모델을 해결하는 알고리즘을 설계하고, 마지막으로 프로그램을 작성하고, 최종 해석을 얻을 때까지 테스트하고 조정합니다. 수학 모델의 본질은 문제를 분석하고, 피연산자를 추출하고, 이러한 피연산자 간의 관계를 찾은 다음, 수학 언어로 설명하는 것이다. 컴퓨터 알고리즘은 데이터의 구조와 밀접한 관련이 있으며, 모든 알고리즘은 특정 데이터 구조에 부착되어 있으며, 데이터 구조는 알고리즘의 선택과 효율성과 직접적으로 관련이 있습니다. 작업은 컴퓨터에 의해 수행되며 적절한 삽입, 삭제 및 수정 알고리즘을 설계해야 합니다. 즉, 데이터 구조는 각 구조 유형에 의해 정의된 다양한 연산에 대한 알고리즘도 제공해야 합니다.

데이터는 객관적인 사물의 상징적인 표현이다. 컴퓨터 과학에서, 그것은 컴퓨터를 입력할 수 있고 컴퓨터 프로그램에서 처리할 수 있는 모든 부호를 가리킨다.

데이터 요소는 데이터의 기본 단위이며 일반적으로 컴퓨터 프로그램에서 전체로 간주됩니다. 데이터 요소는 여러 데이터 항목으로 구성됩니다. 데이터 항목은 분할할 수 없는 가장 작은 데이터 단위입니다. 데이터 요소에는 두 가지가 있습니다. 하나는 정수 "5" 와 문자 "N" 과 같은 분리할 수 없는 원자 데이터 요소입니다. 다른 하나는 각각 하나의 데이터 항목이라고 하는 여러 기금으로 구성된 데이터 요소입니다. 예를 들어 학생 정보를 설명하는 데이터 요소는 다음 6 개의 데이터 항목으로 구성될 수 있습니다. 생년월일은 "년", "월", "일" 의 세 가지 데이터 항목으로 구성될 수 있으며, 조합 항목으로 "생년월일" 이라고 하며, 기타 분리할 수 없는 데이터 항목은 원자 항목입니다.

키워드는 하나 이상의 데이터 요소를 식별하는 데이터 항목입니다. 독특한 인식 역할을 할 수 있다면' 1 급' 키워드라고 하고, 그렇지 않으면' 2 급' 키워드라고 부른다.

데이터 객체는 동일한 특성을 가진 데이터 요소 및 데이터 하위 세트의 집합입니다. 데이터 객체는 제한적이거나 무한할 수 있습니다.

데이터 처리는 데이터 찾기, 삽입, 삭제, 병합, 정렬, 개수 및 단순 계산을 수행하는 프로세스입니다. 초기에는 컴퓨터가 주로 과학 및 엔지니어링 컴퓨팅에 사용되었습니다. 1980 년대 이후 컴퓨터는 주로 데이터 처리에 사용되었습니다. 관련 통계에 따르면 현재 컴퓨터가 데이터 처리에 사용하는 시간의 비율은 80% 이상에 달한다. 시간이 지남에 따라 컴퓨터 응용이 더욱 보급됨에 따라, 컴퓨터가 데이터 처리에 사용하는 시간의 비율은 더욱 증가할 것이다.

데이터 구조는 동일한 데이터 요소 클래스에 있는 데이터 요소 간의 관계입니다. 데이터 구조는 논리적 구조, 스토리지 구조 (물리적 구조) 및 데이터 작업입니다. 데이터의 논리적 구조는 데이터 간의 관계에 대한 설명이며, 경우에 따라 논리적 구조를 간단히 데이터 구조라고 합니다. 논리적 구조는 형식 (k, r) (또는 (d, s)) 으로 정의됩니다. 여기서 k 는 데이터 요소의 제한된 세트이고 r 은 k 의 제한된 관계 세트입니다.

데이터 요소 간의 관계를 구조라고 합니다. 집합, 선형 구조, 트리 구조 및 그래픽 구조 (네트워크 구조) 의 네 가지 기본 구조가 있습니다. 트리 구조와 그래픽 구조를 모두 비선형 구조라고 합니다. 컬렉션 구조의 데이터 요소는 같은 유형에 속한다는 점을 제외하고는 다른 관계가 없습니다. 선형 구조에서 요소 간의 일대일 관계, 트리 구조에서 요소 간의 일대다 관계, 그래픽 구조에서 요소 간의 다대다 관계입니다. 도면 구조에서 각 노드의 이전 노드와 후속 노드 수는 임의의 배수일 수 있습니다.

컴퓨터에서 데이터 구조의 표현 (이미지) 을 데이터의 물리적 (저장) 구조라고 합니다. 여기에는 데이터 요소의 표현과 관계 표현이 포함됩니다. 데이터 요소 간의 관계는 두 가지 다른 표현, 즉 순차 매핑과 비순차 매핑으로 인해 두 가지 다른 저장 구조, 즉 순차 저장 구조와 체인 저장 구조가 생성됩니다. 순차 저장법: 논리적으로 인접한 노드를 물리적으로 인접한 스토리지 장치에 저장합니다. 노드 간의 논리적 관계는 스토리지 단위의 인접 관계에 의해 반영되므로 결과 스토리지 표현을 순차 스토리지 구조라고 합니다. 순차 저장 구조는 프로그래밍 언어에서 일반적으로 배열을 통해 구현되는 기본적인 저장 표현 방법입니다. 링크 저장 방법: 논리적으로 인접한 노드가 물리적으로 인접해 있을 필요는 없으며 노드 간의 논리적 관계는 추가 포인터 필드로 표시됩니다. 결과 저장 표현은 체인 저장 구조라고 하며 프로그래밍 언어에서 일반적으로 포인터 유형을 통해 구현됩니다. 인덱스 저장 방법: 스토리지 노드 정보 외에 노드의 주소를 식별하는 추가 인덱스 테이블이 설정됩니다. 해시 저장 방법: 노드의 키워드에 따라 노드의 저장 주소를 직접 계산합니다.

데이터 구조에서 데이터 구조는 논리적 (논리적 구조: 데이터 요소 간의 논리적 관계) 으로 선형 구조와 비선형 구조로 나눌 수 있습니다. 선형 테이블의 순차 저장 구조는 랜덤 액세스 저장 구조이고 선형 테이블의 체인 저장 구조는 순차 액세스 저장 구조입니다. 선형 테이블이 체인 저장으로 표시되는 경우 모든 노드 간의 저장 장치 주소는 연속적이거나 불연속적일 수 있습니다. 논리적 구조는 데이터 요소 자체에 포함된 형식, 내용, 상대 위치 및 노드 수와 관련이 없습니다.

알고리즘의 설계는 데이터 (논리) 구조에 따라 달라지고 알고리즘의 구현은 채택된 스토리지 구조에 따라 달라집니다. 데이터 작업은 검색, 삽입, 삭제, 업데이트 등과 같이 데이터의 논리적 구조에 정의된 작업 알고리즘입니다.

copyright 2024회사기업대전