Cấu trúc dữ liệu

Mục tiêu

Cấu trúc dữ liệu là cách tổ chức dữ liệu để chương trình có thể lưu trữ, truy cập và cập nhật một cách hiệu quả. Ở mức cơ bản, người học nên nắm được dãy phần tử, chuỗi ký tự, bảng ánh xạ và kiểu dữ liệu tổng hợp.

Ví dụ dãy phần tử

numbers = [2, 4, 6]
print(numbers[0])
var
  numbers: array[1..3] of Integer = (2, 4, 6);

begin
  Writeln(numbers[1]);
end.
int numbers[] = {2, 4, 6};
printf("%d\n", numbers[0]);
std::vector<int> numbers = {2, 4, 6};
std::cout << numbers[0] << std::endl;
int[] numbers = { 2, 4, 6 };
Console.WriteLine(numbers[0]);
const numbers = [2, 4, 6];
console.log(numbers[0]);
const numbers: number[] = [2, 4, 6];
console.log(numbers[0]);
numbers := []int{2, 4, 6}
fmt.Println(numbers[0])
let numbers = vec![2, 4, 6];
println!("{}", numbers[0]);

Các chủ đề trong mục này

Xem thêm

  • Thuật toán — Các thuật toán sắp xếp, tìm kiếm và quy hoạch động đều vận hành trực tiếp trên mảng, danh sách và từ điển.
  • Lập trình hướng đối tượngstruct là bước đệm tự nhiên để hiểu lớp và đối tượng.
  • Lý thuyết đồ thị — Biểu diễn đồ thị dùng mảng 2D (ma trận kề) và từ điển (danh sách kề) — hai cấu trúc mục này đã trình bày.

Ghi chú theo ngôn ngữ

Thông tin</div>

Pascal truyền thống còn có kiểu con trỏ để truy cập gián tiếp dữ liệu trong bộ nhớ. Đây là chủ đề nâng cao và thường chỉ thật sự cần khi làm việc với cấu trúc động hoặc tương tác mức thấp.

Trong Python, nhiều kiểu dữ liệu cơ bản như số, chuỗi, danh sách và từ điển đều đã là đối tượng cấp cao, vì vậy người học thường tiếp cận cấu trúc dữ liệu thông qua hành vi sử dụng hơn là cách bố trí bộ nhớ.

C++ có thư viện STL đầy đủ: vector, map, set, deque… Mỗi cấu trúc có đặc điểm về hiệu suất rõ ràng và nên được chọn phù hợp với bài toán.

Module Map, SetArray trong JavaScript đủ để giải quyết hầu hết các bài toán cơ bản. Thư viện chính thức rất nhỏ; thư viện ngoài như Lodash có thêm nhiều tiện ích.

Bình luận