배열과 연결리스트와의 차이는 장점과 단점을 요약

배열과 연결리스트는 메모리 스토리지의 성능이 동일하지 않습니다, 두 가지 기본 데이터 구조, 그래서 또한 자신의 특성을 가지고있다.

상기 메모리 위치에 저장된 연결 목록의 각 노드는 임의적이다. 

연결리스트와 배열 사이의 주요 차이점

요소 번호 (1)에 배열 고정되고, 연결리스트의 노드 수를 추가하거나 삭제할 수있다;

주홍 기억 부 (2)가 할당 될 때 어레이 소자 어레이 정의 응용 시스템의 노드 목록 저장 부에 동적으로 프로그램 실행 중 :

요소 서열 관계 (3) 배열의 배열 요소의 위치 (즉, 색인)에 의해 결정되고, 노드에서의 노드 간의 서열 관계를 반영하는 포인터를 포함한다.

(4)에서의 배열의 최대 길이는 설명 될 수있다, 그것은 메모리 공간을 많이 낭비 길이가 고정되지 않는다.

(5) 배열이리스트 적절하지 대표로 목록 처리 동작은 매우 빈번한 인 경우, 요소를 삽입, 삭제한다. 목록에서 구현하면 프로그램 명확한 구조 만들기, 치료 방법은 비교적 간단하다.

  예를 들어 삽입하는 작업을 완료하기 위해, 어레이리스트로 나타낸 모든 요소의 삽입이 후방 새로운 요소를 저장하기위한 위치 비워진 위치에 이동해야 후에 새로운 요소 목록의 중간에 삽입된다.

요소의 삭제가 전진 한 위치 이동 후에도 목록 연속 단위의 상대 위치를 유지하기 위해, 배열의 요소를 요소를 삭제. 목록 구현 목록. 노드 삽입 또는 삭제 이동 노드들의리스트를 링크가 더 이상 단순히 스토리지 노드의 실제 위치와는 독립적 인 노드와 연관된 후속 노드에 대한 포인터의 값을 변경함으로써, 필요 없다.

 

이 배열을 갖추고

  • 상기 메모리 어레이의 인접 영역이다. 
  • 배열이 첫 번째 회계 응용 프로그램 메모리 크기를 사용하기 전에, 공간을 예약 할 필요가 메모리 공간을 낭비 할 수있다. 
  • 당신이 메모리에 이전 버전이 움직임 뒤에 수, 위치 데이터를 데이터를 삽입 할 때, 데이터 데이터의 비 효율성을 삽입하고 삭제합니다.
  • 높은 랜덤 읽기 효율. 배열이 연속이기 때문에, 우리는 각 데이터의 메모리 주소가 주소 주어진 데이터를 직접 찾을 수 있습니다 알고 있습니다.
  • 그리고 그것은 확장에 도움이되지 않습니다, 배열의 배열의 정의 공간이 충분하지 않습니다 재정의합니다.

기능 목록

  • 어디 메모리에있을 수 있습니다, 그것은 지속적으로 필요하지 않습니다. 
  • 각각의 데이터는이 주소를 통해 다음 데이터를 찾기 위해 데이터의 다음의 메모리 주소를 저장한다. 첫 번째 사람은 두 번째 사람의 좌석 번호, 세 번째 좌석 번호 알려진 두 번째 사람을 알고 ......
  • 데이터 증가하고 쉽게 데이터를 삭제합니다. 개인은 바로 그런 세 번째 위치를 수행하는 개인에게로, 다시 앉을 수, 그는 단지 두 번째 사람에게 다음 라인에 원래의 세 번째 위치를 얻기 위해 두 번째 사람에게 자신의 자리를 넣어. 다른 사람들은 이동하지 않습니다.
  • 그들은 무작위 접근이 없기 때문에, 낮은 효율 데이터를 검색, 위치에 데이터 액세스에 첫 번째 데이터에 저장된 데이터의 다음의 주소를 찾기 위해 제 1 및 제 2 데이터의 데이터에 액세스하기 시작한다 등. 세 번째 사람을 찾으려면, 우리는 질문 최초의 사람에서 시작해야합니다.
  • 쉽게 확장을위한 크기를 지정하지 마십시오. 목록의 크기를 정의하지 않고, 데이터를 추가하거나 삭제할 수.

그들의 장점과 단점

어레이의 장점

  • 랜덤 액세스 및 강력한
  • 빨리 찾기

결점의 배열

  • 낮은 삽입과 삭제 효율
  • 메모리 낭비 할 수있다
  • 높은 메모리 공간 요구 사항은 충분한 연속 메모리 공간이 있어야합니다.
  • 배열의 크기는 고정되어 동적으로 확장 할 수 없습니다

장점의 목록

  • 삭제 속도를 삽입
  • 높은 메모리 사용률, 메모리가 낭비되지 않는다
  • 매우 유연한 확장 고정 된 크기는 없습니다.

목록의 단점

  • 임의 볼 수 없습니다, 우리는 첫 번째, 낮은 검색 효율에서 통과 시작해야합니다

추천

출처www.cnblogs.com/wzb0228/p/11670436.html