Search Header Logo
11_Lesson_Tìm kiếm

11_Lesson_Tìm kiếm

Assessment

Presentation

Computers

1st Grade

Practice Problem

Medium

Created by

Phong Thanh

Used 5+ times

FREE Resource

10 Slides • 31 Questions

1

Lập trình giải bài toán tìm kiếm

media

2

Multiple Choice

Khái niệm nào dưới đây mô tả đúng nhất về bài toán tìm kiếm?

1

Tìm kiếm dữ liệu từ cơ sở dữ liệu.

2

Cho một yêu cầu tìm kiếm và một tập hợp dữ liệu, tìm mục dữ liệu đáp ứng yêu cầu.

3

Chỉ tìm kiếm trong mảng số nguyên.

4

Không thể tìm thấy một mục dữ liệu nào.

3

Multiple Choice

Trong Python, phương thức nào được sử dụng để tìm kiếm phần tử trong danh sách?

1

search()

2

find()

3

index()

4

locate()

4

Multiple Choice

Khi nào phương thức index() sẽ trả về lỗi "ValueError"?

1

Khi tìm thấy phần tử.

2

Khi danh sách rỗng.

3

Khi có nhiều phần tử giống nhau.

4

Khi không tìm thấy phần tử trong danh sách.

5

​Lập trình giải bài toán tìm kiếm

​2. Bài toán tìm kiếm trong lập trình

Đề bài: Cho dãy A[0], A[1],..., A[n-1], hãy tìm kiếm phần tử có giá trị là K.

  • Đầu vào: Dãy A có n phần tử và giá trị K.

  • Đầu ra: Tìm thấy ➜ trả ra vị trí i, ngược lại ➜ trả ra -1.

a. Thuật toán tìm kiếm tuần tự

Duyệt lần lượt các phần tử của dãy để tìm phần tử có giá trị bằng K. Nếu tìm thấy, trả về chỉ số của phần tử bằng K; Ngược lại, thông báo không tìm thấy và trả về giá trị -1.

6

​Lập trình giải bài toán tìm kiếm

Xét dãy A = [1, 4, 7, 8, 3, 9, 10] và giá trị K = 9. Quá trình thực hiện thuật toán được mô phỏng như sau.

media

7

​Lập trình giải bài toán tìm kiếm

Xét dãy A = [1, 4, 7, 8, 3, 9, 10] và giá trị x = 9. Quá trình thực hiện thuật toán được mô phỏng như sau.

media

8

​Lập trình giải bài toán tìm kiếm

Chương trình Python

media

9

​Lập trình giải bài toán tìm kiếm

Hàm LinearSeach viết theo các khác

media

10

​Lập trình giải bài toán tìm kiếm

b. Thuật toán tìm kiếm nhị phân
Thuật toán tìm kiếm nhị phân được áp dụng cho các dãy được sắp xếp theo thứ tự xác định. Sau mỗi bước lặp của thuật toán phạm vi tìm kiếm được thu hẹp dẫn. Ví dụ với dãy tăng dần, nếu giá trị cần tìm nhỏ hơn giá trị của phần tử ở giữa dãy thì phạm vi tìm kiếm thu hẹp vào nửa đầu của dãy, ngược lại, phạm vi tìm kiếm là nửa cuối của dãy. Cứ tiếp tục như vậy cho đến khi tìm thấy hoặc phạm vi tìm kiếm bằng rỗng.

media

11

​Lập trình giải bài toán tìm kiếm

b. Thuật toán tìm kiếm nhị phân

media

12

​Lập trình giải bài toán tìm kiếm

b. Thuật toán tìm kiếm nhị phân

media

13

​Lập trình giải bài toán tìm kiếm

b. Thuật toán tìm kiếm nhị phân

media

14

Multiple Choice

Tìm kiếm tuần tự trong Python là gì?

1

Tìm kiếm trong một cơ sở dữ liệu lớn.

2

Tìm kiếm bằng cách chia đôi danh sách.

3

Tìm kiếm theo thứ tự tăng dần của danh sách.

4

Tìm kiếm từng phần tử trong danh sách cho đến khi tìm thấy hoặc đã xét hết danh sách.

15

Multiple Choice

Thuật toán tìm kiếm nhị phân yêu cầu điều kiện nào trước khi áp dụng?

1

Danh sách phải sắp thứ tự.

2

Danh sách phải có ít nhất 10 phần tử.

3

Danh sách phải không chứa các phần tử trùng lặp.

4

Danh sách phải được lưu trữ trong một cơ sở dữ liệu.

16

Multiple Choice

Trong thuật toán tìm kiếm nhị phân, chỉ số của phần tử ở giữa được tính như thế nào?

1

(lo + hi) / 2

2

(lo + hi) // 2

3

(hi - lo) / 2

4

(hi + lo) / 2

17

Multiple Choice

