1763033
Mảng (cấu trúc dữ liệu)
https://vi.wikipedia.org/wiki?curid=1763033
Title: Mảng (cấu trúc dữ liệu)
Trong khoa học máy tính, cấu trúc dữ liệu mảng hoặc mảng là một cấu trúc dữ liệu bao gồm một nhóm các phần tử giá trị hoặc biến, mỗi phần tử được xác định ít nhất bằng một "chỉ số" (index) hoặc "khóa" (key). Mảng được lưu theo cách có thể tính được vị trí của các phần tử từ giá trị của một tuple chỉ số bằng một biểu thức toán học.
Thí dụ, một mảng có 10 biến số nguyên, với các chỉ số từ 0 đến 9, có thể lưu trong 10 word tại địa chỉ bộ nhớ 2000, 2004, 2008... 2036. Do đó, phần tử có chỉ số "i" sẽ nằm ở địa chỉ 2000 + 4 × "i".
Do khái niệm ma trận trong toán học có thể được biểu diễn bằng một bảng hai chiều nên đôi khi mảng hai chiều cũng được gọi là ma trận. Một số trường hợp, khái niệm "vector" được dùng để chỉ mảng, mặc dù bộ (tuple) là khái niệm chính xác hơn về mặt toán học. Mảng thường được dùng để hiện thực các bảng, nhất là bảng tìm kiếm. Từ "bảng" đôi khi có cùng nghĩa với "mảng".
Mảng là một trong những cấu trúc dữ liệu cũ và quan trọng nhất, và hầu hết các chương trình đều dùng nó. Các cấu trúc dữ liệu khác cũng được hiện thực bằng mảng, thí dụ như danh sách hoặc chuỗi. Nó rất hiệu quả trong việc tận dụng cách đánh địa chỉ trên máy tính. Trong hầu hết các máy tính hiện đại và các thiết bị lưu trữ ngoài, bộ nhớ là chuỗi một chiều các word, và chỉ số của nó chính là địa chỉ. Bộ xử lý, đặc biệt là bộ xử lý vector, thường tối ưu hóa các tác vụ trên mảng.
Sự hữu dụng của mảng nằm ở chỗ chỉ số của các phần tử có thể tính toán được vào lúc chương trình đang chạy. Tính năng này cho phép một lệnh lặp có thể xử lý một số lượng lớn các phần tử trong mảng. Do đó, các phần tử trong cấu trúc mảng cần phải có cùng kích thước và cùng kiểu dữ liệu. Tập hợp các bộ chỉ số và địa chỉ của các phần tử (cũng như công thức tính địa chỉ các phần tử) thường, nhưng không phải luôn luôn, cố định khi mảng đang được sử dụng.