Những câu hỏi liên quan
Minh Lệ
Xem chi tiết
Quoc Tran Anh Le
23 tháng 8 2023 lúc 0:28

Thuật toán tìm kiếm nhị phân thực hiện tìm kiếm một mảng đã sắp xếp bằng cách liên tục chia các khoảng tìm kiếm thành 1 nửa. Bắt đầu với một khoảng từ phần tử đầu mảng, tới cuối mảng. Nếu giá trị của phần tử cần tìm nhỏ hơn giá trị của phần từ nằm ở giữa khoảng thì thu hẹp phạm vi tìm kiếm từ đầu mảng tới giửa mảng và nguợc lại. Cứ thế tiếp tục chia phạm vi thành các nửa cho dến khi tìm thấy hoặc đã duyệt hết.

Thuật toán tìm kiếm nhị phân tỏ ra tối ưu hơn so với tìm kiếm tuyết tính ở các mảng có độ dài lớn và đã được sắp xếp. Ngược lại, tìm kiếm tuyến tính sẽ tỏ ra hiệu quả hơn khi triển khai trên các mảng nhỏ và chưa được sắp xếp.

Quỳnh Châm Lương
Xem chi tiết
Mạnh=_=
2 tháng 3 2022 lúc 10:02

bucminh

Keiko Hashitou
2 tháng 3 2022 lúc 10:04

lỗi rồi bn, mà giúp j vậy ak

kudo sinhinichi
2 tháng 3 2022 lúc 10:04

ảnh lỗi ak

Minh Lệ
Xem chi tiết
Thanh An
18 tháng 7 2023 lúc 21:11

THAM KHẢO!

1.Thuật toán sắp xếp chèn (Insertion Sort):

def insertion_sort(arr):

  for i in range(1, len(arr)):

   key = arr[i]

   j = i - 1

   while j >= 0 and arr[j] > key:

    arr[j + 1] = arr[j]

    j -= 1

   arr[j + 1] = key

  return arr

A = [5, 8, 1, 0, 10, 4, 3]

sorted_A = insertion_sort(A)

print("Dãy A sau khi sắp xếp chèn:", sorted_A)

2. Thuật toán sắp xếp chọn (Selection Sort):

def selection_sort(arr):

  for i in range(len(arr)):

   min_idx = i

   for j in range(i + 1, len(arr)):

    if arr[j] < arr[min_idx]:

     min_idx = j

   arr[i], arr[min_idx] = arr[min_idx], arr[i]

  return arr

A = [5, 8, 1, 0, 10, 4, 3]

sorted_A = selection_sort(A)

print("Dãy A sau khi sắp xếp chọn:", sorted_A)

3.Thuật toán sắp xếp nổi bọt (Bubble Sort):

def bubble_sort(arr):

  n = len(arr)

  for i in range(n - 1):

   for j in range(n - 1 - i):

    if arr[j] > arr[j + 1]:

     arr[j], arr[j + 1] = arr[j + 1], arr[j]

  return arr

A = [5, 8, 1, 0, 10, 4, 3]

sorted_A = bubble_sort(A)

print("Dãy A sau khi sắp xếp nổi bọt:", sorted_A)

k_o_t_en
Xem chi tiết
Minh Lệ
Xem chi tiết
Quoc Tran Anh Le
23 tháng 8 2023 lúc 9:21

- Gán i = 0
- Gán j = i + 1 và min = A[i]
- Nếu j < n:
 + Nếu A[j] < A[min] thì min = j
 + j = j + 1
 + Quay lại bước 3
- Đổi chỗ A[min] và A[i]
- Nếu i < n – 1:
 + Đúng thì i = i + 1 và quay lại bước 2
 + Sai thì dừng lại

hà my
Xem chi tiết
hà my
Xem chi tiết
Smile
Xem chi tiết
Quỳnh Châm Lương
Xem chi tiết
Nguyễn Lê Phước Thịnh
2 tháng 3 2022 lúc 23:20

#include <bits/stdc++.h>

using namespace std;

long long a[1000],i,n,dem;

int main()

{

cin>>n;

for(i=1; i<=n; i++) cin>>a[i];

dem=0;

for (i=1; i<=n; i++) if (a[i]%10==0) dem++;

cout<<"So luong so chia het cho 2 va 5 la: "<<dem<<endl;

sort(a+1,a+n+1);

for (i=1; i<=n; i++) cout<<a[i]<<" ";

return 0;

}