Trong thuật toán tìm kiếm tuần tự, khi nào bạn thông báo "không tìm thấy"?

1

Khi tìm thấy phần tử.

2

Khi tìm thấy nhiều phần tử.

3

Khi gặp lỗi trong quá trình tìm kiếm.

4

Khi đã xét hết dãy số và không tìm thấy phần tử.

18

Multiple Choice

Khi thực hiện tìm kiếm tuần tự, bạn có thể giới hạn phạm vi tìm kiếm bằng cách nào?

1

Xóa các phần tử không liên quan.

2

Thay đổi kiểu dữ liệu của danh sách.

3

Chỉ tìm kiếm trong các phần tử đầu tiên.

4

Sử dụng chỉ số lo và hi trong phương thức index.

19

Multiple Choice

Một ví dụ thực tế nào dưới đây có thể dẫn đến bài toán tìm kiếm?

1

Phát triển một ứng dụng mới.

2

Chọn một màu sắc cho đồ họa.

3

Thay đổi kích thước của một bức ảnh.

4

Tìm kiếm một cuốn sách trong thư viện.

20

Multiple Choice

Khái niệm bài toán tìm kiếm là gì?

1

Tìm một giá trị trong tập hợp dữ liệu.

2

Chỉ có thể tìm kiếm trong các dãy số đã sắp xếp.

3

Tìm kiếm không bao giờ thất bại.

4

Tìm kiếm chỉ áp dụng cho dữ liệu văn bản.

21

Multiple Choice

Phương thức index() trong Python được sử dụng để làm gì?

1

Tìm kiếm một phần tử trong dãy và trả về chỉ số đầu tiên nếu tìm thấy.

2

Tìm kiếm một phần tử trong dãy mà không báo lỗi nếu không tìm thấy.

3

Chỉ tìm kiếm trong dãy số đã sắp xếp.

4

Tìm kiếm tất cả các phần tử giống nhau trong dãy và trả về danh sách các chỉ số.

22

Fill in the Blank

Phương thức ... thực hiện tìm kiếm một phần tử trong dãy và trả về chỉ số của lần xuất hiện đầu tiên. Nếu không tìm thấy, nó sẽ báo lỗi ValueError.

(
)

23

Multiple Choice

Bài toán tìm kiếm tuần tự thực hiện bao nhiêu lần duyệt để tìm ra phần tử có giá trị bằng 47 trong dãy A = [91, 45, 23, 67, 9, 10, 47, 90, 46, 86]?

1

5

2

6

3

7

4

8

24

Multiple Choice

Trong tìm kiếm tuần tự, khi nào ta có thể tìm thấy kết quả ngay với ít bước nhất?

1

Khi phần tử cần tìm ở giữa danh sách

2

Khi phần tử cần tìm ở cuối danh sách

3

Khi phần tử cần tìm là phần tử đầu tiên

4

Khi phần tử cần tìm không có trong danh sách

25

Multiple Choice

Trong tìm kiếm tuần tự, khi nào cần nhiều bước nhất để tìm ra kết quả?

1

Khi phần tử cần tìm ở giữa danh sách

2

Khi phần tử cần tìm là phần tử cuối cùng

3

Khi phần tử cần tìm không có trong danh sách

4

Khi phần tử cần tìm là phần tử đầu tiên 

26

Multiple Choice

Thuật toán tìm kiếm nhị phân chỉ có thể áp dụng khi danh sách dữ liệu đã được sắp xếp như thế nào?

1

Tăng dần

2

Giảm dần

3

Không cần sắp xếp

4

Sắp xếp theo bất kỳ thứ tự nào

27

Multiple Choice

Với thuật toán tìm kiếm nhị phân, cần bao nhiêu lần duyệt để tìm phần tử có giá trị bằng 34 trong dãy A = [0, 4, 9, 10, 12, 14, 17, 18, 20, 31, 34, 67]?

1

2

2

3

3

4

4

5

28

Multiple Choice

Với thuật toán tìm kiếm tuần tự, cần duyệt bao nhiêu phần tử để tìm ra phần tử có giá trị bằng 34 trong dãy A = [0, 4, 9, 10, 12, 14, 17, 18, 20, 31, 34, 67]?

1

10

2

11

3

12

4

13

29

Multiple Choice

Thuật toán tìm kiếm nhị phân có ưu điểm gì so với tìm kiếm tuần tự?

1

Đơn giản hơn trong lập trình

2

Có thể áp dụng cho mọi danh sách

3

Tốc độ nhanh hơn khi danh sách đã sắp xếp

4

Không cần phải sắp xếp danh sách trước khi tìm

30

Multiple Choice

Cho dãy A = [1, 3, 4, 7, 8, 9, 10]. Cần tìm giá trị K = 9 bằng thuật toán tìm kiếm nhị phân, chỉ số nào sẽ được trả về?

1

3

2

4

3

5

4

6

31

Multiple Choice

