# data[].attributes.headline
1959: Thuật toán Sắp xếp Nổi bọt (Bubble Sort)

# data[].attributes.subject
1959: Thuật toán Sắp xếp Nổi bọt (Bubble Sort)

# data[].attributes.body
Thuật toán này được phát triển và trở thành một trong những thuật toán sắp xếp đơn giản nhất, dễ hiểu và hữu ích trong việc giảng dạy cơ bản.

# data[].attributes.headline
1961: Thuật toán Sắp xếp Nhanh (Quick Sort)

# data[].attributes.subject
1961: Thuật toán Sắp xếp Nhanh (Quick Sort)

# data[].attributes.body
Được phát minh bởi Tony Hoare, Quick Sort nổi tiếng với hiệu suất cao và trở thành một trong những thuật toán sắp xếp nhanh nhất.

# data[].attributes.headline
1964: Thuật toán Tìm kiếm Nhị phân (Binary Search)

# data[].attributes.subject
1964: Thuật toán Tìm kiếm Nhị phân (Binary Search)

# data[].attributes.body
Được phát triển như một phương pháp tìm kiếm hiệu quả trong danh sách đã được sắp xếp, Binary Search là một bước tiến quan trọng trong lĩnh vực tìm kiếm.

# data[].attributes.body
Merge Sort đã được sử dụng như một thuật toán chia để trị hiệu quả, đặc biệt hữu dụng trên các dữ liệu lớn.

# data[].attributes.body
Thuật toán Heap Sort xuất hiện, sử dụng cấu trúc dữ liệu cây heap để thực hiện sắp xếp với độ phức tạp O(n log n).

# data[].attributes.body
Comb Sort được phát triển như một cải tiến của Bubble Sort, nâng cao hiệu quả bằng cách sử dụng các khoảng cách giảm dần.

# data[].attributes.body
Shell Sort, một cải tiến của Sắp xếp Chèn (Insertion Sort), đã được phát minh và tối ưu hóa cho dữ liệu vừa và lớn.

# data[].attributes.body
Radix Sort trở thành một lựa chọn cho sắp xếp dữ liệu số với hiệu suất cao và đơn giản hóa phần so sánh.

# data[].attributes.body
Các thuật toán tìm kiếm dựa trên kỹ thuật hashing đã bắt đầu được sử dụng rộng rãi, mang lại kết quả tìm kiếm nhanh trong thời gian O(1).

# data[].attributes.headline
2009: Tiến triển của Thuật toán IntroSort

# data[].attributes.subject
2009: Tiến triển của Thuật toán IntroSort

# data[].attributes.body
IntroSort kết hợp các thuật toán sắp xếp Quick Sort, Heap Sort và Insertion Sort để tối đa hóa hiệu suất tổng thể.

# data[].attributes.body
Bài 1

# data[].attributes.body
Bài 2

# data[].attributes.body
Siuuuuu

# data[].attributes.body
bai 1

# data[].attributes.body
import sys

sys.stdin = open("timkiem2.inp","r")

sys.stdout = open("timkiem2.out","w")

n,x = map(int,input().split())

a = list(map(int,input().split()))

def timkiem(a,n,x):

left = 0

right = n - 1

while left <= right:

mid = (left + right) // 2

if a[mid] == x:

return True

else if a[mid] < x:

left = mid + 1

else:

right = mid - 1

return False

a.sort()

print(timkiem(a,n,x))

# data[].attributes.body
Bài 2: Tìm Kiếm Nhị Phân

Tung Tung Tung Sahur