데이터 구조 (1) - 데이터 구조의 3 대 구조

컴퓨터 프로 그래 밍 = 데이터 구조 + 알고리즘 데이터 구조 연구 변수의 관리 방식, 알고리즘 연구 특정 문 제 를 해결 하 는 방법.데이터 구 조 는 세 가지 차원 으로 나 뉜 다. 논리 구조 (추상 층), 물리 구조 (구조 층), 연산 구조 (실현 층) 이다.
1.1 데이터 구조의 논리 적 구조
논리 구 조 는 사람 이 데이터 간 의 관계 에 대한 이해 와 견 해 를 가리 키 며 논리 구 조 는 컴퓨터 와 무관 하 다.논리 구조: 1. 집합 구조: 이런 구 조 는 데이터 가 하나의 전체 로 합 쳐 질 수 있 음 을 나타 낸다.이것 은 데이터 간 의 관계 가 가장 약 한 것 으로 그것 보다 조금도 관계 가 없 는 것 이 낫다.2. 선형 구조: 이런 구조 에서 데이터 간 에 일대일 관계 (예 를 들 어 줄 서기) 가 있다.3. 나무 구조: 이런 구조 에서 데이터 간 에 한 쌍 이 많은 관계 가 있 는데 이 관 계 는 부자 관계 (전형 적 인 예 를 들 어 세포 분열) 라 고 부른다.4. 그물 모양 구조: 이런 구조 에서 데이터 간 에 얼마나 많은 교차 맵 관계 가 있 습 니까?
(우 리 는 주로 선형 구조 와 나무 형 구 조 를 연구한다.)
1.2 데이터 구조의 물리 적 구조
물리 구 조 는 컴퓨터 내부 데이터 간 의 실제 관 계 를 묘사한다.물리 구조: 1. 순서 구조: 구조 중의 데이터 요 소 는 연속 적 인 메모리 공간 에 저장 되 고 전형 적 인 대 표 는 바로 배열 이다.무 작위 접근 이 편리 하고 삽입 삭제 가 복잡 합 니 다.2. 체인 구조: 이런 구조 에서 서로 다른 데 이 터 는 컴퓨터 에 서로 다른 곳 에 저장 되 고 그들의 물리 적 위치 간 에는 전혀 관계 가 없다.체인 구 조 는 여러 노드 로 구성 되 고 모든 노드 에는 효과 적 인 데이터 와 최소한 의 포인터 변 수 를 포함한다.체인 구 조 를 조작 할 때 구 조 를 수정 하지 않 으 면 1 급 포인터 변 수 를 사용 하면 됩 니 다. 구 조 를 수정 할 수 있 으 면 2 급 포인터 변 수 를 사용 해 야 합 니 다. 사실은 1 급 포인터 변수 도 체인 구 조 를 수정 할 수 있 습 니 다.체인 구 조 는 삽입 삭제 작업 에 적합 하고 무 작위 접근 에 적합 하지 않 습 니 다.
/*      */
#include 

typedef struct node{
    int num;
    struct node *p_next;//void *p_next;
}node;
node node1 = {1,NULL};

int main(){
    node *p_head = NULL;//   
    node node2 = {2,NULL};
    static node node3 = {3,NULL};
    node node5 = {5,NULL};//      ,       

    p_head = &node1;
    node1.p_next = &node2;
    node2.p_next = &node3;
    //          5   
    /*node **pp_tmp = &p_head;
    while (*pp_tmp){
        pp_tmp = &((*pp_tmp)->p_next);
    }
    *pp_tmp = &node5;*/

    //        5      
    node *p_tmp = NULL;
    if (p_head){
        p_tmp = p_head;
        while (p_tmp->p_next){
            p_tmp = p_tmp->p_next;
        }
        p_tmp->p_next = &node5;
    }
    else {
        p_head = &node5;
    }
   //        
    p_tmp = p_head;
    while (p_tmp){
        printf("%-3d",p_tmp->num);
        p_tmp = p_tmp->p_next;
    }
    printf("
"
); return 0; }

논리 구 조 는 여러 가지 물리 구 조 를 이용 하여 실현 할 수 있 는데 그들 사이 에는 명확 한 일대일 관계 가 없다.
1.3 데이터 구조의 연산 구조
데이터 구조의 기본 조작 (연산 구조): 1. 배분 자원 의 생 성/소각, 구조 구축, 자원 방출 2, 삽입/삭제 증가, 데이터 요소 감소 3, 획득/수정, 교체, 랜 덤 액세스 (추가 삭제, 검사) 4. 정렬/검색 알고리즘 응용

좋은 웹페이지 즐겨찾기