DANH SÁCH LIấN KẾT KẫP

Một phần của tài liệu giáo trình cấu trúc dữ liệu (Trang 99 - 104)

Viết chương trỡnh lưu trữ một danh sỏch cỏc số nguyờn, sắp xếp danh sỏch theo thứ tự (tăng hoặc giảm), trộn 2 danh sỏch cú thứ tự để được một danh sỏch mới cú thứ tự.

Yờu cầu chi tiết:

1. Viết cỏc khai bỏo cần thiết để cài đặt một danh sỏch cỏc số nguyờn. 2. Viết thủ tục khởi tạo một danh sỏch rỗng.

3. Viết hàm kiểm tra danh sỏch rỗng. 4. Viết thủ tục nhập một danh sỏch.

5. Viết thủ tục hiển thị danh sỏch ra màn hỡnh.

6. Viết thủ tục sắp xếp danh sỏch theo thứ tự (tăng hoặc giảm).

7. Xen một phần tử mới x vào danh sỏch sau cho danh sỏch mới vẫn bảo đảm thứ tự.

8. Xúa một phần tử x ra khỏi danh sỏch sao cho danh sỏch mới vẫn bảo đảm thứ tự.

9. viết thủ tục trộn 2 danh sỏch đó cú thứ tự thành một danh sỏch mới sao cho danh sỏch mới vẫn bảo đảm thứ tự.

Viết chương trỡnh nhập vào một danh sỏch cỏc số nguyờn và thực hiện cỏc yờu cầu sau:

Hiển thị danh sỏch vừa nhập.

Sắp xếp danh sỏch theo thứ tự. Hiển thị danh sỏch sau khi sắp xếp. Xen một phần tử mới vào danh sỏch. Hiển thị danh sỏch mới sau khi xen.

Xúa một phần tử khỏi danh sỏch. Hiển thị danh sỏch mới sau khi xúa.

Nhập 2 danh sỏch, sắp xếp 2 danh sỏch theo thứ tự, sau đú trộn 2 danh sỏch này để được một danh sỏch mới cũng cú thứ tự. Hiển thị danh sỏch mới ra màn hỡnh để kiểm tra.

Bài Thực Tập Số 3 : CẤU TRÚC NGĂN XẾP (STACK) & HÀNG (QUEUE)

Ứng dụng ngăn xếp (Stack) và hàng Queue để viết chương trỡnh biến đổi biểu thức trung tố thành tiền tố và hậu tố.

Viết chương trỡnh tớnh giỏ trị của biểu thức tiền tố và hậu tố.

Yờu cầu chi tiết:

1. Viết cỏc khai bỏo cần thiết để cài đặt một Stack, một Queue. 2. Viết thủ tục khởi tạo một Stack rỗng.

3. Viết hàm kiểm tra Stack rỗng.

4. Viết thủ tục thờm một phần tử vào Stack. 5. Viết thủ tục xúa một phần tử khỏi Stack.

7. Viết thủ tục khởi tạo một Queue rỗng. 8. Viết hàm kiểm tra Queue rỗng.

9. Viết thủ tục thờm một phần tử vào Queue. 10. Viết thủ tục xúa một phần tử khỏi Queue.

11. Viết chương trỡnh con lấy nội dung của phần tử tại đỉnh của Queue. 12. Viết chương trỡnh con đổi biểu thức từ dạng trung tố sang dạng tiền tố. 13. Viết chương trỡnh con đổi biểu thức từ dạng trung tố sang dạng hậu tố. 14. Viết chương trỡnh con tớnh giỏ trị của biểu thức tiền tố.

15. Viết chương trỡnh con tớnh giỏ trị của biểu thức hậu tố.

• Giải thuật chuyển đổi biểu thức từ dạng trung tố sang dạng hậu tố Procedure HAUTO ( BT: Biểu thức trung tố ; Var HT: Hàng chứa biểu thức hậu tố sau khi đổi }

