A
B
C
D
F
G
E
H
K
C U TRÚC D LI U VÀ
C U TRÚC D LI U VÀ
GI I THU T (501040)
GI I THU T (501040)
Ch ng 7: Tìm ki mươ ế
Ch ng 7: Tìm ki mươ ế
ĐH Bách Khoa Tp.HCM Ch ng 7. Tìm ki mươ ế 2
Khoa Công ngh Thông tin
Khái ni m tìm ki m ế
Cho bi t:ế
M t danh sách các b n ghi (record).
M t khóa c n tìm.
Tìm b n ghi có khóa trùng v i khóa c nm (n u ế
).
Đo đ hi u qu :
S l n so sánh khóa c n tìm và khóa c a các b n
ghi
Pn lo i:
Tìm ki m n i (internal searching)ế
Tìm ki m ngo i (external searching)ế
ĐH Bách Khoa Tp.HCM Ch ng 7. Tìm ki mươ ế 3
Khoa Công ngh Thông tin
B n ghi và khóa
B n ghi:
Khóa
D li u
Ka:
So sánh đ cượ
Th ng là sườ
Trích khóa t b n ghi:
So sánh các b n ghi
ĐH Bách Khoa Tp.HCM Ch ng 7. Tìm ki mươ ế 4
Khoa Công ngh Thông tin
B n ghi và khóa trên C++
class Key {
public: // Add any constructors and methods for key data.
private: // Add declaration of key data members here.
};
bool operator == (const Key &x, const Key &y);
bool operator > (const Key &x, const Key &y);
bool operator < (const Key &x, const Key &y);
bool operator >= (const Key &x, const Key &y);
bool operator <= (const Key &x, const Key &y);
bool operator != (const Key &x, const Key &y);
class Record{
public:
operator Key( ); // implicit conversion from Record to Key .
// Add any constructors and methods for Record objects.
private:
// Add data components.
};
ĐH Bách Khoa Tp.HCM Ch ng 7. Tìm ki mươ ế 5
Khoa Công ngh Thông tin
Hàm tìm ki mế
Tham s vào:
Danh sách c n tìm
Khóa c n tìm
Tham s ra:
V trí ph n t tìm th y (n u có) ế
K t qu hàm: ki u Error_codeế
Tìm th y: success
Không tìm th y: not_present