V. MỘT SỐ BĂI TOÂN TRÍN ÐỒ THỊ
B. DANH SÂCH LIÍN KẾT KĨP
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óạ
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 trạ
Băi Thực Tập Số 3 : CẤU TRÚC NGĂN XẾP (STACK) & HĂNG (QUEUE) TOP
Ứ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 Queuẹ 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.
6. Viết chương trình con lấy nội dung của phần tử tại đỉnh của 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 Queuẹ 10. Viết thủ tục xóa một phần tử khỏi Queuẹ
11. Viết chương trình con lấy nội dung của phần tử tại đỉnh của Queuẹ 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 }
Begin
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
While (Uutien(Top(S))<=Uutien(x))and (Top(S)<>'(') do
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
TOP
( Cđy Nhị Phđn - Cđy Biểu Thức - Cđy Tìm Kiếm Nhị Phđn )
Ạ CĐY BIỂU THỨC
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í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.
6. Viết hăm xâc định số nút trong cđỵ 7. Thiết kế hăm xâc định chiều cao của cđỵ 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đỵ
B. CĐY TÌM KIẾM NHỊ PHĐN
Viết chương trình căi đặt một cđy tìm kiếm nhị phđn (nhên của mỗi nút được nhập từ băn phím) .
Yíu cầu chi tiết:
1. Viết phần khai bâo để căi đặt một cđy tìm kiếm nhị phđn. 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. Viết thủ tục xen một nút văo cđy tìm kiếm nhị phđn. 5. Viết thủ tục xóa một nút trong cđy tìm kiếm nhị phđn.
6. Viết thủ tục nhập một cđy tìm kiếm nhị phđn với nhản của câc nút của cđy được nhập văo từ băn phím.
7. 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.
8. Viết hăm xâc định số nút trong cđỵ 9. Thiết kế hăm xâc định chiều cao của cđỵ 10. Viết hăm xâc định mức của một nút trong cđỵ
Băi Thực Tập Số 5 : CẤU TRÚC CĐY ( Cđy Tổng Quât)
TOP ( Viết chương trình căi đặt một cđy tổng quât ( dùng mảng hay con trỏ ).
Yíu cầu chi tiết:
1. Viết phần khai bâo để căi đặt một 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. Viết thủ tục nhập một cđy với nhản của câc nút của cđy được nhập từ băn phím. 5. Viết câc thủ tục duyệt cđy:
Duyệt tiền tự. Duyệt trung tự. Duyệt hậu tự.
Duyệt theo mức.
6. Viết hăm xâc định số nút trong cđỵ 7. Thiết kế hăm xâc định chiều cao của cđỵ
8. Viết hăm xâc định mức của một nút trong cđy (nút đầu tiín có nhản cần xâc định). 9. Thiết lập một hăm kiểm tra sự hiện hữu của một nút năo đó trong cđỵ
10. Thiết lập hăm xâc định nhản của nút con trâi nhất của một nút với nhản của nút được nhập từ băn phím.
11. Thiết lập hăm xâc định nhản của nút anh ruột phải của một nút với nhản của nút được nhập từ băn phím.
12. Thiết lập hăm xâc định nhản của nút cha của một nút với nhản của nút với nhản của nút được nhập từ băn phím.
Băi Thực Tập Số 6: CẤU TRÚC TẬP HỢP- TỰ ÐIỂN - BẢNG BĂM TOP
( Viết chương trình căi đặt một tự điển Anh - Việt đơn giản. ( có thể dùng bảng băm đóng hay mở để giải quyết đụng độ).
Yíu cầu chi tiết:
1. Viết phần khai bâo để căi đặt một tự điển Anh Việt. 2. Viết thủ tục khởi tạo tự điển rỗng.
3. Viết hăm kiểm tra tự điển rỗng.
4. Viết thủ tục nhập nội dung cho tự điển.
5. Thiết lập thủ tục thím một từ mới văo tự điển. 6. Thiết lập thủ tục xóa một từ ra khỏi tự điển.
7. Viết hăm xâc định sự tồn tại của một từ trong tự điển.
8. Tra cứu tự điển. Nhập từ cần tìm bằng tiếng Việt từ măn hình, hiển thị ý nghĩa bằng tiếng Anh của từ đó ra măn hình.