Struktur Data - Array

Oke, kita lanjut materi dasar struktur data. Kali ini kita akan membahas tentang array. Program komputer sering mengelola banyak objek dengan jenis yang sama, misalnya anda kenal dengan program akuntansi bank dimana harus mengelola ratusan akun pelanggan. Pastinya sangat tidak nyaman bahkan biasanya tidak mungkin untuk mendeklarasikan variabel yang diberi nama secara jelas untuk masing-masing akun pelanggan. Nah sebagai gantinya, seseorang membuat bentuk objek baru struktur data untuk secara kolektif memegang dan menamai akun pelanggan. Disini anda akan tahu bahwa struktur data yang paling populer dalam masalah ini adalah array, dan pembahasan kita memperkenalkan penggunaan standar array.

Array mungkin merupakan implementasi paling umum dari list. Dalam banyak bahasa pemrograman, kemampuan untuk membuat array dibangun sebagai fitur inti. Anda mungkin pernah melihat atau mendengarnya sebelumnya, tetapi penting untuk memiliki definisi yang lebih formal tentang apa itu array sehingga kita dapat membandingkannya dengan yang lain.

Oke, Array bisa dikatakan sebagai salah satu koleksi atau kumpulan item yang disimpan di lokasi memori yang berdekatan. Idenya adalah dengan menyimpan beberapa item dari jenis yang sama bersama. Dan membuatnya lebih mudah untuk menghitung posisi setiap elemen hanya dengan menambahkan offset ke nilai dasar, yaitu, lokasi memori dari elemen pertama dari array (umumnya dilambangkan dengan nama array).

Seperti yang kita sebutkan sebelumnya array merupakan list, dengan beberapa aturan tambahan sehingga kita semua siap tahu bahwa itu memiliki beberapa hal dalam beberapa urutan. Dalam beberapa bahasa, Anda hanya dapat memiliki objek dengan jenis yang sama pada array yang sama. Dan dalam beberapa bahasa, array Anda dapat berisi berbagai jenis sehingga kita tidak dapat menggunakannya sebagai aturan untuk menentukan array.

Ada satu fitur besar yang membedakan array dari list. Setiap array memiliki lokasi yang disebut indeks. Indeks hanyalah angka yang terkait dengan tempat itu dalam array. Masuk akal untuk menghitung kotak-kotak ini dari satu hingga lima.

Tapi tentu saja tidak sesederhana itu. Biasanya, indeks dimulai dari nol jadi daripada merujuk ke kotak-kotak ini sebagai satu hingga lima, kita biasanya mengatakan itu adalah 0 hingga 4. Setelah indeks bisa menggunakan array pilihan yang bagus atau kadang-kadang buruk untuk kode yang sedang Anda kerjakan.

box1

Jika Anda perlu mengakses lokasi tertentu di tengah sering, menggunakan array bisa menjadi pilihan yang bagus. Anda hanya perlu melacak berapa panjang array tersebut. Hitung elemen tengah dan periksa objek di kotak dengan indeks itu. Lihat dibawah, panjangnya adalah 4, kemudian mengambil middle dengan perhitungan 4:2 = 2. Maka objek dikotak pada urutan 2, adalah 8.

box2

Insertion dan deletion dapat benar-benar berantakan dengan array. Insertion pada akhirnya sering mudah tetapi bisa sulit jika array memiliki ukuran yang ditetapkan dan Anda sudah mengisinya.

Insertion sulit jika Anda ingin meletakkan elemen di tengah-tengah array. Jika Anda ingin melakukan insert normal Anda harus memindahkan semuanya setelah elemen yang disisipkan kembali ke kotak yang berbeda dengan indeks yang berbeda. Operasi secara keseluruhan cukup tidak efisien karena Anda perlu memindahkan setiap elemen di belakang yang Anda masukkan kembali ke dalam array. (Contoh insert ke 5) jadi tidak dimasukkan ke tengah array. Dalam kasus terburuk, operasi ini membutuhkan waktu linier atau big O(n).

box3

Deletion atau Penghapusan juga menyebabkan masalah serupa. Jika Anda menghapus elemen Anda memiliki kotak kosong. Anda tidak bisa hanya melihat indeks dan berkata bahwa ini adalah elemen keempat lagi karena ada kotak kosong sebelum itu.

box4

Sekali lagi semua ini dapat berubah berdasarkan pada cara bahasa tertentu mengimplementasikan array tetapi penting untuk dipertimbangkan ketika berbicara tentang array secara abstrak.