K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

22 tháng 11 2022

loading...

23 tháng 4 2023

giúp tôi giải câu này với

23 tháng 8 2023

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. Thuật toán có thê duyệt từ đâu dãy hoặc từ cuối dãy.

22 tháng 7 2023

a) Danh sách học sinh của lớp:

 

def tim_vi_tri_ten_hs(ten, danh_sach_hs):

       for i, ten_hs in enumerate(danh_sach_hs):

              if ten_hs == ten:

                     return i

       return -1

danh_sach_hs = ["Nam", "An", "Binh", "Chung", "Duc", "Huong"]

ten_can_tim = "An"

vi_tri = tim_vi_tri_ten_hs(ten_can_tim, danh_sach_hs)

if vi_tri >= 0:

       print(f"Vi tri cua ten '{ten_can_tim}' trong danh sach la {vi_tri}")

else:

       print(f"Ten '{ten_can_tim}' khong nam trong danh sach")

 

b) Danh sách tên các chủ tài khoản ngân hàng đã sắp xếp theo thứ tự bảng chữ cái:

 

def tim_vi_tri_ten_tk(ten, danh_sach_tk):

       left, right = 0, len(danh_sach_tk) - 1

       while left <= right:

              mid = (left + right) // 2

              if danh_sach_tk[mid] == ten:

                     return mid

              elif danh_sach_tk[mid] < ten:

                     left = mid + 1

              else:

                     right = mid - 1

       return -1

danh_sach_tk = ["An", "Binh", "Duc", "Huong", "Nam"]

ten_can_tim = "Huong".upper()

vi_tri = tim_vi_tri_ten_tk(ten_can_tim, danh_sach_tk)

if vi_tri >= 0:

       print(f"Vi tri cua ten '{ten_can_tim}' trong danh sach la {vi_tri}")

else:

       print(f"Ten '{ten_can_tim}' khong nam trong danh sach")

23 tháng 8 2023

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

- Độ phức tạp thời gian của thuật toán tìm kiếm tuần tự là O(n)

- Giá trị lớn nhất của n với thời gian thực thi là 1 giây: n = 1 giây * (106 us / phép tính) = 106

- Giá trị lớn nhất của n với thời gian thực thi là 1 phút: n = 1 phút * (60 giây / phút) * (106us / phép tính) = 6 * 107

- Giá trị lớn nhất của n với thời gian thực thi là 1 giờ: n = 1 giờ * (60 phút / giờ) * (60 giây / phút) * (106us / phép tính) = 3.6 * 109

2.Thuật toán sắp xếp chèn:

- Độ phức tạp thời gian của thuật toán sắp xếp chèn là O(102

- Giá trị lớn nhất của n với thời gian thực thi là 1 giây: n = sqrt(1 giây * (106us / phép tính)) =103

- Giá trị lớn nhất của n với thời gian thực thi là 1 phút: n = sqrt(1 phút * (60 giây / phút) * (106us / phép tính)) = 6 * 104

- Giá trị lớn nhất của n với thời gian thực thi là 1 giờ: n = sqrt(1 giờ * (60 phút / giờ) * (60 giây / phút) * (106us / phép tính)) = 3.6 * 106

3. Thuật toán sắp xếp chọn:

- Độ phức tạp thời gian của thuật toán sắp xếp chọn là O(n2)

- Giá trị lớn nhất của n là: n = sqrt(1 giây * (106us / phép tính)) = 1000.

Thời gian thực thi là 1 phút:

Giá trị lớn nhất của n là: n = sqrt(1 phút * (60 giây / phút) * (106us / phép tính)) = 60000.

Thời gian thực thi là 1 giờ:

Giá trị lớn nhất của n là: n = sqrt(1 giờ * (60 phút / giờ) * (60 giây / phút) * (106us / phép tính)) = 3.6 * 106

 

23 tháng 8 2023

def sequential_search(names, target):

    found = []

    for name in names:

        if name == target:

            found.append(name)

    return found

# Danh sách tên học sinh trong lớp

class_names = ["An", "Bình", "Cường", "Đạt", "Hoàn", "Minh", "Nam", "Thảo", "Hoàn", "Trung"]

# Tên học sinh cần tìm

target_name = "Hoàn"

# Danh sách tên học sinh trong lớp

class_names = ["An", "Bình", "Cường", "Đạt", "Hoàn", "Minh", "Nam", "Thảo", "Hoàn", "Trung"]

# Tên học sinh cần tìm

target_name = "Hoàn"

# Gọi hàm tìm kiếm tuần tự

found_names = sequential_search(class_names, target_name)

if len(found_names) > 0:

    print("Các học sinh có tên là", target_name, "là:", found_names)

else:

    print("Không tìm thấy học sinh nào có tên là", target_name)