Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 19

Chủ đề 1: Câu 4.

Bubble Sort
a.Mô tả giải thuật.
Giả sử chúng ta có một mảng không có thứ tự gồm các phần tử như dưới
đây. Bây giờ chúng ta sử dụng giải thuật Bubble Sort (sắp xếp nổi bọt) để
sắp xếp mảng này.
12, 30, 22, 40, 8
Giải thuật sắp xếp nổi bọt bắt đầu với hai phần tử đầu tiên, so sánh chúng
để kiểm tra xem phần tử nào lớn hơn.
12, 30, 22, 40, 8
Trong trường hợp này, 30 lớn hơn 12, do đó hai phần tử này đã theo thứ
tự. Tiếp đó chúng ta so sánh 30 và 22.
12, 30, 22, 40, 8
Chúng ta thấy rằng 30 lớn hơn 22, do đó hai giá trị này cần được tráo đổi
thứ tự.
Mảng mới thu được sẽ như sau:
12, 22, 30, 40, 8
Tiếp đó chúng ta so sánh 30 và 40. Hai giá trị này đã theo thứ tự.
12, 22, 30, 40, 8
Sau đó chúng ta so sánh hai giá trị kế tiếp là 40 và 8.
12, 22, 30, 40, 8
Vì 8 nhỏ hơn 40 nên hai giá trị này chưa theo thứ tự.
Tráo đổi thứ tự hai giá trị. Chúng ta đã tiến tới cuối mảng. Vậy sau một
vòng lặp, mảng sẽ như sau:
12, 22, 30, 8, 40
Tiếp theo em sẽ hiển thị hình ảnh của mảng sau từng vòng lặp. Sau lần lặp
thứ hai, mảng sẽ giống như:
12, 22, 8, 30, 40
Sau mỗi vòng lặp, ít nhất một giá trị sẽ di chuyển tới vị trí cuối. Sau vòng
lặp thứ 3, mảng sẽ trông giống như:
12, 8, 22, 30, 40
Và khi không cần tráo đổi thứ tự phần tử nào nữa, giải thuật sắp xếp nổi
bọt thấy rằng mảng đã được sắp xếp xong.
8, 12, 22, 30, 40
b.Tính độ phức tạp.
Giải thuật này không thích hợp với các tệp dữ liệu lớn khi mà độ khó

Giải thuật này không thích hợp với các tập dữ liệu lớn khi mà độ phức tạp
trường hợp xấu nhất và trường hợp trung bình là O(n2)
Chủ đề 3: Câu 5 Viết chương trình con chuyển đổi biểu thức từ trung tố
(không đầy đủ dấu ngoặc) sang hậu tố.

Chủ đề 4: Cây BST


23.Vẽ lại hình ảnh của cây BST khi thêm các node có thứ tự:
[20, 28, 14, 12, 22, 18, 10, 26, 24, 16]
Sau đó lần lượt xóa các node theo thứ tự 12, 18, 24
Bước 1

Bước 2
Bước 3

Bước 4

Bước 5

Bước 6
Bước 7

Bước 8

Bước 9
Bước 10

Xóa Node 12
Xóa Node 18

Xóa Node 24
Chủ đề 5: Câu 20 Vẽ lại hình ảnh của cây AVL khi thêm các node có thứ
tự:
[12, 14, 18, 16, 10, 20, 24, 26, 22, 28]
Sau đó lần lượt xóa các node theo thứ tự 12, 18, 24
Xóa các node theo thứ tự 12, 18, 24
- Để xóa node 12 trên cây thì em sẽ chọn số nhỏ nhất bên nhánh phải
lên thay thế nhằm không làm ảnh hưởng đến cấu trúc của cây
- Quan sát thấy thì số 14 bên nhánh phải là số nhỏ nhất nên e sẽ đưa
số 14 lên thay thế số 12
- Tiếp theo, để xóa node 18 em sẽ chọn số lớn nhất bên nhánh trái là
số 16 để thay thế tiếp nhằm không làm ảnh hưởng đến cấu trúc của
cây

- Cuối cùng, xóa node 24 em sẽ chọn số nhỏ nhất bên nhánh phải của
cây là node 26 để thay thế

Chủ đề 6: Đồ thị và biểu diễn đồ thị


5. Hãy biểu diễn đồ thị sau sử dụng ma trận kề
Hãy biểu diễn đồ thị sau sử dụng ma trận trọng số
Chủ đề 7: Câu 1 Đường đi và chu trình
Tìm chu trình Euler cho đồ thị sau:

1. Thực hiện từng bước giải thuật Fleury tìm chu trình Euler cho đồ thị bắt đầu
ở đỉnh 1
Chủ đề 8: Duyệt đồ thị
3. Mô tả các bước duyệt đồ thị theo chiều rộng và chiều sâu bắt đầu từ đỉnh 3
Chiều rộng: 3,1,4,2,5,9,6,8,7

Chiều sâu:3,1,2,5,7,8,4,9,6
Chủ đề 9: Câu 2 Cây bao trùm và cây bao trùm nhỏ nhất

1. Tìm cây bao trùm nhỏ nhất bằng thuật toán Kruskal, và thuật toán Prim
a. Kruskal

b. Prim
Chủ đề 10: Đường đi ngắn nhất
3. Mô tả các bước tuật toán Dijkstra tìm đường đi ngắn nhất từ đỉnh 1 đến các
đỉnh còn lại
a:là trọng số dường đi từ dỉnh 1 đến u
u(a,b)* b:là đỉnh trước u
*:là đỉnh có trọng số đường đi nhỏ nhất

1 2 3 4 5 6 7 8 9
1 (0,1) (5,1) (4,1)* (-,1) (-,1) (-,1) (-,1) (-,1) (-,1)
2 - (5,1)* - (5,3) (-,1) (-,1) (-,1) (-,1) (10,3)
3 - - - (5,3)* (-,1) (-,1) (-,1) (6,2) (10,3)
4 - - - - (-,1) (7,4) (-,1) (6,2)* (10,3)
5 - - - - (8,8) (7,4)* (13,8) - (10,3)
6 - - - - (8,8)* - (13,8) - (10,3)
7 - - - - - - (13,8) - (10,3)*
8 - - - - - - (13,8)* - -
9 - - - - - - - - -

D2=5 1->2
D3=4 1->3
D4=5 1->3->4
D5=8 1->2->8->5
D6=7 1->3->4->6
D7=13 1->2->8->7
D8=6 1->2->8
D9=10 1->3->9

You might also like