Cấu trúc dữ liệu là là cách thức lưu trữ dữ liệu trong chương trình. Nắm được các cấu trúc dữ liệu và ứng dụng phù hợp trong các tình huống thực tế giúp tạo được thành công đáng kể trong việc triển khai ứng dụng. Trong lập trình thi đấu, cấu trúc dữ liệu phù hợp không những tiết kiệm được không gian lưu trữ mà còn giúp tối ưu hóa về mặt thời gian.
Trong phạm vi phần này, chúng ta sẽ thảo luận qua một vài cấu trúc dữ liệu cơ bản trong thư viện chuẩn của C++ (STL C++). Các cấu trúc dữ liệu nâng cao khác sẽ được thảo luận ở một phần khác.
Các template của thư viện chuẩn cung cấp các cấu trúc dữ liệu, các thùng chứa, thuật toán cũng như cách truy cập và duyệt qua các phần tử của chúng.
Nguồn tài liệu: www.geeksforgeeks.org
Mời các em tham khảo loạt bài viết chi tiết về các cấu trúc dữ liệu trong thư viên chuẩn ở website Geeksforgeeks.
Nhiệm vụ 1. Từ phổ biến
Viết chương trình nhập vào một xâu ký tự chỉ gồm các ký tự Latinh (a-->z, A-->Z). Xuất ra từ có tần suất xuất hiện nhiều nhất. Nếu có nhiều từ xuất hiện với tần suất như nhau thì xuất ra từ đầu tiên trong xâu.
Input:
Xâu ký tự S
Output:
Từ có tần suất xuất hiện nhiều nhất.
Ví dụ:
Input:
Chao cac ban, rat vui vi cac ban den voi STL cua Cplusplus.
Output:
cac
Ràng buộc:
Subtask1: Length(S) <= 100
Subtask2: Length(S) <= 10^6
Nhiệm vụ 2. Biểu thức tiền tố
Viết chương trình nhập vào một biểu thức số học đơn giản gồm: số, các phép toán số học +, -, *, / và dấu ngoặc đơn. Tính giá trị biểu thức đó.
Input:
Biểu thức số học
Output:
Giá trị biểu thức
Ví dụ
Input:
2*(3+5)
Output:
16