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,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
; 1 (đánh chỉ số từ một)
: Phần tử đầu tiên sẽ được đánh chỉ số là 1.
; n (đánh chỉ số từ n)
: Chỉ số cơ sở của một mảng có thể được chọn tuỳ ý. Thông thường các ngôn ngữ lập trình cho phép đánh chỉ số từ n cũng sẽ cho phép các giá trị chỉ số âm.
Mảng nhiều chiều
Dope vector
Compact layout
Thay đổi kích thước mảng
Công thức tính địa chỉ phi tuyến tính
Hiệu quả
Sự hiệu quả so với các cấu trúc dữ liệu khác
So với danh sách liên kết, việc truy cập đến một phần tử trong mảng nhanh hơn với độ phức tạp là O(1).
Tuy nhiên, để xoá một phần tử không phải là phần tử cuối thì sử dụng cấu trúc mảng không hiệu quả. Bởi vì công việc này cần tốn thời gian cho việc dịch chuyển các phần tử còn lại lấp vào chỗ trống của mảng.
Ý nghĩa của số chiều
Số chiều của mảng tương ứng với số chỉ số (index) cần để xác định được phần tử đó.
Ví dụ:
Trong mảng một chiều a[N] với N là số phần tử, a[i] biểu diễn phần tử thứ i (i < N) của mảng.
Trong mảng hai chiều a[N][M] với N, M là giới hạn của mỗi chiều tương ứng, a[i][j] biểu diễn phần tử ở hàng i cột j của mảng.
👁️
0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
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
phải|192|[[Cây nhị phân, một kiểu đơn giản của cấu trúc dữ liệu liên kết rẽ nhánh.]] thumb|right|Bảng băm Trong khoa học máy tính, **cấu trúc dữ liệu** là một cách lưu dữ liệu trong máy
Đây là danh sách các cấu trúc dữ liệu. Bạn có thể xem danh sách thuật ngữ rộng hơn tại danh sách các thuật ngữ liên quan đến cấu trúc dữ liệu và giải thuật.
nhỏ|Ví dụ về một cây nhị phân Trong khoa học máy tính, **cây** là một cấu trúc dữ liệu được sử dụng rộng rãi gồm một tập hợp các nút (tiếng Anh: _node_) được liên
Trong khoa học máy tính, **đống** (tiếng Anh: _heap_) là một cấu trúc dữ liệu dựa trên cây thỏa mãn _tính chất đống_: nếu B là nút con của A thì khóa(A)≥khóa(B). Một hệ quả
thumb|Một ví dụ về lấy dữ liệu đầu ra từ truy vấn cơ sở dữ liệu SQL. **Cơ sở dữ liệu** () là một tập hợp các dữ liệu có tổ chức liên quan đến
thumb|Sự tăng trưởng và số hóa các khả năng lưu trữ thông tin trên toàn cầu **Dữ liệu lớn** (Tiếng Anh: **Big data**) là một thuật ngữ cho việc xử lý một tập hợp dữ
nhỏ|Các loại dữ liệu có thể được hình dung thông qua một thiết bị máy tính **Dữ liệu **là chuỗi bất kỳ của một hoặc nhiều ký hiệu có ý nghĩa thông qua việc giải
**Mảng** có thể chỉ: *Một dân tộc tại Việt Nam: Mảng (dân tộc) *Một khái niệm trong da liễu học: mảng (da liễu học) *Một trò chơi truyền thống của một số dân tộc ở
**Hàng đợi** (tiếng Anh: _queue_) là một cấu trúc dữ liệu dùng để chứa các đối tượng làm việc theo cơ chế **FIFO** (viết tắt từ tiếng Anh: _First In First Out_), nghĩa là "vào
nhỏ|315x315px|Một danh bạ điện thoại nhỏ được xem như một bảng băm. Trong khoa học máy tính, **bảng băm** là một cấu trúc dữ liệu sử dụng hàm băm để ánh xạ từ giá trị
phải|Cây hậu tố cho xâu BANANA
. Mỗi xâu con được kết thúc bởi ký tự đặc biệt $
. Sáu đường từ gốc đến lá (ký hiệu bởi ô vuông) tương ứng với sáu hậu tố
thumb|**Cấu trúc protein** từ cấu trúc bậc 1 tới cấu trúc bậc 4. **Protein** (Protid hay Đạm) là những đại phân tử được cấu tạo theo nguyên tắc đa phân mà các đơn phân là
**Máy truy tìm dữ liệu trực tuyến** hay **máy tìm kiếm** hay **cỗ máy tìm kiếm** (tiếng Anh: _search engine_), hay còn được gọi với nghĩa rộng hơn là **công cụ tìm kiếm** (_search tool_),
**Kho dữ liệu** (tiếng Anh: _data warehouse_) là kho lưu trữ dữ liệu lưu trữ bằng thiết bị điện tử của một tổ chức. Các kho dữ liệu được thiết kế để hỗ trợ việc
phải|khung|Một cây có dán nhãn với 6 đỉnh và 5 cạnh **Cây** là khái niệm quan trọng trong lý thuyết đồ thị, cấu trúc dữ liệu và giải thuật. Cây là một đồ thị mà
**Tập dữ liệu COVID-19** là các cơ sở dữ liệu công khai nhằm chia sẻ dữ liệu các ca bệnh và thông tin y tế liên quan đến đại dịch COVID-19. ## Dữ liệu tổng
Thông tin và dữ liệu mà con người hiểu được tồn tại dưới nhiều dạng khác nhau, ví dụ như các số, các ký tự văn bản, âm thanh, hình ảnh... nhưng trong máy tính
**Truy cập dữ liệu** là một thuật ngữ chung đề cập đến một quy trình có cả ý nghĩa cụ thể về CNTT và các ý nghĩa khác liên quan đến quyền truy cập theo
**Bộ lọc Bloom**, phát minh bởi Burton Howard Bloom năm 1970, là một cấu trúc dữ liệu xác suất để kiểm tra xem một phần tử có nằm trong một tập hợp hay không. Có
**Bộ nhớ máy tính** (tiếng Anh: Computer data storage), thường được gọi là ổ nhớ (_storage_) hoặc bộ nhớ (_memory_), là một thiết bị công nghệ bao gồm các phần tử máy tính và lưu
thumb|Các địa tầng nguyên thủy nằm ngang bị biến dạng do ứng suất. **Địa chất cấu trúc** hay **địa chất cấu tạo** là nghiên cứu về sự phân bố ba chiều không gian của các
[[Cấu trúc tinh thể của họ perovskite ABO3.]] **Perovskite** là tên gọi chung của các vật liệu gốm có cấu trúc tinh thể giống với cấu trúc của vật liệu gốm calci titanat (CaTiO3). Tên
**Trung tâm Dữ liệu Hoàng Sa** (TTDL Hoàng Sa) là một tổ chức dân sự phi chính phủ và phi lợi nhuận, được xây dựng với mục tiêu phổ biến thông tin về chủ quyền
Mãng cầu là trái cây có nhiều công dụng cho sức khỏe, là loại trái cây rất được nhiều người yêu thích.Tại Việt Nam, trái mãng cầu được chia thành hai loại phổ biến: mãng
**Pascal** là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh và thủ tục, được Niklaus Wirth phát triển vào năm 1970. Pascal là ngôn ngữ lập trình đặc biệt thích hợp
**Màng mỏng** (tiếng Anh: _Thin film_) là một hay nhiều lớp vật liệu được chế tạo sao cho chiều dày nhỏ hơn rất nhiều so với các chiều còn lại (chiều rộng và chiều dài).
Một **đống nhị phân** là một cấu trúc dữ liệu đống dựa trên cây nhị phân. Đống nhị phân thường được sử dụng để triển khai hàng đợi ưu tiên. Đống nhị phân được giới
**Bảng tra cứu dãy số nguyên trực tuyến** (_The On-Line Encyclopedia of Integer Sequences_), hay đơn giản là **Sloane's**, là cơ sở dữ liệu chuỗi số nguyên trực tuyến. Bảng được tạo ra và bảo
Trong khoa học máy tính và lý thuyết thông tin, **mã hóa Huffman** là một thuật toán mã hóa dùng để nén dữ liệu. Nó dựa trên bảng tần suất xuất hiện các ký tự
Ngày nay, Big Data đã trở thành một thuật ngữ quen thuộc trong thế giới kinh doanh. Các doanh nghiệp đang không ngừng cải tiến, tìm kiếm cách khai thác và phân tích khối lượng
Trong khoa học máy tính, một **bản ghi** (còn được gọi là **mẫu tin**, **cấu trúc**, **struct** hoặc **dữ liệu phức hợp**, tiếng Anh: **record**) là một cấu trúc dữ liệu cơ bản. Bản ghi
**Kiến trúc phần mềm** của một chương trình máy tính hay một hệ thống tính toán là cấu trúc của các thành phần trong hệ thống đó. _Kiến trúc phần mềm_ bao gồm các phần
nhỏ|Mô phỏng thuật toán sắp xếp vun đống|403x403px **Sắp xếp vun đống** (_Heapsort_) dựa trên một cấu trúc dữ liệu được gọi là đống nhị phân (_binary heap_), gọi đơn giản là đống. Trong mục
**Tài liệu Panama** hay **Hồ sơ Panama** () là một bộ 11,5 triệu tài liệu mật được tạo ra bởi nhà cung cấp dịch vụ của công ty Panama Mossack Fonseca cung cấp thông tin
Sữa Dưỡng Thể Hương Nước Hoa Tesori D'oriente Ý 300ml1.Kem dưỡng thể hoa sen Tesori D' Oriente Lotus Flower 300mlHoa sen không chỉ có hương thơm tinh khiết mà còn rất giàu dưỡng chất như
Sữa Dưỡng Thể Hương Nước Hoa Tesori D'oriente Ý 300ml1.Kem dưỡng thể hoa sen Tesori D' Oriente Lotus Flower 300mlHoa sen không chỉ có hương thơm tinh khiết mà còn rất giàu dưỡng chất như
Sữa Dưỡng Thể Hương Nước Hoa Tesori D'oriente Ý 300ml1.Kem dưỡng thể hoa sen Tesori D' Oriente Lotus Flower 300mlHoa sen không chỉ có hương thơm tinh khiết mà còn rất giàu dưỡng chất như
Phân tích dữ liệu kinh doanh không còn là lựa chọn phụ trợ mà đã trở thành yếu tố cốt lõi trong vận hành và ra quyết định của doanh nghiệp hiện đại. Khi thông
Cơ sở dữ liệu **NoSQL** (tên gốc là "Non SQL" (phi SQL) hoặc "non relational" (phi quan hệ)) cung cấp một cơ chế để lưu trữ và truy xuất dữ liệu được mô hình hóa
Bông tẩy trang Jomi Cotton Pads 120 Miếng với chất liệu cotton 100% siêu mềm giúp thấm hút tốt, nhẹ nhàng lấy đi lớp bụi bẩn và trang điểm một cách dễ dàng, không gây
Trà Mãng Cầu là một loại trà thảo mộc được chiết xuất từ quả của cây mãn cầu (còn gọi là mãn cầu tây), một loài cây có nguồn gốc từ các khu vực nhiệt
Trà Mãng Cầu là một loại trà thảo mộc được chiết xuất từ quả của cây mãn cầu (còn gọi là mãn cầu tây), một loài cây có nguồn gốc từ các khu vực nhiệt
Biến dữ liệu thành trí tuệ không chỉ là chuyện tương lai – đó là hiện tại. Big Data cung cấp lượng “nhiên liệu” khổng lồ, trong khi Machine Learning (ML) chính là “động cơ”
Trà mãng cầu Kỳ Như – đặc sản nổi tiếng từ Hậu Giang, kết hợp hoàn hảo giữa hương vị tự nhiên và giá trị dinh dưỡng quý giá. Được chế biến từ 100% thịt
Trà mãng cầu Kỳ Như – đặc sản nổi tiếng từ Hậu Giang, kết hợp hoàn hảo giữa hương vị tự nhiên và giá trị dinh dưỡng quý giá. Được chế biến từ 100% thịt
Trà mãng cầu Kỳ Như – đặc sản nổi tiếng từ Hậu Giang, kết hợp hoàn hảo giữa hương vị tự nhiên và giá trị dinh dưỡng quý giá. Được chế biến từ 100% thịt
Trà mãng cầu Kỳ Như – đặc sản nổi tiếng từ Hậu Giang, kết hợp hoàn hảo giữa hương vị tự nhiên và giá trị dinh dưỡng quý giá. Được chế biến từ 100% thịt
Trà mãng cầu Kỳ Như – đặc sản nổi tiếng từ Hậu Giang, kết hợp hoàn hảo giữa hương vị tự nhiên và giá trị dinh dưỡng quý giá. Được chế biến từ 100% thịt
Trà mãng cầu Kỳ Như – đặc sản nổi tiếng từ Hậu Giang, kết hợp hoàn hảo giữa hương vị tự nhiên và giá trị dinh dưỡng quý giá. Được chế biến từ 100% thịt