cyanic-selkie/wikianc huggingface dataset:
Tìm kiếm nhị phân
Tìm kiếm nhị phân chạy theo thời gian logarit trong trường hợp tệ nhất, thực hiện O(\log n) bước so sánh, trong đó n là số phần tử trong mảng, O là kí hiệu O lớn, và \log là phép toán logarit. Thuật toán tìm kiếm nhị phân nhanh hơn so với tìm kiếm tuyến tính, ngoại trừ các trường hợp mảng có kích thước nhỏ. Tuy nhiên, mảng phải được sắp xếp trước khi áp dụng tìm kiếm nhị phân. Một số cấu trúc dữ liệu chuyên dụng được thiết kế cho việc tìm kiếm nhanh, ví dụ như bảng băm, có thể thực hiện tìm hiệu quả hơn tìm kiếm nhị phân. Tuy nhiên, thuật toán này có thể dùng để giải quyết nhiều loại vấn đề hơn, như tìm phần tử nhỏ nhất hoặc lớn nhất tiếp theo trong mảng so với giá trị cho trước, kể cả khi nó không có trong mảng.
Có nhiều biến thể của phép tìm kiếm nhị phân. Cụ thể, phương pháp "đổ xuống một phần" (fractional cascading) giúp tăng tốc tìm kiếm nhị phân với cùng một giá trị trong nhiều mảng. Phương pháp này cho phép giải quyết hiệu quả một số vấn đề về tìm kiếm trong hình học tính toán và nhiều lĩnh vực khác. Thuật toán tìm kiếm mũ (exponential search) mở rộng tìm kiếm nhị phân sang các danh sách không có giới hạn. Các cấu trúc dữ liệu cây tìm kiếm nhị phân và B-cây được xây dựng dựa trên tìm kiếm nhị phân.
Quy trình
Cho một mảng A có n phần tử với các giá trị hoặc bản ghi đã được sắp xếp sao cho, và giá trị cần tìm T, chương trình con sau đây sử dụng tìm kiếm nhị phân để tìm chỉ số của T trong A.
Quy trình lặp này dùng hai biến L và R để lưu giới hạn tìm kiếm. Quy trình này có thể diễn giải bằng mã giả như dưới đây, trong đó tên các biến và kiểu giữ nguyên so với như trên,  là hàm floor, và   là một giá trị cụ thể thông báo tìm kiếm thất bại.
function binary_search(A, n, T) is L:= 0 R:= n − 1 while L ≤ R do m:= floor((L + R) / 2) if A[m] < T then L:= m + 1 else if A[m] > T then R:= m - 1 else: return m    return không_thành_công
Ngoài ra, thuật toán có thể lấy giá trị ceiling của. Điều này có thể thay đổi kết quả nếu giá trị cần tìm xuất hiện nhiều hơn một lần trong mảng.
Cách làm khác
Trong quy trình trên, thuật toán kiểm tra phần tử ở giữa (m) có bằng giá trị cần tìm (T) không ở mỗi phép lặp. Một số cách làm bỏ qua bước này ở mỗi phép lặp. Khi đó thuật toán chỉ kiểm tra điều này khi chỉ còn một phần tử còn lại (khi L=R). Nhờ đó mà vòng lặp so sánh được thực hiện nhanh hơn do mỗi phép lặp đã loại bỏ được một bước so sánh. Tuy nhiên, với cách làm này thì số phép lặp trung bình tăng lên.
Hermann Bottenbruch cho xuất bản cách áp dụng đầu tiên bỏ qua bước kiểm tra này vào năm 1962.
Với  là hàm ceiling, mã giả cho phiên bản này như sau:
function binary_search_alternative(A, n, T) is L:= 0 R:= n − 1 while L != R do m:= ceil((L + R) / 2) if A[m] > T then R:= m - 1 else: L:= m    if A[L] = T then return L    return không_thành_công
Biñan
Biñán (phiên âm: "Bi-nhan") là một đô thị ở tỉnh Laguna, Philippines. Theo điều tra dân số năm 2007 của Philipin, đô thị này có dân số 262.735.
Tìm kiếm nhị phân
Phần tử lặp lại
Quy trình trên có thể trả về bất cứ chỉ số nào có giá trị phần tử bằng giá trị cần tìm, kể cả khi trong mảng có các phần tử xuất hiện lặp lại. Ví dụ, với mảng và giá trị cần tìm là 4, thuật toán có thể trả về một trong hai kết quả đúng là phần tử thứ 4 (chỉ số là 3) hoặc thứ 5 (chỉ số là 4). Quy trình chuẩn trong trường hợp này sẽ trả về phần tử thứ 4 (chỉ số 3). Thuật toán này không phải lúc nào cũng trả về vị trí đầu tiên xuất hiện giá trị cần tìm (ví dụ với mảng, kết quả trả về vẫn là phần tử thứ 4). Tuy nhiên, có một số trường hợp cần phải tìm phần tử nằm xa nhất về phía bên trái hoặc bên phải mang giá trị cần tìm khi giá trị này xuất hiện lặp lại trong mảng. Trong ví dụ trên, phần tử thứ 4 là phần tử đứng xa nhất về bên trái mang giá trị 4, trong khi phần tử thứ 5 là phần từ đứng xa nhất về bên phải mang giá trị 4. Cách làm thứ hai ở trên sẽ luôn trả về chỉ số của phần tử đứng xa nhất về bên phải nếu tồn tại các phần tử lặp lại.
Quy trình tìm phần tử xa nhất về bên trái
Để tìm phần tử xa nhất về bên trái, ta có thể dùng quy trình sau:
Biñan
Liên kết ngoài
Thể loại:Đô thị của tỉnh Laguna Thể loại:Khu dân cư trên Laguna de Bay
Tìm kiếm nhị phân
Quy trình tìm phần tử xa nhất về bên trái
Với  là hàm floor, mã giả cho phiên bản này như sau:
function binary_search_leftmost(A, n, T): L:= 0 R:= n    while L < R:         m:= floor((L + R) / 2) if A[m] < T:            L:= m + 1 else: R:= m    return L
Quy trình tìm phần tử xa nhất về bên phải
Để tìm phần tử xa nhất về bên phải, ta có thể dùng quy trình sau:
Nếu L > 0 và A_{L-1}=T, thì A_{L-1} là phần tử đứng xa nhất về phía bên phải có giá trị bằng T. Kể cả khi T không có trong mảng, n-L sẽ là số phần tử trong mảng lớn hơn T.
Với  là hàm floor, mã giả cho phiên bản này như sau:
function binary_search_rightmost(A, n, T): L:= 0 R:= n    while L < R:         m:= floor((L + R) / 2) if A[m] > T:            R:= m         else: L:= m + 1 return R - 1
Hiệu suất
thumb|upright=0.75|Một [[Cây (cấu trúc dữ liệu)|cây biểu diễn tìm kiếm nhị phân. Mảng được dùng trong ví dụ này là và giá trị cần tìm là 40.]] thumb|upright=2|Trường hợp tệ nhất là khi quá trình tìm kiếm phải đi tới bậc sâu nhất của cây, còn trường hợp tốt nhất là khi giá trị cần tìm chính là phần tử đứng giữa.
Về mặt số phép so sánh, hiệu suất của thuật toán tìm kiếm nhị phân có thể được phân tích bằng cách biểu diễn quá trình chạy thuật toán trên cây nhị phân. Nút gốc của cây là phần tử đứng giữa mảng. Phần tử đứng giữa nửa nhỏ hơn là nút con bên trái của nút gốc, và phần tử đứng giữa nửa lớn hơn là nút con bên phải của nút gốc. Phần còn lại của cây cũng được dựng như vậy. Bắt đầu từ nút gốc, tùy theo giá trị cần tìm nhỏ hơn hay lớn hơn nút đang xét mà thuật toán sẽ duyệt theo cây con bên trái hay bên phải.
Hypoplectrodes cardinalis
Hypoplectrodes cardinalis, thường được gọi là cá mú đỏ, là một loài cá biển thuộc chi Hypoplectrodes trong họ Cá mú. Loài này được mô tả lần đầu tiên vào năm 1990.
Tìm kiếm nhị phân
Hiệu suất
Trong trường hợp tệ nhất, thuật toán thực hiện lần lặp so sánh, trong đó  là ký hiệu của hàm floor cho kết quả là số nguyên lớn nhất nhỏ hơn hoặc bằng giá trị bên trong, và \log_2 là phép logarit nhị phân. Nguyên nhân là do khi gặp phải trường hợp tệ nhất, thuật toán phải đi tới bậc sâu nhất trong cây, và số bậc trong cây luôn bằng với bất cứ phép tìm kiếm nhị phân nào.
Hypoplectrodes cardinalis
Phân bố và môi trường sống
H. cardinalis có phạm vi phân bố giới hạn ở Đông Ấn Độ Dương. Đây là một loài đặc hữu của Tây Úc, được tìm thấy từ vịnh Shark trải dài về phía nam đến quần đảo Recherche. Chúng sống xung quanh các rạn đá ngầm và rạn san hô ở độ sâu khoảng 35 m trở lại.
Tìm kiếm nhị phân
Hiệu suất
Trường hợp tệ nhất còn có thể xảy ra khi giá trị cần tìm không có trong mảng. Nếu n ở dạng thì trường hợp này luôn xảy ra. Nếu không, thuật toán có thể thực hiện phép lặp nếu phải đi tới bậc sâu nhất của cây. Tuy nhiên, nếu thuật toán kết thúc ngay ở bậc sâu thứ hai của cây, quá trình tìm kiếm có thể chỉ cần thực hiện phép lặp, ít hơn trường hợp tệ nhất một phép.
Giả sử mỗi phần tử có xác suất được thực hiện tìm kiếm như nhau, trung bình thuật toán tìm kiếm nhị phân thực hiện phép lặp khi phần tử cần tìm có mặt trong mảng, hay xấp xỉ bằng. Khi phần tử cần tìm không có trong mảng, thuật toán thực hiện trung bình phép lặp, nếu giả sử khoảng giữa và bên ngoài các phần tử đều có xác suất được tìm như nhau.
Trong trường hợp tốt nhất, khi giá trị cần tìm nằm ngay giữa mảng, vị trí của nó được trả về ngay sau một phép lặp.
Hypoplectrodes cardinalis
Mô tả
Số gai ở vây lưng: 10; Số tia vây mềm ở vây lưng: 19; Số gai ở vây hậu môn: 3; Số tia vây mềm ở vây hậu môn: 8; Số tia vây mềm ở vây ngực: 15 - 17; Số gai ở vây bụng: 1; Số tia vây mềm ở vây bụng: 5; Số tia vây mềm ở vây đuôi: 17; Số vảy đường bên: 41 - 45.
Tìm kiếm nhị phân
Hiệu suất
Về mặt số phép lặp, không có thuật toán tìm kiếm nào chỉ bằng so sánh các phần tử có thể có hiệu suất trung bình hay thậm chí trong trường hợp tệ nhất tốt hơn tìm kiếm nhị phân. Cây so sánh biểu diễn tìm kiếm nhị phân có số bậc ít nhất có thể do mọi bậc phía trên bậc thấp nhất của cây đều được lấp đầy hoàn toàn. Nếu không, thuật toán tìm kiếm có thể loại bỏ một vài phần tử trong mỗi phép lặp, làm tăng số phép lặp cần thực hiện trong trường hợp trung bình và tệ nhất. Các thuật toán tìm kiếm khác dùng cách so sánh đều bị rơi vào trường hợp này, do mặc dù chúng có thể chạy nhanh hơn với một số giá trị cần tìm nhất định, hiệu suất trung bình trên tất cả phần tử vẫn kém hơn tìm kiếm nhị phân. Bằng cách chia mảng thành hai nửa, thuật toán tìm kiếm nhị phân đảm bảo được kích thước của hai mảng con giống nhau nhất có thể.
Hypoplectrodes cardinalis
Mô tả
Thức ăn của H. cardinalis có lẽ là các loài động vật giáp xác.
Chú thích
Thể loại:Hypoplectrodes Thể loại:Động vật được mô tả năm 1990
Heterarmia buttneri
Liên kết ngoài
Thể loại:Heterarmia
Tìm kiếm nhị phân
Độ phức tạp không gian
Thuật toán tìm kiếm nhị phân cần ba con trỏ để trỏ tới các phần tử, bất kể kích thước của mảng; đó có thể là chỉ số các phần tử trong mảng hoặc con trỏ tới địa chỉ trong bộ nhớ. Tuy nhiên, thuật toán cần ít nhất bit để mã hóa một con trỏ tới một phần tử trong mảng có n phần tử. Do đó, độ phức tạp không gian của tìm kiếm nhị phân là O(\log n). Ngoài ra, thuật toán còn cần O(n) không gian để lưu trữ mảng.
Trường hợp trung bình
Số phép lặp trung bình được thực hiện bởi thuật toán tùy thuộc vào xác suất mỗi phần tử được thực hiện tìm kiếm. Trường hợp trung bình khi tìm kiếm thành công và không thành công là khác nhau. Ta giả sử mỗi phần tử có xác suất được tìm như nhau nếu tìm kiếm thành công. Nếu tìm kiếm không thành công, ta giả sử các khoảng giữa và ngoài các phần tử có xác suất được tìm giống nhau. Trường hợp trung bình khi tìm kiếm thành công là số phép lặp cần thực hiện để tìm mọi phần tử chính xác một lần, chia cho n, số phần tử trong mảng. Trường hợp trung bình khi tìm kiếm không thành công là số phép lặp cần thực hiện để tìm một phần tử trong mọi khoảng chính xác một lần, chia cho n + 1 khoảng.
Tìm kiếm thành công
Khi biểu diễn bằng cây nhị phân, một lần tìm kiếm thành công có thể được biểu diễn bằng một đường đi từ gốc tới nút cần tìm, gọi là đường đi trong (internal path). Độ dài của một đường đi là số cạnh (đường nối giữa các nút) mà đường đó đi qua. Số phép lặp mà một lần tìm kiếm thực hiện, với điều kiện độ dài của đường đi tương ứng với lần tìm đó là l, là l + 1 tính cả phép lặp ban đầu. Độ dài đường đi trong (internal path length) là tổng độ dài tất cả các đường đi trong. Do chỉ có một đường đi duy nhất từ gốc tới bất cứ nút nào, mỗi đường trong đó biểu diễn cho một phép tìm kiếm phần tử tương ứng. Nếu có n phần tử, và độ dài đường trong là I(n), thì số phép lặp trung bình cho một lần tìm kiếm thành công là, trong đó đã cộng thêm một bước lặp ở đầu.
Do tìm kiếm nhị phân là thuật toán tối ưu cho việc tìm kiếm bằng cách so sánh, bài toán được đơn giản hóa thành việc tính độ dài đường đi trong tối thiểu của tất cả cây nhị phân có n nút, tức là bằng:
Ví dụ, với một mảng 7 phần tử, phần tử gốc cần một phép lặp, hai phần tử bên dưới gốc cần hai phép lặp, và bốn phần tử dưới nữa gần ba phép lặp. Trong trường hợp này, độ dài đường đi trong là:
Số phép lặp trung bình sẽ là dựa theo công thức với trường hợp trung bình. Tổng I(n) có thể rút gọn thành:
Thay I(n) vào phương trình T(n):
Với n là một số nguyên, phương trình trên tương đương với phương trình trong trường hợp trung bình cho một lần tìm kiếm thành công như đã chỉ ra ở trên.
Tìm kiếm không thành công
Ta có thể biểu diễn lần tìm kiếm không thành công bằng cách thêm vào cây các nút ngoài, tạo thành cây nhị phân mở rộng. Nếu một nút trong, hoặc một nút có trong cây, có ít hơn hai nút con, thì ta sẽ thêm vào các nút con bổ sung, gọi là các nút ngoài, để mỗi nút trong đều có hai nút con. By doing so, an unsuccessful search can be represented as a path to an external node, whose parent is the single element that remains during the last iteration. Đường đi ngoài (external path) là đường đi từ gốc đến một nút ngoài. Độ dài đường đi ngoài (external path length) là tổng độ dài tất cả đường đi ngoài unique. Nếu số phần tử là n (n là số nguyên dương), và độ dài đường đi ngoài là E(n), thì số phép lặp trung bình cho một lần tìm kiếm không thành công là, trong đó đã tính một phép lặp lúc đầu. Trong công thức này, ta lấy độ dài đường đi ngoài chia cho n+1 chứ không phải n vì có n+1 đường đi ngoài biểu diễn cho các khoảng giữa và ngoài các phần tử trong mảng.
Tương tự, bài toán này có thể đơn giản hóa thành bài toán tính độ dài đường đi ngoài tối thiếu của tất cả cây nhị phân có n nút. Với tất cả các cây nhị phân, độ dài đường đi ngoài bằng độ dài đường đi trong cộng với 2n. Thay I(n) vào ta có:
Hiệu suất của các cách thay thế
Mỗi phép lặp trong cách tìm kiếm nhị phân trên thực hiện một hoặc hai lần so sánh để kiểm tra phần tử ở giữa có bằng với giá trị cần tìm không. Giả sử mỗi phần tử có xác suất được tìm bằng nhau, mỗi phép lặp thực hiện trung bình 1,5 lần so sánh. Một cách làm khác của thuật toán sẽ thực hiện kiểm tra phần tử giữa ở cuối mỗi lần tìm kiếm. Theo cách này, trung bình mỗi phép lặp bỏ qua 0,5 lần so sánh, tiết kiệm thời gian hơn một chút trên mỗi phép lặp ở hầu hết các loại máy tính. Tuy nhiên, cách này lại khiến mỗi lần tìm kiếm luôn phải thực hiện số phép lặp tối đa, trung bình mỗi lần tìm cộng thêm một phép lặp. Vì vòng lặp so sánh chỉ được thực hiện lần trong trường hợp tệ nhất, việc tăng nhẹ hiệu suất ở mỗi phép lặp không thể bù lại cho phép lặp cần thực hiện thêm khi n không lớn.
Thời gian chạy và mức sử dụng cache
Trong quá trình phân tích hiệu suất của thuật toán, một vấn đề khác cần lưu ý là thời gian cần để so sánh hai phần tử. Với các số nguyên và chuỗi ký tự, khoảng thời gian này tăng tuyến tính do độ dài mã hóa (thường là số bit) của các phần tử tăng theo. Ví dụ, một cặp số nguyên dương 64 bit sẽ cần phải so sánh số bit gấp đôi so với một cặp số nguyên dương 32 bit. Trường hợp tệ nhất được đạt đến khi hai số nguyên bằng nhau. Điều này có thể đáng lưu tâm khi độ dài mã hóa của các phần tử ở mức lớn, ví dụ như khi so sánh các số thuộc kiểu nguyên lớn hơn hay so sánh các chuỗi ký tự dài, khiến cho việc so sánh rất tốn thời gian. Hơn nữa, so với các số nguyên hoặc chuỗi ký tự ngắn thì so sánh các giá trị dấu phẩy động (cách biểu diễn số thông dụng nhất của số thực) thường còn tốn thời gian hơn..
Tìm kiếm nhị phân với các hệ thống khác
Áp dụng tìm kiếm nhị phân với các mảng đã được sắp xếp là một giải pháp rất không hiệu quả khi xen giữa các phép chèn và xóa còn là các phép truy hồi, mỗi thao tác đó phải mất O(n) thời gian để thực hiện. Ngoài ra, yêu cầu phải sắp xếp trước các mảng có thể làm phức tạp việc sử dụng bộ nhớ, đặc biệt là khi các phần tử thường được chèn vào trong mảng. Một số cấu trúc dữ liệu khác có thể hỗ trợ các thao tác chèn và xóa hiệu quả hơn nhiều. Tìm kiếm nhị phân có thể được dùng để thực hiện so khớp chính xác và thao tác quan hệ tập hợp (xác định giá trị cần tìm có phải là một tập hợp nhiều giá trị không). Hai bài toán này cũng có thể được thực hiện nhanh hơn trên các cấu trúc dữ liệu khác. Tuy nhiên, khác với các hệ thống tìm kiếm khác, tìm kiếm nhị phân hiệu quả hơn trong phép so khớp xấp xỉ, thường chỉ thực hiện trong O(\log n) thời gian bất kể kiểu hay cấu trúc của các giá trị. Ngoài ra còn có một số phép toán, như tìm phần tử nhỏ nhất và lớn nhất, có thể được thực hiện hiệu quả trên mảng đã được sắp xếp.
Tìm kiếm tuyến tính
Tìm kiếm tuyến tính là một thuật toán tìm kiếm đơn giản: nó kiểm tra mọi bản ghi cho tới khi tìm thấy giá trị cần tìm. Tìm kiếm tuyến tính có thể được thực hiện trên danh sách liên kết, cho phép các thao tác chèn và xóa nhanh hơn so với mảng. Tìm kiếm nhị phân nhanh hơn tìm kiếm tuyến tính trên các mảng đã được sắp xếp trừ khi mảng có kích thước nhỏ, mặc dù trước khi tìm kiếm cần phải thực hiện sắp xếp lại mảng trước. Tất cả các thuật toán sắp xếp dựa trên thao tác so sánh các phần tử, như sắp xếp nhanh và sắp xếp trộn, cần ít nhất O(n \log n) phép so sánh trong trường hợp tệ nhất. Khác với tìm kiếm tuyến tính, tìm kiếm nhị phân có thể được ứng dụng để tìm so khớp xấp xỉ một cách hiệu quả. Một số thao tác như tìm phần tử nhỏ nhất và lớn nhất có thể được thực hiện hiệu quả chỉ khi mảng đã được sắp xếp.
Cây
thumb|upright=1.0|Phép tìm kiếm trên [[cây tìm kiếm nhị phân sử dụng một thuật toán tương tự tìm kiếm nhị phân.]]
Cây tìm kiếm nhị phân là một cấu trúc dữ liệu dạng cây nhị phân hoạt động dựa trên nguyên lý của tìm kiếm nhị phân. Các bản ghi trong cây được biểu diễn theo thứ tự đã được sắp xếp, và mỗi bản ghi có thể được tìm bằng một thuật toán tương tự tìm kiếm nhị phân, thực hiện trung bình theo thời gian logarit. Các phép chèn và xóa cũng cần trung bình thời gian logarit trong cây tìm kiếm nhị phân. Chúng có thể được thực hiện nhanh hơn so với các thao tác chèn và xóa theo thời gian tuyến tính trên các mảng đã được sắp xếp, đồng thời các thao tác có thể thực hiện trên mảng đã được sắp xếp cũng có thể được thực hiện trên cây nhị phân, bao gồm cả các phép truy vấn khoảng và truy vấn xấp xỉ.
Tuy nhiên, tìm kiếm nhị phân thường hiệu quả hơn trong việc tìm kiếm, do các cây nhị phân hầu như đều không cân bằng tuyệt đối, khiến hiệu suất kém hơn đôi chút so với tìm kiếm nhị phân. Điều này thậm chí vẫn áp dụng với các cây tìm kiếm nhị phân tự cân bằng, vì chúng hiếm khi tạo ra cây có số bậc nhỏ nhất có thể. Ngoại trừ các cây tìm kiếm nhị phân đã cân bằng, việc có quá ít số nút trong có đúng hai nút con có thể khiến cây bị mất cân bằng rất nhiều, khiến thời gian tìm kiếm ở trường hợp trung bình và tệ nhất có thể tiến tới ngưỡng n phép so sánh. Cây tìm kiếm nhị phân cần nhiều không gian hơn so với mảng đã được sắp xếp.
Cây tìm kiếm nhị phân hữu ích nhất cho việc tìm kiềm nhanh trong các ổ cứng ngoài, bởi cây tìm kiếm nhị phân có thể được dựng hiệu quả trong các hệ thống tập tin. Cấu trúc B-cây tổng quát hóa phương pháp tổ chức cây này. B-cây thường được dùng để tổ chức các ổ lưu trữ dài hạn như cơ sở dữ liệu và hệ thống tập tin.
Băm
Với các mảng kết hợp, bảng băm, một cấu trúc dữ liệu dùng hàm băm để ánh xạ các khóa thành các bản ghi, thường hoạt động nhanh hơn tìm kiếm nhị phân trên một mảng chứa các bản ghi đã được sắp xếp. Hầu hết các cách triển khai bảng băm chỉ yêu cầu trung bình thời gian hằng số khấu hao. Tuy nhiên, việc băm có thể không hữu ích khi thực hiện các bài toán so khớp xấp xỉ, ví dụ như tính khóa nhỏ nhất tiếp theo, khóa lớn nhất tiếp theo và khóa gần nhất, do khi tìm kiếm thất bại, thông tin duy nhất được đưa ra là giá trị cần tìm không có trong bất cứ bản ghi nào. Tìm kiếm nhị phân là cách làm lý tưởng đối với những bài toán như vậy, khi chỉ thực hiện với thời gian chạy logarit. Tìm kiếm nhị phân cũng hỗ trợ so khớp xấp xỉ. Một số phép toán, như tìm phần tử nhỏ nhất và lớn nhất, có thể được thực hiện hiệu quả trên các mảng đã được sắp xếp, nhưng không thể trên bảng băm.
Các thuật toán quan hệ tập hợp
Một vấn đề liên quan tới tìm kiếm là quan hệ tập hợp. Bất cứ thuật toán nào thực hiện tra cứu, như tìm kiếm nhị phân, cũng có thể dùng cho quan hệ tập hợp. Một số thuật toán khác được thiết kế phù hợp hơn với quan hệ tập hợp. Mảng bit là cách làm đơn giản nhất, thường được dùng khi số khóa bị giới hạn. Cấu trúc này lưu trữ các bit một cách nhỏ gọn, mỗi bit biểu diễn cho một khóa trong khoảng cho trước. Mảng bit hoạt động rất nhanh, chỉ trong thời gian O(1). Một loại mảng Judy là Judy1 có thể xử lý hiệu quả các khóa 64-bit.
Nếu chỉ cần kết quả xấp xỉ, ta có thể sử dụng bộ lọc Bloom, một cấu trúc dữ liệu xác suất khác dựa trên hàm băm, lưu trữ một tập hợp các khóa bằng cách sử dụng một mảng bit và nhiều hàm băm để mã hóa các khóa. Các bộ lọc Bloom chiếm ít không gian hơn nhiều so với các mảng bit trong hầu hết mọi trường hợp và không hoạt động chậm hơn là bao: với k hàm băm, các phép truy vấn kiểm tra phần tử chỉ cần thời gian O(k). Tuy nhiên, sử dụng bộ lọc Bloom có thể đem kết quả dương tính giả.
Các cấu trúc dữ liệu khác
Còn có các cấu trúc dữ liệu khác có thể cải thiện tìm kiếm nhị phân trong một số trường hợp với cả mục đích tìm kiếm lẫn các thao tác khác có thể được thực hiện trên các mảng đã được sắp xếp. Ví dụ, các phép tìm kiếm, so khớp xấp xỉ và các thao tác khác trên mảng đã được sắp xếp có thể được thực hiện hiệu quả hơn tìm kiếm nhị phân nếu áp dụng trên các cấu trúc dữ liệu chuyên biệt như cây van Emde Boas, fusion trees, trie và mảng bit. Các cấu trúc dữ liệu chuyên biệt này thường chỉ nhanh hơn vì chúng sử dụng các tính chất của những khóa có điều kiện nhất định (thông thường những khóa này là các số nguyên nhỏ), và do đó thời gian chạy hoặc không gian cần sử dụng có thể lớn nếu không đáp ứng được các điều kiện ấy. Với điều kiện có thể sắp xếp được các khóa, các thao tác này luôn luôn có thể được thực hiện hiệu quả trên một mảng đã được sắp xếp trước, không phụ thuộc vào các khóa. Một số cấu trúc như mảng Judy sử dụng kết hợp nhiều phương pháp nhằm đơn giản hóa điều kiện trên, nhưng vẫn giữ được sự hiệu quả và khả năng thực hiện so khớp xấp xỉ.
Tìm kiếm nhị phân đồng nhất
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
, phần tử giữa (m) sẽ là
Đường Lâm (định hướng)
Đường Lâm có thể là:
Tìm kiếm nhị phân
Tìm kiếm nhị phân đồng nhất
6
. Trong trường hợp này, phần tử giữa của mảng con bên trái (
) là
3
và phần tử giữa của mảng con bên phải (
9
. Thuật toán sẽ lưu giá trị
. Để giảm không gian tìm kiếm, thuật toán sẽ cộng thêm hoặc trừ bớt lượng thay đổi này so với chỉ số của phần tử đứng giữa. Tìm kiếm nhị phân đồng nhất có thể chạy nhanh hơn trên các hệ thống không có khả năng tính được điểm giữa một cách hiệu quả, như trên các máy tính thập phân.
Tìm kiếm mũ
thumb|upright=1.5|Minh họa thuật toán [[tìm kiếm mũ tìm giới hạn trên để thực hiện tìm kiếm nhị phân]] Tìm kiếm mũ là thuật toán mở rộng của tìm kiếm nhị phân với các danh sách không có giới hạn. Thuật toán bắt đầu bằng việc tìm phần tử đầu tiên có chỉ số là một lũy thừa của hai và đồng thời có giá trị lớn hơn giá trị cần tìm. Sau đó, chỉ số này sẽ được đặt làm giới hạn trên, và quá trình tìm kiếm tiếp tục dưới dạng tìm kiếm nhị phân. Một lần tìm kiếm thực hiện phép lặp trước khi bắt đầu tìm kiếm nhị phân, cộng thêm nhiều nhất  phép lặp khi thực hiện tìm kiếm nhị phân, trong đó x là vị trí của giá trị cần tìm. Tìm kiếm mũ cũng hoạt động với các danh sách có giới hạn, nhưng chỉ hiệu quả hơn tìm kiếm nhị phân khi giá trị cần tìm nằm gần đầu mảng.
Tìm kiếm nội suy
thumb|upright=1.5|Minh họa thuật toán [[tìm kiếm nội suy sử dụng nội suy tuyến tính. Trong trường hợp này, việc tìm kiếm không cần thực hiện nữa do vị trí ước lượng của giá trị cần tìm trong mảng đã chính xác. Các cách áp dụng khác có thể dùng một hàm khác để ước lượng vị trí của giá trị cần tìm.]] Thay vì tính điểm giữa, tìm kiếm nội suy ước lượng vị trí của giá trị cần tìm dựa vào các phần tử lớn nhất, nhỏ nhất và kích thước của mảng. Thuật toán này hoạt động dựa trên thực tế rằng trong nhiều trường hợp, vị trí đứng giữa có thể không phải vị trí ước lượng tốt nhất. Ví dụ, nếu giá trị cần tìm nằm gần với phần tử lớn nhất trong mảng, nhiều khả năng nó sẽ nằm ở cuối mảng.
Một loại hàm nội suy thường được sử dụng là nội suy tuyến tính. Nếu A là mảng cần tìm, L, R lần lượt là các giới hạn dưới và trên, và T là giá trị cần tìm, thì giá trị cần tìm được ước lượng nằm ở khoảng khoảng cách giữa L và R. Khi áp dụng nội suy tuyến tính, and the distribution of the array elements is uniform or near uniform, tìm kiếm nội suy thực hiện  phép so sánh.
Trong thực tế, tìm kiếm nội suy chạy chậm hơn tìm kiếm nhị phân đối với các mảng nhỏ, do tìm kiếm nội suy cần nhiều tính toán hơn. Độ phức tạp thời gian của thuật toán này tăng chậm hơn so với tìm kiếm nhị phân, nhưng chỉ bù đắp được cho phần tính toán cộng thêm khi mảng có kích thước lớn.
Đổ xuống một phần
thumb|upright=2.5|Trong đổ xuống một phần, mỗi mảng chứa các con trỏ trỏ tới mỗi phần tử thứ hai của một mảng khác, do đó chỉ cần thực hiện một lần tìm kiếm nhị phân để tìm trong tất cả các mảng. Đổ xuống một phần là kỹ thuật nhằm làm tăng tốc tìm kiếm nhị phân với cùng một giá trị trong nhiều mảng khác nhau đã được sắp xếp. Nếu thực hiện tìm từng mảng tách riêng nhau ta phải cần O(k \log n) thời gian, trong đó k là số mảng. Phương pháp đổ xuống một phần làm giảm con số này xuống còn bằng cách lưu các thông tin cụ thể ở mỗi mảng về mỗi phần tử và vị trí của chúng ở các mảng khác.
Phương pháp đổ xuống một phần ban đầu được phát triển để giải quyết các bài toán trong hình học tính toán. Phương pháp này đã được áp dụng trong nhiều lĩnh vực khác, như khai phá dữ liệu và định tuyến giao thức Internet.
Tổng quát với đồ thị
Tìm kiếm nhị phân đã được tổng quát để hoạt động với một số loại đồ thị, trong đó giá trị cần tìm được lưu trong một đỉnh thay vì phần tử của một mảng. Cây tìm kiếm nhị phân chính là một trong số những cách tổng quát đó—khi một đỉnh (nút) trong cây được truy vấn, thuật toán sẽ xác định hoặc là đỉnh đó chính là giá trị cần tìm, hoặc đi tìm cây con có giá trị cần tìm. Quá trình này còn có thể khái quát hơn nữa như sau: cho một đồ thị vô hướng, trọng số dương và một đỉnh cần tìm, khi truy vấn một đỉnh, thuật toán sẽ xác định hoặc đỉnh đó bằng đỉnh cần tìm, hoặc tìm được cạnh kề nằm trong đường đi ngắn nhất từ đỉnh đang xét đến đỉnh cần tìm. Thuật toán tìm kiếm nhị phân tiêu chuẩn là trường hợp đặc biệt khi đồ thị chỉ là một đường đi. Tương tự, các cây tìm kiếm nhị phân là trường hợp mà các cạnh thuộc cây con bên trái hoặc bên phải được tìm ra nếu đỉnh được truy vấn không bằng đỉnh cần tìm. Với mọi đồ thị vô hướng có trọng số dương, luôn tồn tại một thuật toán có thể tìm ra một đỉnh cho trước trong O(\log n) phép truy vấn ở trường hợp tệ nhất.
Tìm kiếm nhị phân nhiễu
thumb|upright=1.5|Trong tìm kiếm nhị phân nhiễu, chắc chắn tồn tại xác suất phép so sánh cho kết quả sai. Các thuật toán tìm kiếm nhị phân nhiễu (noisy binary search) có thể giải quyết các trường hợp mà thuật toán không thể so sánh chính xác các phần tử trong mảng. Ở mỗi cặp phần tử đều tồn tại một xác suất nhất định rằng thuật toán thực hiện sai phép so sánh. Tìm kiếm nhị phân nhiễu có thể tìm vị trí chính xác của giá trị cần tìm với một xác suất cho trước, nhằm kiểm soát độ chính xác của kết quả. Mỗi lần tìm kiếm nhị phân nhiễu phải thực hiện trung bình ít nhất phép so sánh, trong đó  là hàm entropy nhị phân và \tau là xác suất một lần tìm kiếm cho ra kết quả sai. Bài toán tìm kiếm nhị phân nhiễu có thể được coi là một trường hợp của trò chơi Rényi-Ulam, một biến thể của trò chơi Hai mươi câu hỏi trong đó các câu trả lời có thể sai.
Tìm kiếm nhị phân lượng tử
Các máy tính cổ điển khi thực hiện tìm kiếm nhị phân bị giới hạn số phép lặp ở mức trong trường hợp tệ nhất. Các thuật toán lượng tử dành cho tìm kiếm nhị phân vẫn chỉ bó buộc trong khoảng \log_2 n phép truy vấn (biểu diễn cho phép lặp trong trường hợp cổ điển), nhưng có hệ số nhỏ hơn một, do đó làm giảm độ phức tạp thời gian trên các máy tính lượng tử. Bất cứ thao tác tìm kiếm nhị phân lượng tử chính xác nào—tức là thao tác luôn cho kết quả đúng—cần ít nhất phép truy vấn ở trường hợp tệ nhất, trong đó \ln là hàm logarit tự nhiên. Có một phương pháp tìm kiếm nhị phân lượng tử chính xác chạy trong phép truy vấn ở trường hợp tệ nhất. So với các thuật toán khác, thuật toán Grover là thuật toán lượng tử tối ưu cho việc tìm kiếm trong một danh sách các phần tử chưa được sắp xếp, với O(\sqrt{n}) phép truy vấn.
Lịch sử
Ý tưởng về việc sắp xếp một danh sách để tìm kiếm được nhanh hơn đã có từ thời cổ xưa. Ví dụ được biết tới sớm nhất là tấm bảng của Inakibit-Anu từ thời Babylon vào c. 200 TCN. Tấm bảng này chứa khoảng 500 con số ở hệ thập lục phân và các số nghịch đảo của chúng được sắp xếp theo thứ tự từ điển, khiến việc tìm kiếm dễ dàng hơn. Ngoài ra trên Quần đảo Aegean còn phát hiện được một vài danh sách những cái tên được sắp xếp theo chữ cái đầu tiên. Catholicon, một cuốn từ điển Latin được hoàn thành vào năm 1286 SCN, là tác phẩm đầu tiên mô tả các quy tắc sắp xếp các từ theo thứ tự bảng chữ cái, thay vì chỉ theo vài ký tự đầu tiên.
Vào năm 1946, John Mauchly là người đầu tiên nhắc tới tìm kiếm nhị phân trong Moore School Lectures, một khóa học về máy tính tại Trường Kỹ thuật Điện tử Moore, Đại học Pennsylvania. Năm 1957, William Wesley Peterson xuất bản phương pháp đầu tiên cho giải thuật tìm kiếm nội suy. Mọi thuật toán tìm kiếm nhị phân đã được xuất bản chỉ hoạt động với các mảng có độ dài ở dạng cho tới năm 1960, khi Derrick Henry Lehmer cho xuất bản một thuật toán tìm kiếm nhị phân có thể hoạt động với mọi mảng. Năm 1962, Hermann Bottenbruch trình bày thuật toán tìm kiếm nhị phân được áp dụng bằng ngôn ngữ ALGOL 60, trong đó bước kiểm tra phần tử giữa được đưa xuống cuối, làm tăng số phép lặp trung bình thêm một, nhưng giảm được một bước so sánh mỗi phép lặp. Thuật toán uniform binary search được phát triển bởi A. K. Chandra tại Đại học Stanford vào năm 1971. Năm 1986, Bernard Chazelle và Leonidas J. Guibas giới thiệu phương pháp đổ xuống một phần (fractional cascading) nhằm giải quyết nhiều vấn đề về tìm kiếm trong hình học tính toán.
Thư viện hỗ trợ
Nhiều thư viện chuẩn của các ngôn ngữ có các chương trình con thực hiện tìm kiếm nhị phân:
Tài liệu
•
• Condensed web version ; book version.
Thể loại:Giải thuật tìm kiếm
Afromelanichneumon capensis
Afromelanichneumon capensis là một loài tò vò trong họ Ichneumonidae.
Lữ Phúc Nguyên
Lữ Phúc Nguyên (tháng 10 năm 1945 – 18 tháng 5 năm 2004) là bộ trưởng đầu tiên của Bộ Thương mại Trung Quốc.
Tuyến Silom
Tuyến BTS Silom (รถไฟฟ้า สายสีลม) hoặc Tuyến xanh lá đậm, là một tuyến tàu điện ngầm thuộc BTS Skytrain tại Bangkok, Thái Lan. Nó được quản lý bởi Bangkok Mass Transit System PCL (BTSC), một công ty con thuộc BTS Group Holdings, dưới sự nhượng quyền của Chính quyền Đô thị Bangkok (BMA). Tuyến Silom chủ yếu phục vụ tại tuyến đường Silom và Sathon, quận kinh doanh trung tâm của Bangkok, ga cuối đặt tại Sân vận động quốc gia và Bang Wa. Tổng chiều dài tuyến là 14,67km bao gồm 14 nhà ga.
Lữ Phúc Nguyên
Liên kết ngoài
Thể loại:Cựu sinh viên Đại học Cát Lâm
Tuyến Silom
Lịch sử
Ban đầu tuyến bao gồm 7 nhà ga từ Sân vận động Quốc gia (W1) đến Saphan Taksin (S6) khi BTS lần đầu tiên mở cửa vào ngày 5 tháng 12 năm 1999. Nhà ga S4 không nằm trong kế hoạch ban đầu được hoàn thành vào năm 2021. Một đoạn mở rộng 2,2 km bắc qua sông đến Wongwian Yai (S8) mở cửa vào ngày 15 tháng 5 năm 2009 sau 2 năm trì hoãn. Đoạn 5,3 km mở rộng bao gồm 4 nhà ga từ Wongwian Yai (S8) đến Bang Wa (S12) mở cửa vào ngày 5 tháng 12 năm 2013 sau khi bị trì hoãn bởi trận lụt Bangkok năm 2011.
Công trình hiện tại và mở rộng
Tổng hợp các công trình mở rộng của tuyế BTS Silom:
Mở rộng lần 1 đến Wong Wian Yai
Vào ngày 18 tháng 10 năm 2005, không đạt được sự chấp thuận từ chính phủ, Chính quyền Đô thị Bangkok (BMA) quyết định tài trợ và hoàn thành 2,2 km tuyến Silom mở rộng đến ga Krung Thonburi (S07) và ga Wongwian Yai (S08). Công trình được khởi công vào ngày 13 tháng 12 năm 2005 và hoàn thành trong 2 năm sau đó. Tuy nhiên, do gặp phải vấn đề đấu thầu và lắp đặt hệ thống tín hiệu Bombardier mới nên đẩy lùi thời gian mở cửa. Sau đó chính thức hoạt động vào ngày 15 tháng 5 năm 2009. Tuy nhiên, ke ga đơn tại ga Saphan Taksin chỉ có một đường ray, dẫn đến tình trạng trì hoãn giờ cao điểm. Vào năm 2012, BMA công bố kế hoạch phá dỡ ga Saphan Taksin trong tương lai. Kế hoạch hiện tại sẽ xây dựng ke ga mới để loại bỏ tình trạng ùn tắc và giúp cho nhà ga liên kết tốt với các bến phà. Kế hoạch bao gồm tái thiết kế đường cầu cạn để khớp với nhà ga mới.
Mở rộng lần 2 đến Bang Wa
Lần mở rộng 5,3 km bao gồm 4 nhà ga từ Wongwian Yai (S8) đến Bang Wa (S12) tại quận Phasi Charoen khởi công từ quý 2 năm 2011 với tiến độ hoàn thành vào cuối năm 2012. Chỉ có các nhà ga thiết kế dạng cầu cạn được hoàn thành trước. Tuy nhiên, công trình bị trì hoãn vài tháng do tình trạng lụt ở Bangkok vào cuối năm 2011. Pho Nimit mở cửa ngày 12 tháng 1 năm 2013, Talat Phlu mở cửa ngày 14 tháng 2 2013, và hai nhà ga cuối cùng mở cửa ngày 5 tháng 12 năm 2013. Đoạn mở rộng được vận hành bởi 6 đoàn tàu cùng đưa đón do chưa hoàn thành đoạn Wongwian Yai (S8) và Talat Phlu (S10). Hai ga còn lại Wutthakat (S11) và Bang Wa (S12) mở cửa ngày 5 tháng 12 năm 2013.
Ga Saint Louis (S4) – Tuyến Silom
Vào năm 2018, quyết định xây dựng ga Saint Louis (S4) (ban đầu là Sueksa Wittaya). Công trình nhà ga bắt đầu từ tháng 8 năm 2019 và đạt 25% khối lượng tính đến cuối năm 2019. Đến tháng 8 năm 2020, công trình đạt 50% nhưng trễ 30% tiến độ do ảnh hưởng của COVID.
Nhà ga mở cửa vào ngày 8 tháng 2 năm 2021.
Xem thêm
Thể loại:Tuyến BTS Skytrain Thể loại:Tuyến đường sắt mở cửa vào 1999 Thể loại:Khởi đầu năm 1999 ở Thái Lan
Argiope doboensis
Argiope doboensis là một loài nhện trong họ Araneidae.
Loài này thuộc chi Argiope. Argiope doboensis được Embrik Strand miêu tả năm 1911.
Tham khảo
Thể loại:Argiope
Sybra sumatrensis
Sybra sumatrensis là một loài bọ cánh cứng trong họ Cerambycidae.
Tham khảo
Thể loại:Sybra
Bombus ladakhensis
Bombus ladakhensis là một loài Hymenoptera trong họ Apidae. Loài này được Richards mô tả khoa học năm 1928.
Tham khảo
L Thể loại:Động vật được mô tả năm 1928
Cô
Cô có thể hiểu là:
Thể loại:Định hướng
(6018) 1991 PS16
(6018) 1991 PS16 là một tiểu hành tinh vành đai chính. Nó được phát hiện bởi Henry E. Holt ở Đài thiên văn Palomar ở Quận San Diego, California, ngày 7 tháng 8 năm 1991.
Liên kết ngoài
Thể loại:Thiên thể phát hiện năm 1991 Thể loại:Được phát hiện bởi Henry E. Holt Thể loại:Tiểu hành tinh vành đai chính
Xương rồng lược
Xương rồng lược (danh pháp hai phần: Mammillaria pectinifera) là một loài thực vật có hoa trong họ Cactaceae. Loài này được F.A.C. Weber mô tả khoa học đầu tiên năm 1898.
Liên kết ngoài
P Thể loại:Thực vật được mô tả năm 1898
Lytta xanthomeros
Lytta xanthomeros là một loài bọ cánh cứng trong họ Meloidae. Loài này được Fischer miêu tả khoa học năm 1827.
Tham khảo
Thể loại:Lytta
Moore, Oklahoma
Moore, Oklahoma là một thành phố thuộc quận Cleverland tại tiểu bang Oklahoma, Hoa Kỳ. Thành phố có diện tích 56,7 km2, dân số 53.763 người theo điều tra dân số năm 2010 của Cục điều tra dân số Hoa Kỳ. Moore là một phần của vùng đô thị thành phố Oklahoma. Nằm cạnh biên giới phía bắc của quận Cleveland, Moore là thành phố lớn thứ hai trong quận và thành phố lớn thứ bảy trong tiểu bang. Moore đã từng được biết đến với tên gọi cộng đồng ngủ nhưng ngày nay thành phố có ngành giải trí, ăn uống và mua sắm tốt. Moore có khoảng cách ít hơn hai mươi phút từ trung tâm thành phố Oklahoma, sân bay Will Rogers World, căn cứ không quân Tinker, Đại học Oklahoma.
Thành phố của Moore đã bị hư hỏng do lốc xoáy đáng kể đến 04 tháng 10 năm 1998, ngày 03 Tháng 5 năm 1999, 08 tháng năm 2003, 10 tháng năm 2010, và 20 tháng 5 năm 2013.
Tham khảo
Thể loại:Thành phố của Oklahoma
Acaulimalva stuebelii
Acaulimalva stuebelii là một loài thực vật có hoa trong họ Cẩm quỳ. Loài này được (Hieron.) Krapov. mô tả khoa học đầu tiên năm 1974.
Oberonia bicornis
Liên kết ngoài
Thể loại:Oberonia Thể loại:Thực vật được mô tả năm 1830
Xã Douglas, Quận Webster, Iowa
Xã Douglas (Douglas Township) là một xã thuộc quận Webster, tiểu bang Iowa, Hoa Kỳ. Năm 2010, dân số của xã này là 1.152 người.
Tham khảo
Thể loại:Xã của Iowa Thể loại:Quận Webster, Iowa
Pleiotaxis lawalreana
Pleiotaxis lawalreana là một loài thực vật có hoa trong họ Cúc. Loài này được Lisowski miêu tả khoa học đầu tiên năm 1987.
Liên kết ngoài
Thể loại:Pleiotaxis Thể loại:Thực vật được mô tả năm 1987
Cheemalagutta, Chintamani
Cheemalagutta là một làng thuộc tehsil Chintamani, huyện Kolar, bang Karnataka, Ấn Độ.
Tham khảo
Thể loại:Kolar (huyện)
Lepidosperma bungalbin
Lepidosperma bungalbin là loài thực vật có hoa trong họ Cói. Loài này được R.L.Barrett mô tả khoa học đầu tiên năm 2007.
Liên kết ngoài
Thể loại:Lepidosperma Thể loại:Thực vật được mô tả năm 2007
Lithacodia mella
Lithacodia mella là một loài bướm đêm trong họ Noctuidae.
Liên kết ngoài
Thể loại:Lithacodia
Kim Mã
Kim Mã là một phường thuộc quận Ba Đình, thành phố Hà Nội, Việt Nam.
Phường Kim Mã có diện tích 0,48 km², dân số năm 2022 là 15.571 người, mật độ dân số đạt 0 người/km².
Eugenia rottleriana
Eugenia rottleriana là một loài thực vật thuộc họ Myrtaceae. Đây là loài đặc hữu của Ấn Độ.
Tham khảo
Thể loại:Thực vật Ấn Độ R Thể loại:Thực vật dễ tổn thương
Afogados da Ingazeira
Afogados da Ingazeira là một đô thị thuộc bang Pernambuco, Brasil. Đô thị này có diện tích 377,86 km², dân số năm 2007 là 34022 người, mật độ 90,04 người/km².
Liên kết ngoài
Thể loại:Đô thị bang Pernambuco
Bosroger
Bosroger là một xã thuộc tỉnh Creuse trong vùng Nouvelle-Aquitaine miền trung nước Pháp.
Liên kết ngoài
Thể loại:Xã của Creuse
Renealmia orinocensis
Renealmia orinocensis là một loài thực vật có hoa trong họ Gừng. Loài này được Rusby miêu tả khoa học đầu tiên năm 1920.
Liên kết ngoài
Thể loại:Renealmia Thể loại:Thực vật được mô tả năm 1920
Eriogonum jamesii
Eriogonum jamesii là một loài thực vật có hoa trong họ Rau răm. Loài này được Benth. mô tả khoa học đầu tiên năm 1856.
Liên kết ngoài
Thể loại:Eriogonum Thể loại:Thực vật được mô tả năm 1856 Thể loại:Thực vật Tây Nam Hoa Kỳ Thể loại:Thực vật Texas
Heterarmia charon
Heterarmia charon là một loài bướm đêm trong họ Geometridae.
Liên kết ngoài
Thể loại:Heterarmia
(65691) 1991 PT10
Tham khảo
Thể loại:Thiên thể phát hiện năm 1991 Thể loại:Được phát hiện bởi Henry E. Holt Thể loại:Tiểu hành tinh vành đai chính
Bombus laesus
Bombus laesus là một loài Hymenoptera trong họ Apidae. Loài này được Morawitz mô tả khoa học năm 1875.
Tham khảo
L Thể loại:Động vật được mô tả năm 1875
Calonotos antennata
Calonotos antennata là một loài bướm đêm thuộc phân họ Arctiinae, họ Erebidae.
Liên kết ngoài
Thể loại:Calonotos
Endothenia quadrimaculana
Sải cánh dài 18–22 mm. In France và Switzerland, there are two generations per year. Con trưởng thành bay vào tháng 5 và tháng 6 và một lần nữa vào tháng 8 và tháng 9.
Ấu trùng ăn Mentha spicata, Mentha arvensis, Lamium album, Stachys palustris, Stachys arvensis, Stachys recta và Symphytum officinale. Ở Pháp cũng trên cây Stachys affinis, được du nhập từ Nhật Bản.
Liên kết ngoài
Thể loại:Endothenia Thể loại:Côn trùng châu Âu
Justicia orosiensis
Justicia orosiensis là một loài thực vật có hoa trong họ Ô rô. Loài này được Durkee mô tả khoa học đầu tiên năm 1986.
Chú thích
Thể loại:Justicia Thể loại:Thực vật được mô tả năm 1986
Dulag
phải|nhỏ|Bản đồ Leyte với vị trí của Dulag Dulag là đô thị loại ba ở tỉnh Leyte trong vùng Đông Visayas (Vùng VIII) của Philippines. Thị xã có diện tích 11.007 héc ta và dân số 44.143 người.
Dulag được chia ra 45 barangay.
Liên kết ngoài
Thể loại:Đô thị của Leyte
Saviô Hàn Đại Huy
right|thumb|200px|Huy hiệu Giám mục Savio Hàn Đại Huy Savio Hàn Đại Huy, SDB (tiếng Trung: 韩大辉, tiếng Anh: Hon Tai-Fai; sinh ngày 21 tháng 10 năm 1950) là một tổng giám mục Công giáo Rôma hiện đang giữ chức Sứ thần Tòa Thánh tại Hy Lạp. Trước đó, ông từng là tổng thư ký Bộ Phúc Âm hóa các Dân tộc, Giám quản Tông Tòa Giáo phận Agaña (Guam). Ông là một tu sĩ Dòng Salêdiêng Don Bosco (SDB), từng là giáo sư thần học tại Đại chủng viện Thánh Linh ở Hồng Kông.
Hàn Đại Huy sinh tại Hồng Kông năm 1950. Sau khi học tại một trường học Dòng Salêdiêng Don Bosco, ông khấn lần đầu vào ngày 15 tháng 8 năm 1969 và khấn trọn vào ngày 15 tháng 8 năm 1975. Đến ngày 17 tháng 7 năm 1982, ông được thụ phong linh mục tại Giáo phận Hồng Kông. Hàn Đại Huy có bằng cử nhân triết học của Đại học London và tiến sĩ thần học của Đại học Giáo hoàng Salêdiêng ở Roma. Ông từng là một giáo sư thỉnh giảng tại các chủng viện khác nhau ở Trung Quốc. Các công trình nghiên cứu của ông đã xuất hiện trên nhiều ấn phẩm khác nhau, đặc biệt là thần học. Ông cũng đóng vai trò lớn trong bản dịch quyển Sách Giáo lý Giáo hội Công giáo sang tiếng Trung Quốc.
Ngày 23 tháng 12 năm 2010, ông được Giáo hoàng Biển Đức XVI bổ nhiệm làm Tổng giám mục Hiệu tòa Sila, giữ chức tổng thư ký Bộ Phúc Âm hóa các Dân tộc của Giáo triều Rôma. Lễ tấn phong được cử hành ngày 5 tháng 2 năm 2011 tại Vatican. Ngày 6 tháng 6 năm 2016, ông được Giáo hoàng Phanxicô bổ nhiệm kiêm chức giám quản Tông Tòa tại Giáo phận Agana, Guam. Ngày 28 tháng 9 năm 2017, ông được bổ nhiệm làm Sứ thần Tòa Thánh tại Hy Lạp.
Kể từ khi giữ chức tổng thư ký Thánh bộ truyền giáo, tổng Giám mục Hàn Đại Huy đã đóng vai trò quan trọng để Tòa Thánh tìm hiểu về các vấn đề liên quan đến Giáo hội Công giáo tại Trung Quốc.
Liên kết ngoài
Thể loại:Giám mục Công giáo Hồng Kông Thể loại:Tu sĩ Dòng Salêdiêng Don Bosco Thể loại:Giám mục Công giáo thế kỉ 20 Thể loại:Giám mục Công giáo thế kỉ 21
Eugenia rostadonis
Eugenia rostadonis là một loài thực vật thuộc họ Myrtaceae. Đây là loài đặc hữu của Malaysia.
Tham khảo
Thể loại:Thực vật Malaysia R
Lyttamorpha peruana
Lyttamorpha peruana là một loài bọ cánh cứng trong họ Meloidae. Loài này được Kaszab miêu tả khoa học năm 1978.
Tham khảo
Thể loại:Lyttamorpha
Villenauxe-la-Petite
Dân số
Người dân ở Villenauxe-la-Petite được gọi là Villenauxois.
Điều tra dân số năm 1999, xã này có dân số là 372.
Pánd
Tham khảo
Thể loại:Hạt Pest Thể loại:Thị trấn của Hungary
Argiope ericae
Argiope ericae là một loài nhện trong họ Araneidae.
Loài này thuộc chi Argiope. Argiope ericae được Herbert Walter Levi miêu tả năm 2004.
Tham khảo
Thể loại:Argiope
Afromelanichneumon capicola
Afromelanichneumon capicola là một loài tò vò trong họ Ichneumonidae.
Liên kết ngoài
Thể loại:Afromelanichneumon
Lithacodia merta
Lithacodia merta là một loài bướm đêm trong họ Noctuidae.
Liên kết ngoài
Thể loại:Lithacodia
Chrysopogon copei
Chrysopogon copei là một loài thực vật có hoa trong họ Hòa thảo. Loài này được N.Mohanan & Ravi mô tả khoa học đầu tiên năm 2001.
Liên kết ngoài
Thể loại:Chrysopogon (Poaceae) Thể loại:Thực vật được mô tả năm 2001
Mammillaria peninsularis
Mammillaria peninsularis là một loài thực vật có hoa trong họ Cactaceae. Loài này được (Britton & Rose) Orcutt mô tả khoa học đầu tiên năm 1926.
Liên kết ngoài
Thể loại:Mammillaria Thể loại:Thực vật được mô tả năm 1926
Tính năng phần mềm
Trong phần mềm, thuật ngữ tính năng có một số định nghĩa. Hội Kỹ sư Điện và Điện tử đã định nghĩa thuật ngữ tính năng trong IEEE 829 là "[một] đặc điểm phân biệt của một hạng mục phần mềm (ví dụ: hiệu suất, tính di động hoặc chức năng)."
Giàu tính năng
Một phần mềm được cho là "giàu tính năng" khi nó có sẵn nhiều tùy chọn và chức năng cho người dùng. Tiết lộ dần dần là một kỹ thuật được áp dụng để giảm sự nhầm lẫn tiềm ẩn do hiển thị nhiều tính năng cùng một lúc.
Đôi khi, nếu một phần mềm rất giàu tính năng thì đó có thể được coi là một điều tồi tệ. Các thuật ngữ "Feature creep" và "Bloatware" có thể được sử dụng để chỉ phần mềm có quá nhiều tính năng.
Eriogonum jonesii
Liên kết ngoài
Thể loại:Eriogonum Thể loại:Thực vật được mô tả năm 1886
Bỏng gạo
nhỏ|Một gói bỏng ống nhỏ|Một số loại bỏng gạo khác Bỏng gạo cũng gọi là Cốm gạo hay Bỏng ống hoặc Bỏng mật là một thức quà vặt phổ biến ở các làng quê Bắc Bộ với nguyên liệu chính là gạo và đường, có nhiều hình thù và cách làm khác nhau.
Bỏng ống
Bỏng này có ruột rỗng, trông như cái ống nên gọi là Bỏng ống hay Bỏng gậy hoặc Bỏng que dài tầm 20 cm hoặc hơn. Bỏng làm từ gạo tẻ, đường, dừa khô, một ít gạo nếp và chút muối. Ngày nay cũng có nơi làm bằng gạo lứt, có khi thêm cả mì tôm vụn, đậu xanh, hạt lạc hay bột milo...
Các nguyên liệu được trộn đều và cho vào máy nổ. Khi thành phẩm chui ra còn rất nóng thì người thợ làm bỏng sẽ cắt thành khúc luôn và đóng gói ngay khi còn ấm để giữ độ giòn.
Một số nơi làm bỏng gạo - ngô thì hạt ngô khô là chính, bỏng sẽ có màu vàng. Cũng có nơi làm bằng ngũ cốc và cho thêm củ mài. Bỏng cũng nổ bằng máy rỗng ruột như bỏng ống nhưng người ta cắt ngắn, tạo hình như kim tự tháp, gọi là Bánh ngũ cốc củ mài phổ biến quanh Chùa Hương, Hà Tây cũ.
Bỏng nắm
Bỏng làm từ gạo nếp đem rang trên chảo gang nhưng chưa đến mức nổ bung mà vẫn còn nguyên hình, to gấp ba lần hạt ban đầu. Loại bỏng này cũng gọi là Cốm gạo (dùng đường) hay Bỏng mật (dùng mật mía) và đều nhỏ cỡ nắm tay.
Đun mật mía hoặc đường, và phải có mạch nha để tạo thành hỗn hợp. Sau đó đổ gạo rang vào trộn đều. Khi gần nguội, người thợ sẽ nhanh tay nắm thành các nắm hình tròn. Cũng có khi đổ ra thành mảng và cắt thành miếng hình vuông hay chữ nhật. Bỏng sẽ dính tay nên phải để nguội mới giòn và đóng gói được.
Cũng có nơi làm bỏng mật từ ngô thay gạo và thêm ít gừng giã vụn. Còn nếu gạo rang đến mức nổ bung thì cũng gọi là Bim bim, nếu đem nghiền thành bột sẽ là nguyên liệu chính của Bánh Chè lam.
Tiêu dùng
Mỗi khi trời mưa dầm dài ngày hay chuyển lạnh, người ta thường đi nổ Bỏng ống để ăn vặt. Loại bỏng này luôn phải bọc kín và sau 1-2 tuần cũng không giòn nữa. Còn Bỏng nắm có mật mía và mạch nha, bảo quản được lâu hơn và bày bán thường xuyên. Ngày nay, bỏng gạo trở thành một món quà thú vị với cả người Hà Nội và khách du lịch nước ngoài.
Tham khảo
Thể loại:Bánh Việt Nam từ gạo
Schefflera pachyphlebia
Schefflera pachyphlebia là một loài thực vật có hoa trong Họ Cuồng cuồng. Loài này được Merr. miêu tả khoa học đầu tiên năm 1918.
Liên kết ngoài
P Thể loại:Thực vật được mô tả năm 1918
Heterarmia conjunctaria
Heterarmia conjunctaria là một loài bướm đêm trong họ Geometridae.
Liên kết ngoài
Thể loại:Heterarmia
Epinotia granitalis
Sải cánh dài 13–16 mm. Con trưởng thành bay từ đầu tháng 6 đến cuối tháng 7.
Ấu trùng ăn Cryptomeria japonica và Chamaecyparis obtusa.
Liên kết ngoài
Thể loại:Epinotia
Người Việt tại Phần Lan
Người Việt tại Phần Lan là nhóm di dân người Việt cư ngụ tại Phần Lan.
Theo số liệu dân số của chính phủ Phần Lan năm 2007 thì có 4.645 người dùng tiếng Việt là ngôn ngữ chính và 2.010 người mang quốc tịch Việt Nam sinh sống tại Phần Lan.
Cuộc kiểm tra dân số năm 2011 cho biết có 6.060 người nói tiếng Việt, đứng hạng thứ 10 trong các cộng đồng gốc ngoại quốc. Đa số họ sinh sống ở hai thành phố lớn: Helsinki và Turku. Đến năm 2019 sẽ người việt ở đây khoảng 12 nghìn người và vẫn đang có dấu hiệu tăng lên.