자바 데이터 구조 기초:서론

기본 개념 과 용어
데이터 구조 가 무엇 인지 알 고 싶다 면 우 리 는 먼저 데이터 와 구조 가 무엇 인지 알 아야 한다.
데이터 구조=데이터+구조
즉,우 리 는 먼저 데 이 터 를 연구 한 다음 에 이런 데 이 터 를 일정한 모양(구조)으로 구성 하면 자 연 스 럽 게 데이터 구조 가 된다 는 것 이다.
데이터
데이터:객관 적 인 사물 을 묘사 하 는 기호 로 컴퓨터 에서 조작 할 수 있 는 대상 이 며 컴퓨터 에 의 해 식별 되 고 컴퓨터 에 입력 되 어 처리 할 수 있 는 기호 집합 이다.
이렇게 말 하면 두통 을 느끼 는 사람 도 있 을 것 이다.직 설 적 으로 말 하면 공기 입자 가 공 기 를 이 루 고 한 사람 한 사람 이 한 무리의 사람 을 이 루 었 다 는 것 을 알 수 있 겠 지.
나중에 만나면 다른 사람 에 게 말 할 수 있어.너 는 데이터 야.다른 사람 이 너 를 때 릴 지 안 때 릴 지.
그러나 당신 은 이렇게 이해 할 수 있 습 니 다.사용 하면 이렇게 사용 할 수 없습니다.우리 가 여기 서 말 하 는 데 이 터 는 추상 적 인 개념 입 니 다.사실은 기호 입 니 다.예 를 들 어 당신 의 for 순환 입 니 다.그래서 이런 기 호 는 반드시 두 가지 조건 을 만족 시 켜 야 한다.
컴퓨터 에 입력 할 수 있 습 니 다.
컴퓨터 프로그램 에 의 해 처 리 될 수 있다.
데이터 요소
데이터 요소:데 이 터 를 구성 하고 일정한 의 미 를 가 진 기본 단위 로 컴퓨터 에서 보통 전체적인 처리 로 한다.기록
예 를 들 어 인류 중에서 사람 은 데이터 요소 이 고 동물 중에서 닭 과 오리,물고기 등 이 바로 데이터 요소 이다.
데이터 항목
데이터 항목:하나의 데이터 요 소 는 서 강 액 데이터 항목 으로 구성 할 수 있 습 니 다.데이터 항목 은 분할 할 수 없 는 최소 단위 이다.
예 를 들 어 사람 을 구성 하 는 데이터 요 소 는 바로 귀,코,눈 과 같은 데이터 항목 으로 구성 된다.
우리 가 진정 으로 문 제 를 토론 할 때,주로 데이터 요 소 를 토론 하 는 것 이지,데이터 항목 을 토론 하 는 것 이 아니다.영 화 를 봐 서 남 의 배 우 를 계속 연구 할 수 는 없 잖 아.
데이터 개체
데이터 대상:성질 이 같은 데이터 요소 의 집합 이 고 데이터 의 부분 집합 입 니 다.
사람 은 모두 생일 이 있 죠?나이 가 있 죠?이름 이 있 죠?이것 이 바로 그들의 성격 입 니 다.
왜 또 성질 이 같은 데이터 원소 의 집합 이 라 고 말 합 니까?당신 은 한 종 류 를 정의 할 때 어떤 사람 에 따라 정 의 를 내 릴 수 있 습 니까?설마,너 는 틀림없이 전체적인 특징 에 따라 정 의 를 내 릴 거 야.예 를 들 어:

class Person(){
	private String name;
	private String addr;
	private int age;
}
너 는 분명히 이렇게 정의 할 것 이다.

