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)
Khái niệm "mảng" thường dùng có nghĩa là kiểu dữ liệu mảng được cung cấp bởi hầu hết các ngôn ngữ lập trình cấp cao, nó bao gồm tập hợp các giá trị hoặc biến có thể lựa chọn bằng một hoặc nhiều chỉ số được tính toán trong lúc chạy. Kiểu dữ liệu mảng thường được hiện thực bằng cấu trúc mảng; tuy nhiên một số ngôn ngữ lập trình có thể hiện thực bằng bảng băm, cây tìm kiếm hoặc các cấu trúc dữ liệu khác.
Khi mô tả các giải thuật, khái niệm này cũng được dùng để chỉ mảng liên kết, một mô hình lý thuyết khoa học máy tính (kiểu dữ liệu trừu tượng hay ADT) để sử dụng các tính chất thiết yếu của mảng.
Lịch sử.
Các máy tính kỹ thuật số đầu tiên dùng chương trình được viết bằng ngôn ngữ máy để tạo và truy xuất cấu trúc mảng cho các bảng dữ liệu, vector và tính toán ma trận, và các mục đích khác. Von Neumann viết chương trình sắp xếp mảng (sắp xếp trộn) vào năm 1945, khi đang xây dựng chương trình lưu trữ máy tính đầu tiên.p. 159 Đánh chỉ số cho mảng ban đầu được dùng trong mã tự sửa đổi, và sau đó dùng trong thanh ghi chỉ số và truy xuất giáng tiếp. Một số máy tính lớn thiết kế vào thập niên 1960, như Burroughs B5000 và hậu duệ của nó, có những lệnh đặc biệt để đánh chỉ số cho mảng bao gồm kiểm tra biên của chỉ số.
Hợp ngữ nói chung không có hỗ trợ đặc biệt cho mảng ngoài việc dùng các hỗ trợ từ phần cứng. Ngôn ngữ lập trình cấp cao đầu tiên, bao gồm FORTRAN (1957), COBOL (1960), và ALGOL 60 (1960), có hỗ trợ mảng nhiều chiều, và sau đó là C (1972). Trong C++ (1983) có các class template cho mảng nhiều chiều, với số lượng chiều là cố định trong lúc chương trình đang chạy, cũng như các mảng có số chiều thay đổi được khi chương trình đang chạy.
Ứng dụng.
Mảng được dùng để hiện thực các vector và các ma trận cũng như các loại bảng chữ nhật. Nhiều cơ sở dữ liệu từ nhỏ đến lớn chứa (hoặc bao gồm) các mảng một chiều mà các phần tử là các bản ghi.