Begin

MakeNullS(S); { Tạo một Stack rỗng } MakeNullQ(S); { Tạo một Queue rỗng } x = Phần tử đầu tiờn trong biểu thức trung tố While chưa xột hết biểu thức trung tố do Begin

If x = '(' then Push (x,S) { thờm x vào Stack }

If x = ')' then

Begin (adsbygoogle = window.adsbygoogle || []).push({});

While (Not Empty(S)) and (Top(S)<> '(') do

Begin

Y:= Top (S);EnQueue(y,Q); {Thờm Y vào hàng} Pop(S); {xúa phần tử tại đỉnh Stack}

End;

If EmptyS(S) then bỏo lỗi Stack rỗng

Else Pop(S) { xúa phần tử tại đỉnh Stack } End; { If }

If < x là một toỏn tử > then

If EmptyS(S) then Push (x,S) {thờm x vào Stack}

Else

Begin

Begin Y:= Top(S); Enqueue(Y,Q); Pop(S); End; Push(x,S); End; If < x là một toỏn hạng > then EnQueue(x,Q);

X = phần tử kế tiếp trong biểu thức trung tố End; { While }

While Not EmptyS(S) do

Begin Y:= Top(S); Enqueue(Y,Q); Pop(S); End; End; { Thủ tục }

• Trong đú hàm Uutien trả về thứ tự ưu tiờn của cỏc toỏn tử như sau:

Toỏn tử ( , ) * , / + , -

Thứ tự ưu tiờn 1 2 3

Bài Thực Tập Số 4 : CẤU TRÚC CÂY

Viết chương trỡnh cài đặt một cõy biểu thức, tớnh trị của cõy biểu thức này.

Yờu cầu chi tiết:

1. Viết phần khai bỏo để cài đặt một cõy biểu thức. 2. Viết thủ tục khởi tạo cõy rỗng.

3. Viết hàm kiểm tra cõy rỗng.

4. Thiết kế hàm tạo cõy từ cõy con trỏi L, cõy con phải R và nhón của nỳt n, bằng cỏch xem đõy là cú nỳt gốc là n và 2 cõy con tương ứng là L (con trỏi) và R(con phải).

5. Viết cỏc thủ tục duyệt cõy:

Duyệt tiền tự, trung tự, hậu tự . Duyệt theo mức.

7. Thiết kế hàm xỏc định chiều cao của cõy. 8. Viết hàm tớnh giỏ trị của cõy biểu thức.

9. Viết hàm xỏc định mức của một nỳt trong cõy.

TÀI LIỆU THAM KHẢO

1. Cấu trỳc Dữ liệu & Thuật toỏn

Tg: TS Đinh Mạnh Tường; NXB: Khoa học và Kỹ thuật - 2003 2. Cấu trỳc Dữ liệu + Giải thuật = Chương trỡnh (adsbygoogle = window.adsbygoogle || []).push({});

Tg: Nguyễn Quốc Cường, Hoàng Đức Hải; NXB: Giỏo Dục - 1999 3. Cấu trỳc Dữ liệu và Giải thuật

Tg: Đỗ Xuõn Lụi; NXB: Giỏo Dục - 1993 4. Cơ sở toỏn trong lập trỡnh

Tg: Pgs, Pts Đỗ Đức Giỏo; NXB: Khoa học và Kỹ thuật - 1998 5. Lập trỡnh nõng cao bằng PASCAL với cỏc cấu trỳc Dữ liệu (2 tập)

Tg: Larry Nyhoff - Sanford Leedstma; NXB: Đà nẵng - 1998 6. Giỏo trỡnh thuật toỏn

Tg: Thomat H.Cormen, Charles E.Leiserson, Ronal L.Rivest; NXB: Thống kờ - 2002

Một phần của tài liệu giáo trình cấu trúc dữ liệu (Trang 99 - 104)