class Zhangsan(){
	private int money;
	private int age;
}
알 겠 지?
구조
쉽게 이해 하면 관계 야.예 를 들 어 분자 구 조 는 분 자 를 구성 하 는 원자 간 의 배열 방식 이다.
현실 세계 에서 모든 데이터 요 소 는 독립 된 것 이 아니 라 20 개의 특정한 관계 가 연결 되 어 있 기 때문에 우 리 는 이런 관 계 를 구조 라 고 부른다.
예 를 들 어 당신 과 당신 의 친척 은 한 쪽 에 어려움 이 있 으 면 팔방 에서 지원 하 는 이 치 를 알 아야 합 니 다.
데이터 구조
상호 간 에 한 가지 또는 여러 가지 특별히 관 계 를 주 는 데이터 요소 의 집합 이다.
이제 앞 에 있 는 것 을 다 보면 데이터 구조 가 무엇 인지 알 수 있 겠 지?
따라서 좋 은 프로그램 을 만 들 려 면 처리 대상 의 특성 과 처리 대상 사이 에 존재 하 는 관 계 를 나 누 어야 합 니 다.이것 이 바로 우리 가 왜 데이터 구조의 의 미 를 배 워 야 하 는 지 하 는 것 이다.
우 리 는 여러 차례 관 계 를 언급 했 는데,도대체 어떤 관계 인지,우리 아래 를 내 려 다 볼 까요?
논리 구조 와 물리 구조
우리 가 보 는 방식 에 따라 논리 구조 와 물리 구조 로 나 뉜 다.
논리 구조
논리 구조:데이터 대상 에서 데이터 요소 간 의 상호 관 계 를 말한다.
이것 도 사실 우리 가 가장 관심 을 가 져 야 할 것 이다.논리 구 조 는 다음 과 같은 네 가지 로 나 뉜 다.
집합 구조
집합 구조 중의 데이터 요 소 는 같은 집합 에 속 하 는 것 을 제외 하고 그들 사이 에는 아무런 관계 가 없다.각 데이터 요 소 는 평등 하 다.그들의 공 통 된 속성 은 같은 집합 에 속 하 는 것 이다.
예 를 들 어,너 와 너의 대학 동창 은 모두 같은 교실 에 있 지만,너 는 그들 과 그리 잘 알 지 못 한다.
데이터 구조 에서 집합 은 수학 에서 의 집합 과 매우 유사 하 다.이렇게 생 겼 다.
在这里插入图片描述
선형 구조
이것 은 이해 하기 쉽다.바로 일대일 의 관계 로 한 줄 로 늘 어선 것 과 유사 하 다.이렇게 생 겼 어 요.
在这里插入图片描述
나무 구조
데이터 요 소 는 나무 처럼 배치 되 어 있 고 데이터 요 소 는 한 쌍 이 많은 형식 으로 정 해 져 있다.
在这里插入图片描述
도형 구조
요소 와 요소 사 이 를 선 으로 연결 하고 특정한 요 소 를 가리 키 는 경우 방향 화살표 로 연결 합 니 다.같은 집합 내 에 있 으 며,배치 순 서 는 난잡 하 다.
在这里插入图片描述
그래서 논리 구 조 는 구체 적 인 문 제 를 겨냥 하고 문 제 를 해결 하기 위 한 것 임 을 알 수 있다.그래서 이 를 바탕 으로 우 리 는 적당 한 데이터 구 조 를 선택해 야 한다.
물리 구조
우 리 는 위 에서 논리 구 조 를 이야기 하고 대체적인 속성 이 무엇 인지 알 게 되 었 다.우리 또 다른 물리 구 조 를 보 자.
물리 구 조 는 다른 책 에서 도 저장 구조 라 고 부 르 는 것 같 지만 차이 가 많 지 않 고 뜻 이 비슷 하 다.
물리 구조:데이터 의 논리 구조 가 컴퓨터 에 저장 되 는 형식 을 말한다.
앞에서 알 았 듯 이 데 이 터 는 데이터 요소 의 집합 이다.그러면 물리 구조의 정의 에 따라 실제 적 으로 데이터 요 소 를 컴퓨터 의 메모리 에 저장 하 는 방법 은 주로 메모리 에 대한 것 이다.예 를 들 어 하 드 디스크,시디롬 등 이다.
데이터 의 저장 구 조 는 데이터 요소 간 의 논리 관 계 를 정확하게 반영 하 는 것 이 가장 관건 이다.데이터 요소 간 의 논리 관 계 를 구체 적 으로 저장 하 는 것 이 물리 구조의 중요 한 난점 이다.
데이터 요소 저장 형식 은 두 가지 가 있 는데 그것 이 바로 순서 저장 과 체인 저장 이다.
순차 기억 장치
데이터 요 소 를 주소 연속 저장 장치 에 저장 하면 데이터 의 논리 적 관계 와 물리 적 관 계 는 일치 합 니 다.
在这里插入图片描述
마치 네가 식당 에 가서 밥 을 먹고 줄 을 서서 아무 도 새치기 하지 말 라 는 것 과 같다.
우리 가 컴퓨터 를 처음 배 울 때,당신 이 배열 을 만 들 려 고 할 때,컴퓨터 는 당신 이 지정 한 길이 에 따라 공간 을 열 고,하나씩 저장 할 것 입 니 다.
체인 메모리 구조
세상 만물 이 이렇게 순서 가 있 었 으 면 좋 겠 다.그런데 말 도 안 돼.
실제로 늘 새치기 하 는 사람 도 있 고 줄 을 서지 않 는 사람 도 있 는데 갑자기 가 버 렸 다.만약 우리 가 여전히 순서대로 저장한다 면,의심 할 여지없이 공간 을 낭비 하 는 것 이다.그래서 우 리 는 체인 저장 소 를 선택 했다.
체인 식 저장 구조:데이터 요 소 를 임의의 저장 장치 에 저장 하면 연속 일 수도 있 고 불 연속 일 수도 있다.
이렇게 되면 데이터 의 저장 관 계 는 논리 적 관 계 를 반영 하지 못 한다.모두 난잡 하기 때문이다.그래서 우 리 는 지침 과 유사 한 색인 이 필요 하 다.모든 요 소 는 자신의 주소 가 있 습 니 다:
在这里插入图片描述
논리 구 조 는 데 이 터 를 대상 으로 하고 물리 구 조 는 컴퓨터 를 대상 으로 한다.그래서 그의 기본 목 표 는 데 이 터 를 컴퓨터 에 저장 하 는 것 이다.
추상 데이터 형식
우 리 는 추상 적 인 데이터 형식 을 볼 때 먼저 데이터 형식 이 무엇 인지 살 펴 본다.
데이터 형식:같은 성질 의 값 의 집합 과 이 집합 에서 의 일부 조작 을 정의 하 는 총칭 을 말한다.
자바 에는 int string boolean 등 이 있 습 니 다.
당초 컴퓨터 언어 를 설계 한 사람 은 왜 데이터 형식 을 설계 해 야 합 니까?
예 를 들 어 모두 집 을 사 야 한다.자 연 스 럽 게 큰 집 을 사고 싶 은 사람 도 있 고 작은 집 을 사고 싶 은 사람 도 있 고 집 을 살 수 없 는 사람 도 있다(예 를 들 어 나).
그래서 별장,작은 가구 등 다양한 집 이 나 왔 습 니 다.
마찬가지 로 컴퓨터 도 무한대 가 아니다.예 를 들 어 1+1 과 같은 간단 한 가감 법 만 계산 하려 면 그렇게 큰 메모리 공간 이 필요 없다.그래서 컴퓨터 연구자 들 은 구체 적 인 데이터 유형 을 세분 화 하 는 것 을 고려 했다.
게다가 컴퓨터 에 서로 다른 운영 체제 가 있 기 때문에 우 리 는 모든 컴퓨터 에 컴퓨터 언어 를 만 들 수 없다.우 리 는 이러한 공 통 된 속성 을 추출 하여 추상 체 로 삼 을 수 있다.
추상 은 사물 이 가지 고 있 는 보편성 을 추출 하 는 성질 을 가리킨다
추상 은 일종 의 사유 이지 구체 적 인 형식 이 아니다.
추상 적 인 데이터 형식:수학 모델 과 이 모델 에 정 의 된 조작 을 말한다.
추상 적 인 데 이 터 는 여전히 정 의 된 논리 적 관계 이 며 사물 자체 와 는 무관 하 다.
사실은 추상 적 인 데이터 유형 은 프로그램 디자인 에서 문제 의 분해,추상 과 정보 가 숨겨 진 특성 을 나 타 냈 다.
추상 적 인 데이터 유형 은 실제 생활 에서 의 문 제 를 여러 개의 규모 가 작고 처리 하기 쉬 운 문제 로 분해 한 다음 에 컴퓨터 가 처리 할 수 있 는 데이터 모델 을 구축한다.그리고 모든 기능 모듈 의 실현 디 테 일 을 독립 된 단원 으로 하여 구체 적 인 실현 과정 을 숨 깁 니 다.
예 를 들 어 자바 에서 당신 은 먼저 모델 층 을 정의 하여 특정한 모델 을 가리킨다.
총결산
따라서 데이터 구 조 는 서로 한 가지 또는 여러 가지 특정한 관계 가 존재 하 는 데이터 요소 의 집합 이다.같은 구조 이지 만 다른 표현 형식 이 있다.
논리 구조
집합 구조
선형 구조
나무 구조
도형 구조
물리 구조
순서 저장 구조
체인 저장 구조
이 글 은 여기까지 입 니 다.당신 에 게 도움 을 줄 수 있 기 를 바 랍 니 다.또한 당신 이 우리 의 더 많은 내용 에 관심 을 가 질 수 있 기 를 바 랍 니 다!

좋은 웹페이지 즐겨찾기