알고리즘 - 연속 및 연결된 목록

왜 목록인가?

목록은 다음과 같이 일상 생활에서 자주 볼 수 있습니다.
  • 대기실에 있는 사람들.
  • 전문 분야에 등록한 학생.
  • 자동차가 빨간불을 기다리고 있습니다.
  • etc.
목표는 이러한 실제 사례를 표현하고 컴퓨터 과학에서 처리하는 것입니다.

목록의 특징은 무엇입니까?

  • 순차적으로 처리됩니다.
  • 양쪽 끝으로 구분 < 머리> 및 < queue>입니다.
  • 요소를 추가하거나 제거할 수 있습니다.
  • 동적 구조(크기는 다양함).
표현

1 - 연속 표현

배열 T[1..max]로 목록을 나타낼 수 있지만 그 구조는 정적입니다 (선언에서 정의 할 때 크기가 고정되어 있음).


< / span >< / a>< / div>< / a>

목록 유형: Article
                  {
                      T : 요소의 배열 [1..lmax]
                        길이: 0..lmax
                  }

가장 중요한 작업


      장점

      • 직접 액세스.
      • 목록 끝에 삭제 및 삽입.
      • 쉬운 구현.

      단점

      • 길이를 변경하는 방법을 알아야합니다.
      • 삭제 및 삽입에는 오프셋이 포함됩니다.

      2- 표현  체인 

      일련의 링크(블록)로 구성되며 각 링크는
      • 요소 field.
      • 다음을 가리키는 주소 필드.

        • L: 첫 번째 링크에 대한 포인터.
          빈 연결 목록은 L=null.

          ptr 유형: 링크 포인터
          링크 유형: article
                                {
                                      골짜기; element
                                      링크: ptr
                                 }
          chainlisted< 유형: link/span>
          var L: chainlisted

          가장 중요한 작업

          • 코스.
            • 프로 시저 경로 (L : 목록) < / span>< / div>
              상위
                  PP := L.link //  머리  de L
                  pp != null
                  faire
                      treat(L.T[i])
                      pp : = * pp.link< / span >< / div>
                  finfaire
                Fin


            장점

            • 순차 경로.
            • 링크를 제거했습니다.
            • 링크 삽입.

            단점

            • 요소에 대한 간접 액세스는 i-1 링크를 통해   i  maillon.
            • 링크의 메모리 공간 손실.
        Advertisement

        AdBlock Detected

        Please disable your ad blocker and refresh the window to use this website.