Bài toán tháp Hà Nội .... Có 3 cái cọc và trên một chiếc cọc đặt n cái đĩa với đường kính giảm dần.. Cần ít nhất bao nhiêu lần di chuyển để chuyển hết cả n đĩa sang cọc bêncạnh sao cho •
Trang 1
Trang 2
Bài toán tháp Hà Nội
Trang 3
Có 3 cái cọc và trên một chiếc cọc đặt n cái đĩa với đường kính giảm dần Cần ít nhất bao nhiêu lần di chuyển để chuyển hết cả n đĩa sang cọc bên
cạnh sao cho
• mỗi lần chỉ di chuyển một đĩa
• mỗi đĩa có thể dịch chuyển từ một cọc này sang một cọc khác bất
kỳ, nhưng không được để một chiếc đĩa lớn lên trên một chiếc đĩa khác có đường kính nhỏ hơn?
Trang 4
Trang 5
Công thức truy hồi chia để trị
n D 3 disks.
2
3
4 Figure 10.3 A recursive solution to the Towers of Hanoi problem.
Hình : Lời giải gồm 7 bước khi bài toán với 3 đĩa
Trần Vĩnh Đức | HUST | Ngày 7 tháng 8 năm 2013 4 / 22
Trang 6
Công thức truy hồi chia để trị
4 5 6 7
8 Figure 10.2 The 7-step solution to the Towers of Hanoi problem when there are
n D 3 disks.
2
3
4 Figure 10.3 A recursive solution to the Towers of Hanoi problem.
Trang 7Ta có một lời giải đệ quy như sau:
• Đầu tiên chuyển n − 1 đĩa trên cùng từ cột 1 sang cột 3: Cần ít
nhất T n −1 bước.
• Chuyển đĩa n sang cột 2: Cần 1 bước.
• Chuyển n − 1 đĩa từ cột 3 sang cột 2: Cần ít nhất T n −1 bước.
Trang 8
Cận dưới
Để chuyển được đĩa n lớn nhất sang cột 2:
Ta phải chuyển n − 1 đĩa trên nó sang cột 3: ≥ T n −1 bước.
Chuyển đĩa n sang cột 2 (sau bước cuối của chuyển đĩa n): ≥ 1 bước.
Để chuyển n − 1 đĩa từ cột 3 sang cột 2: ≥ T n −1 bước
Vậy ta được
T n ≥ T n −1 + 1 + T n −1 = 2T n −1 + 1
Trang 9
Công thức tường minh
Trang 10
Trang 11
Trang 12
Trang 13
Đánh giá thuật toán Sắp xếp trộn
Trang 14
Công thức tường minh
(
n − 2 i )
=
log n ∑ −1 i=0
log n ∑ −1 i=0
2 i
= n log n − (2 log n − 1)
= n log n − n + 1.
Trang 15
Một công thức truy hồi
Dự đoán: S(n) = n − 1.
Trang 16
Trang 17
Công thức truy hồi Chia để trị
Trang 18
Trang 19
Trang 20
Trang 21
Trang 22
Trang 23
) p
+ 8 9
( 3 4
Trang 24
2 < 1
Trang 25
Trang 26