Struktur data adalah konsep dari ilmu komputer yang mengacu pada metode pengumpulan dan pengorganisasian informasi tertentu. Semua struktur data menggunakan informasi tentang di mana bagian data tertentu berada di memori komputer untuk mengakses data itu dan menghubungkannya ke bagian data lainnya.
Struktur data membentuk salah satu dari banyak jenis hubungan yang berbeda antara potongan-potongan informasi individu. Jenis struktur data yang berbeda lebih efisien untuk tujuan yang berbeda, dan kesulitan pengkodean sangat bervariasi antar jenis struktur data.
Array adalah salah satu struktur data paling sederhana tetapi tetap merupakan alat yang sangat kuat untuk mengatur informasi. Dalam sebuah array, elemen diberi alamat memori sekuensial, memungkinkan alamat memori item apa pun dalam array ditentukan dengan sangat cepat menggunakan perhitungan matematis sederhana, sebuah keuntungan utama. Array dapat dipahami sebagai ada dalam sejumlah dimensi. Array satu dimensi dapat dikonseptualisasikan sebagai daftar, array dua dimensi sebagai tabel, dan array tiga dimensi sebagai kubus sel individu. Array lebih dari tiga dimensi bisa eksis juga.
Daftar tertaut adalah jenis struktur data sederhana namun sangat penting lainnya. Dalam daftar tertaut, setiap simpul terdiri dari variabel yang berisi data aktual dan informasi yang mengidentifikasi elemen berikutnya dalam daftar. Daftar tertaut dengan demikian dapat dilalui selama alamat simpul pertama diketahui. Jenis struktur data ini serbaguna karena cocok untuk pertumbuhan dinamis, karena node baru dapat dengan mudah ditetapkan kapan saja. Penambahan variabel yang berisi lokasi node sebelumnya dalam daftar memungkinkan jenis struktur data ini untuk dilalui di kedua arah.
Pohon mengurutkan node secara hierarkis, dimulai dengan node root, dan turun melalui beberapa lapisan node sampai semua data yang diperlukan telah diakomodasi dalam struktur. Biasanya, elemen dalam pohon diurutkan dengan cara tertentu. Pohon dapat menerapkan penyortiran dan berpotensi menyediakan akses yang jauh lebih cepat ke data yang disimpan karena hal ini, karena setiap percabangan menghilangkan seluruh petak informasi dari pertimbangan yang perlu disortir dalam daftar tertaut.
Tabel hash digunakan untuk menentukan alamat memori di mana bagian data tertentu akan disimpan dengan menggunakan persamaan untuk mengubah data tersebut menjadi alamat memori. Mereka bisa menjadi struktur yang sangat efisien untuk menyimpan dan mengambil data dari array.
Semua struktur data dirancang untuk mengurangi jumlah instruksi yang harus dijalankan komputer untuk menemukan bagian informasi tertentu. Berbagai jenis data cocok untuk berbagai jenis struktur data, tetapi sebagian besar bahasa pemrograman modern menawarkan dukungan untuk berbagai macam struktur data, atau menyediakan alat untuk memungkinkan pemrogram mengkodekan struktur data mereka sendiri.