Data Structures & Algorithms in Java PHẦN 2

Các con số trong Bảng để lại một số dữ liệu thú vị. Họ không trả lời các câu hỏi như thế, "kích thước chính xác của các phạm vi tối đa có thể được tìm kiếm trong năm bước là gì?" Để giải quyết vấn đề này, chúng ta phải tạo ra một bảng tương tự, nhưng bắt đầu ngay từ đầu, với một phạm vi của một, | The numbers in Table leave out some interesting data. They don t answer questions like What is the exact size of the maximum range that can be searched in five steps To solve this we must create a similar table but one that starts at the beginning with a range of one and works up from there by multiplying the range by two each time. Table shows how this looks for the first ten steps. Table Powers of Two Step s Same as log2 r Range r Range Expressed as Power of 2 2s 0 1 20 1 2 21 2 4 22 3 8 23 4 16 24 5 32 25 6 64 26 7 128 27 8 256 28 9 512 29 10 1024 2 10 For our original problem with a range of 100 we can see that six steps doesn t produce a range quite big enough 64 while seven steps covers it handily 128 . Thus the seven steps that are shown for 100 items in Table are correct as are the 10 steps for a range of 1000. Doubling the range each time creates a series that s the same as raising two to a power as shown in the third column of Table . We can express this as a formula. If s represents steps the number of times you multiply by two that is the power to which two is raised and r represents the range then the equation is _ os r 2 If you know s the number of steps this tells you r the range. For example if s is 6 the range is 26 or 64. The Opposite of Raising Two to a Power - 54 - But our original question was the opposite given the range we want to know how many comparisons it will take to complete a search. That is given r we want an equation that gives us s. Raising something to a power is the inverse of a logarithm. Here s the formula we want expressed with a logarithm s log2 r This says that the number of steps comparisons is equal to the logarithm to the base 2 of the range. What s a logarithm The base-2 logarithm of a number r is the number of times you must multiply two by itself to get r. In Table we show that the numbers in the first column s are equal to log2 r . How do you find the logarithm of a number without doing a lot of

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU MỚI ĐĂNG
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.