Em đang có bài tập xây dựng 1 từ điển command line đơn giản dùng dữ liệu từ file txt và đang phân vân phương án: Nạp tất cả dữ liệu lên bộ nhớ bằng cách lưu vào List, mỗi lần tìm thì nhân bản List vừa tạo để tên là cloneList, mỗi lần gõ 1 kí tự và tăng biến nhớ i (lưu vị trí của kí tự này trong từ cần tìm), so sánh ký tự vừa nhập với ký tự thứ i của các phần từ trong cloneList nếu k trùng thì xóa bỏ, kết quả cuối cùng là từ cần tìm hoặc rỗng.
Theo em thấy thì dùng cách này vs dữ liệu nhỏ thì k sao nhưng thì dữ liệu lớn thì rất tốn ram nên đăng topic này hỏi xem có anh/bạn nào có thuật toán nào hay hơn không ạ?
Thuật toán tìm kiếm trong từ điển
1 cách đơn giản thôi, dùng Hashmap =_=
Dạo này nhiều người hỏi bài này thế
1 Like
vâng, để em tìm hiểu xem
- Tại sao lại phải tạo list clone ?
- Tại sao phải xóa phần tử trong list ?
P/S Dùng Cây.
Thậm chí có cả perfect hash function, nhưng đó là khi dữ liệu mang tính read-only.
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?