Chỉ cần qua câu nói "Algorithms+Data Structures = Program" của Niklaus Wirth ta
đã có thể thấy được tầm quan trọng của các loại cấu trúc dữ liệu [data structures]
trong giải các bài toán tin. Ứng dụng 1 cách thuần thục hiệu quả các loại cấu trúc sẽ
đem đến những thuận lợi vô cùng lớn cho các lập trình viên. Ngoài những cấu trúc
dữ liệu chuẩn, quen thuộc như array, record, queue,... c òn có 1 số cấu trúc dữ liệu
khác có hiệu quả đặc biệt trong 1 số dạng bài tập. Mặc dù vậy, tài liệu tiếng việt về
những cấu trúc này lại khá ít, đặc biệt là Interval Tree, Binary Indexed Tree và
Range minimum Query. Trong chuyên đề này sẽ đề cập tới 1 số loại cấu trúc thường
xuyên được sử dụng: Interval tree, Binary Indexed Tree, Heap, Range Minimum
Query và Disjoint set. Để giúp bạn hiểu rõ các cấu trúc đó, sẽ có thêm 1 số ví dụ
điển hình cho những ứng dụng khác nhau của chúng.