1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo bài tập lớn cấu trúc dữ liệu và giải thuật sắp xếp danh sách liên kết đơn

11 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Sắp xếp danh sách liên kết đơn
Tác giả Phan Thị Hải Yến, Hoàng Thị Tú Quyên, Trần Yến Vy, Nguyễn Thị Thảo Trang
Người hướng dẫn ThS. Giang Thị Thu Huyền
Trường học Học Viện Ngân Hàng
Chuyên ngành Cấu trúc dữ liệu và giải thuật
Thể loại Báo cáo bài tập lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 11
Dung lượng 0,96 MB

Nội dung

DANH SÁCH THÀNH VIÊNST... Danh sách liên kết đơn...1II... I.Danh sách liên kết đơnDanh sách liên kết đơn Single linked list là một tập hợp các Node được phân bốđộng, được sắp xếp theo cá

Trang 1

HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

-BÁO CÁO BÀI TẬP LỚN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT

SẮP XẾP DANH SÁCH LIÊN KẾT ĐƠN

Giảng viên hướng dẫn: ThS Giang Thị Thu Huyền

Nhóm sinh viên thực hiện

Hoàng Thị Tú Quyên 24A4041434

Phan Thị Hải Yến

Trần Yến Vy

Nguyễn Thị Thảo Trang

Trang 2

DANH SÁCH THÀNH VIÊN ST

Mức độ

1 Phan Thị Hải Yến (nhóm

trưởng)

2 24A4041434 Hoàng Thị Tú Quyên

4 Nguyễn Thị Thảo Trang

Trang 3

MỤC LỤC

I Danh sách liên kết đơn 1

II Sắp xếp danh sách liên kết đơn 1

1 Giới thiệu 1

2 Ý tưởng 2

3 Thuật toán 2

4 Cài đặt thuật toán 3

5 Minh họa thuật toán 4

6 Độ phức tạp của thuật toán 5

TÀI LIỆU THAM KHẢO 6

Trang 4

DANH MỤC HÌNH ẢNH

Hình 1: Cấu trúc của 1 node 1

Hình 2: Minh họa 1 danh sách liên kết đơn 1

Hình 3: Minh họa thay đổi Data ở Node 2

Hình 4: Minh họa thuật toán sắp xếp danh sách liên kết đơn với Interchange Sort 4

Trang 5

I Danh sách liên kết đơn

Danh sách liên kết đơn (Single linked list) là một tập hợp các Node được phân bố

động, được sắp xếp theo cách sao cho mỗi Node chứa một giá trị (Data) và một con trỏ

(Next) Con trỏ sẽ trỏ đến phần tử kế tiếp của danh sách liên kết đó Nếu con trỏ mà trỏ

tới NULL, nghĩa là đó là phần tử cuối cùng của linked list

Hình 1: Cấu trúc của 1 node

Hình 2: Minh họa 1 danh sách liên kết đơn

1 Giới thiệu

- Một trong những cách để sắp xếp danh sách liên kết đơn đó là hoán vị nội dung các phần tử trong danh sách (thao tác trên vùng Info)-chỉ so sánh các giá trị Data rồi sắp xếp, các node vẫn giữ nguyên không dịch chuyển

- Với phương án này có thể chọn 1 trong những thuật toán sắp xếp đã biết để cài đặt lại trên xâu như thực hiện trên mảng.-Ở đây dùng thuật toán đổi chỗ trực tiếp-Interchange sort

Trang 6

2 Ý tưởng

Xuất phát từ node đầu tiên của danh sách liên kết, tìm tất cả các nghịch thế chứa node này xét với phần data, triệt tiêu chúng bằng cách đổi chỗ 2 phần tử data trong cặp nghịch thế

Lặp lại xử lý trên với node kế trong danh sách

3 Thuật toán

B1: Khởi tạo nút i, j để duyệt danh sách: Node *i, *j;

i = l.pHead; // gán i là địa chỉ nút đầu tiên trong dãy

j=i->pNext; // j là địa chỉ của nút tiếp theo

B2: Duyệt từ đầu đến cuối danh sách: Tìm các nghịch thế với data ở i

B3: Trong khi j khác NULL thì thực hiện: Xét cặp data ở địa chỉ i và j

Nếu data ở i > data ở j (i->data.n>j->data.n) // thì đổi chỗ

swapData(i->data, j->data);

Sau mỗi lần duyệt tăng j lên 1 đơn vị để tiếp tục duyệt

B4: Tăng i lên 1 đơn vị và tiếp tục duyệt

Nếu i còn khác l.pTail - địa chỉ của node cuối cùng trong danh sách thì lặp lại bước

2, ngược lại-> dừng

2 Hình 3: Minh họa thay đổi Data ở Node

Trang 7

4 Cài đặt thuật toán

void swapData(int &a,int &b)

{

int tg=a.n;

a.n=b.n;

b.n=tg;

}

void InterchangeSort_Data(List &l)

{

node *i,*j;

for(Node *i=l.pHead; i!=l.pTail; i=i->pNext)

for(Node *j=i->pNext; j!=NULL; j=j->pNext) if(i->data.n>j->data.n)

swapData(i->data,j->data);

}

Trang 8

5 Minh họa thuật toán

VD: 12 2 8 1 6 4

4

Trang 9

Hình 4: Minh họa thuật toán sắp xếp danh sách liên kết đơn với Interchange Sort

6 Độ phức tạp của thuật toán

Trường hợp Số lần so sánh Số lần hoán vị

Trang 10

Xấu nhất n*(n-1)/2 n*(n-1)/2

6

Trang 11

TÀI LIỆU THAM KHẢO

1.Slide bài giảng “Cấu trúc dữ liệu và giải thuật”, khoa Hệ thống thông tin quản

lý, Học viện Ngân hàng

https://viettruong92.blogspot.com/2011/12/ham-sap-xep-tang-dan-trong-danh-sach.html

Ngày đăng: 19/06/2024, 17:03

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w