Thuật toán tìm kiếm tuần tự có thể áp dụng trong trường hợp nào?

1

Dữ liệu đã được sắp xếp

2

Dữ liệu chưa được sắp xếp

3

Chỉ cho các dãy số

4

Chỉ cho các dãy chữ cái

32

Multiple Choice

Nếu dãy số đã được sắp xếp giảm dần, thuật toán tìm kiếm nhị phân sẽ hoạt động như thế nào?

1

Thuật toán vẫn hoạt động bình thường

2

Phải thay đổi thuật toán để so sánh ngược lại

3

Không thể áp dụng tìm kiếm nhị phân

4

Chỉ áp dụng cho dãy số ngắn

33

Multiple Choice

Trong bài toán tìm kiếm tuần tự, khi nào thuật toán tìm kiếm có thể tìm thấy ngay kết quả cần tìm?

1

Khi phần tử cần tìm nằm ở vị trí đầu tiên của dãy số.

2

Khi phần tử cần tìm nằm ở vị trí giữa của dãy số.

3

Khi phần tử cần tìm nằm ở vị trí cuối cùng của dãy số

4

Khi dãy số có số lượng phần tử lớn hơn 10.

34

Multiple Choice

Thuật toán tìm kiếm nhị phân bắt đầu thực hiện ở vị trí nào trong danh sách?

1

Vị trí đầu tiên.

2

Vị trí cuối cùng.

3

Vị trí giữa.

4

Bất kì vị trí nào.

35

Multiple Choice

Khi so sánh giá trị cần tìm với giá trị của vị trí giữa, nếu giá trị cần tìm nhỏ hơn giá trị giữa thì:

1

Tìm trong nửa đầu của danh sách.

2

Tìm trong nửa sau của danh sách.

3

Tìm trong nửa đầu hoặc nửa sau của danh sách.

4

Dừng lại.

36

Multiple Choice

Khi thực hiện tìm kiếm nhị phân số 25 trong dãy số 18, 21, 25, 27, 67, 69, 72, 77, 79, 81 cần thực hiện mấy vòng lặp?

1

2

2

3

3

4

4

5

37

Multiple Choice

Chọn phát biểu sai về thuật toán tìm kiếm nhị phân?

1

Thẻ số ở giữa dãy có số thứ tự là phần nguyên của phép chia (số lượng thẻ của dãy) /2.

2

Vòng lặp sẽ kết thúc khi tìm thấy số cần tìm hoặc dãy không còn thẻ số nào nữa.

3

Thuật toán tìm kiếm nhị phân thực hiện chia bài toán tìm kiếm ban đầu thành những bài toán tìm kiếm nhỏ hơn.

4

Khi dãy chỉ còn một thẻ số thì nửa trước (hoặc nửa sau) là dãy rỗng (dãy không có thể số nào).

38

Multiple Choice

 Trong thuật toán tìm kiếm nhị phân, ở mỗi lần lặp ta thực hiện mấy bước?

1

2

2

3

3

4

4

5

39

Multiple Choice

Chọn phát biểu sai?

1

Thuật toán tìm kiếm nhị phân chỉ áp dụng với dãy gia trị đã được sắp xếp.

2

Thuật toán tìm kiếm tuần tự chỉ áp dụng với dãy gia trị đã được sắp xếp.

3

Việc chia bài toán thành những bài toán nhỏ hơn giúp tăng hiệu quả tìm kiếm.

4

Thuật toán tìm kiếm nhị phân thực hiện chia bài toán tìm kiếm ban đầu thành những bài toán tìm kiếm nhỏ hơn.

40

Multiple Choice

Thuật toán tìm kiếm nhị phân thực hiện như thế nào?

1

Chia bài toán tìm kiếm ban đầu thành những bài toán tìm kiếm nhỏ hơn.

2

Chia bài toán tìm kiếm ban đầu thành những bài toán tìm kiếm lớn hơn.

3

So sánh lần lượt phần tử cuối cùng của dãy với giá trị cần tìm, việc tìm kiếm kết thúc khi tìm thấy hoặc đã duyệt hết các phần tử trong dãy.

4

So sánh lần lượt phần tử đầu của dãy với giá trị cần tìm, việc tìm kiếm kết thúc khi tìm thấy hoặc đã duyệt hết các phần tử trong dãy.

41

Multiple Choice

Để tìm kiếm một số trong dãy số bằng thuật toán tìm kiếm tuần tự, ta thực hiện:

1

Lấy ngẫu nhiên một số trong dãy số để so sánh với số cần tìm.

2

So sánh lần lượt từ số đầu tiên trong dãy số với số cần tìm.

3

Sếp xếp dãy số theo thứ tự tăng dần.

4

So sánh số cần tìm với số ở giữa dãy số.

Lập trình giải bài toán tìm kiếm

media

Show answer

Auto Play

Slide 1 / 41

SLIDE