Агуулгын хүснэгт:

Би дангаар нь холбосон жагсаалтыг хэрхэн эрэмбэлэх вэ?
Би дангаар нь холбосон жагсаалтыг хэрхэн эрэмбэлэх вэ?

Видео: Би дангаар нь холбосон жагсаалтыг хэрхэн эрэмбэлэх вэ?

Видео: Би дангаар нь холбосон жагсаалтыг хэрхэн эрэмбэлэх вэ?
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Арваннэгдүгээр
Anonim

Доорх нь энгийн оруулга юм ангилах зориулсан алгоритм холбогдсон жагсаалт . 1) Хоосон зүйл үүсгэх эрэмбэлсэн (эсвэл үр дүн) жагсаалт 2) Өгөгдсөн хэсгийг тойруул жагсаалт , зангилаа бүрд дараах зүйлийг хийнэ үү. a) Одоогийн зангилаа оруулна эрэмбэлсэн орох зам эрэмбэлсэн эсвэл үр дүн жагсаалт . 3) Өгөгдсөн толгойг өөрчлөх холбогдсон жагсаалт толгой руу эрэмбэлсэн (эсвэл үр дүн) жагсаалт.

Үүнтэй холбогдуулан та холбосон жагсаалтыг эрэмбэлж чадах уу?

Нэгтгэх ангилах ихэвчлэн илүүд үздэг холбосон жагсаалтыг эрэмбэлэх . Санамсаргүй хандалтын удаан гүйцэтгэл нь a холбогдсон жагсаалт бусад алгоритмуудыг (шуурхай эрэмбэлэх гэх мэт) муу гүйцэтгэлтэй, заримыг нь (жишээ нь, heapsort) бүрэн боломжгүй болгодог. Толгой нь эхний зангилаа байг холбогдсон жагсаалт эрэмбэлэх ба headRef нь толгой руу чиглүүлэх.

Хоёрдугаарт, хөөсөөр эрэмбэлэх ашиглан холбогдсон жагсаалтыг хэрхэн эрэмбэлэх вэ? Бөмбөлөг эрэмбэлэхийн тулд бид дараах алхмуудыг хийнэ.

  1. Алхам 1: Зэргэлдээх 2 зангилааны өгөгдөл өсөх дарааллаар байгаа эсэхийг шалгана уу. Хэрэв үгүй бол зэргэлдээх 2 зангилааны өгөгдлийг солино уу.
  2. Алхам 2: 1-р дамжуулалтын төгсгөлд хамгийн том элемент нь жагсаалтын төгсгөлд байх болно.
  3. Алхам 3: Бүх элементүүд эхлэхэд бид гогцоог дуусгана.

Тэгэхээр та холбосон жагсаалт дахь өгөгдлийг хэрхэн эрэмбэлэх вэ?

Алгоритм

  1. Дата ба дараагийн гэсэн хоёр шинж чанартай зангилаа үүсгэнэ үү.
  2. Толгой ба сүүл гэсэн хоёр шинж чанартай SortList өөр анги үүсгэ.
  3. addNode() нь жагсаалтад шинэ зангилаа нэмнэ:
  4. sortList() нь жагсаалтын зангилаануудыг өсөх дарааллаар эрэмбэлнэ.
  5. display() нь жагсаалтад байгаа цэгүүдийг харуулах болно:

Би холбосон жагсаалтыг цагаан толгойн дарааллаар хэрхэн эрэмбэлэх вэ?

Эрэмбэлэх мөр LinkedList Java хэл дээр хялбар байдаг. Чи чадна ангилах мөр LinkedList өгсөхдөө цагаан толгойн дараалал ашиглах замаар ангилах ( Жагсаалтын жагсаалт ). Та бас чадна ангилах мөр LinkedList уруудаж байна цагаан толгойн дараалал ашиглах замаар ангилах ( Жагсаалтын жагсаалт , Харьцуулагч c).

Зөвлөмж болгож буй: