Saya membaca buku tentang Pemrograman Java, dan ingin mengonfirmasi bahwa saya mengerti definisi kata "vektor". Wikipedia mengatakan vektor adalah "Array satu dimensi", sumber http://en.wikipedia.org/wiki/Vector .
Bukankah lebih mudah untuk memanggil array hanya sebuah array? Apakah ada alasan kita perlu menggunakan bahasa mewah seperti "vektor"? Apakah ada perbedaan antara array dan vektor?
Sumber: Cracking the Coding Wawancara, Edisi ke-4, oleh Gayle McDowell, halaman 47.
FAQ
T - Mengapa Anda tidak memposting ini di english.stackexchange.com?
A - Karena saya pikir hanya orang yang berorientasi pada ilmu komputer yang akan memiliki jawaban yang baik.
std::vector<…>
("array" berukuran dinamis). 2. CLR (.NET runtime) juga membedakan antara "array" dan "vektor", yang terakhir menjadi kasus khusus dari yang pertama, yaitu satu dimensi, yang berbasis nol). Perbedaan itu penting karena ada optimasi khusus untuk vektor. 3. Dalam matematika, sebuah n- angka dari bilangan real juga kadang-kadang disebut "vektor".Jawaban:
Dalam penggunaan umum, "larik" dapat berarti larik satu dimensi, atau larik multidimensi. Juga, dalam matematika, matriks adalah array 2 dimensi sedangkan vektor adalah array 1 dimensi.
sumber
Vektor tidak persis array. Lagipula bukan yang klasik. Mereka adalah array dinamis. Mereka dapat diubah ukurannya sesuai kebutuhan daripada menjadi ukuran tetap. Mereka mirip dengan ArrayLists tetapi tidak persis sama.
ArrayLists berbeda dari Vektor dalam Vektor yang menyinkronkan operasi individu yang merupakan sesuatu yang tidak Anda inginkan untuk tujuan konkurensi khususnya per Jon Skeet . Dengan demikian Vektor telah ditinggalkan karena ArrayList tetapi beberapa masih menyebutnya Vektor.
The Nama ini awalnya berasal dari istilah matematika untuk matriks 1 dimensi. Meskipun struktur sebenarnya adalah n-tuple .
sumber
Biasanya, vektor dan array adalah hal yang sama dan digunakan secara bergantian saat pemrograman. Itu ada di sebagian besar tempat, jadi Anda tidak perlu terlalu khawatir tentang hal itu.
Yang mengatakan, bahasa tidak tepat dan kami kadang-kadang memiliki kata-kata yang memiliki arti yang berbeda dalam konteks yang berbeda yang akhirnya berarti hal yang sama, atau satu kata yang memiliki dua atau lebih makna yang berbeda.
Dalam C array adalah serangkaian elemen data dari jenis yang sama yang disimpan dalam memori secara bersamaan. Java mewarisi makna itu. Ini tidak sama dengan Daftar atau Vektor, karena array lebih mendasar dari itu.
Sebuah vektor adalah membangun matematika didefinisikan sebagai objek yang dapat ditambahkan ke objek lain dari jenis yang sama, atau dikalikan dengan nomor nyata (atau kompleks) yang mengakibatkan vektor lain dari jenis yang sama. Ini juga memiliki beberapa properti lain yang sangat berguna.
Vektor memiliki dimensi . Jumlah minimum vektor berbeda yang harus digabungkan untuk mendapatkan setiap kemungkinan vektor jenis itu. Kecepatan dan percepatan adalah vektor 3 dimensi karena ruang memiliki 3 arah basa dan dengan menambahkan kelipatan dari tiga arah basa tersebut, Anda dapat memperoleh posisi apa pun di ruang angkasa. Posisi dalam bidang adalah vektor 2 dimensi, dan bilangan individu adalah vektor 1 dimensi.
Salah satu cara untuk merepresentasikan vektor dimensi n adalah dengan menggunakan array elemen n yang masing-masing mewakili berapa banyak setiap vektor basis yang harus Anda tambahkan untuk sampai ke vektor Anda.
Karena Anda dapat merepresentasikan vektor menggunakan arra elemen, dengan waktu, kedua konsep disamakan. Jadi, di banyak tempat, mereka adalah hal yang sama dan dalam beberapa bahasa array disebut vektor.
Kasus lain di mana satu kata memiliki dua arti yang berbeda, misalnya, dimensi . Definisi wikipedia tentang vektor sebagai larik 1 dimensi adalah contohnya. Anda tidak berbicara tentang dimensi vektor di sini. Anda berbicara tentang representasi komputer dari struktur data. Vektor 3-Dimensi dapat direpresentasikan dengan larik ukuran "1-dimensi" ukuran 3. 3 angka. Matriks 3x3 dapat diwakili oleh array "2-dimensi", yang oleh programmer disebut array array. Namun matriks 3x3 juga merupakan vektor matematika dimensi 9 (karena memiliki semua sifat vektor) dan memiliki 9 angka. Membingungkan, ya?
Bagaimanapun, saya pikir jawabannya sederhana: jangan khawatir. Itu semua tergantung konteks. Dua kata memiliki asal-usul yang berbeda, tetapi dalam konteks struktur data, ketika mereka mengatakan vektor mereka berarti persis array yang .
sumber
Jawaban di atas menjelaskan mengapa kelas ini berbeda dari "Array" - dan saya menduga alasan nama yang berbeda digunakan adalah karena programmer dibantu dengan memiliki namespace yang terorganisir dengan baik - dengan kata lain jika Anda berbicara tentang "Vector" itu adalah jelaskan kelas apa yang Anda maksudkan, sedangkan jika semua kelas yang sama hanyalah array maka tidak akan sepenuhnya jelas.
sumber
Saya pikir istilah "vektor" berasal dari std :: vektor C ++. Itu muncul sebelum Java dan C #.
sumber
Itu hanya pengeditan yang ceroboh.
Versi awal Java tidak termasuk ArrayList. Alih-alih ArrayList, Vector digunakan. ArrayList ditambahkan kemudian dan sekarang digunakan sebagai pengganti Vector untuk sebagian besar tujuan. Saya berharap buku itu ditulis sebelum ArrayList ditambahkan, dan ketika teks diperbarui, referensi ke vektor ini tidak.
Saya sarankan Anda menghindari buku "pelajari semuanya dalam sepuluh menit" ini. Umumnya mereka ditulis dengan cepat dan sembrono. Tingkat pengetahuan ini tidak akan memberi Anda pekerjaan di toko yang serius.
Alih-alih mencari buku yang ditinjau dengan baik oleh pengguna yang diakui dari teknologi yang dibahas dan baca untuk pemahaman.
sumber
java.util.Vector
?Vektor Istilah berasal dari teknik / fisika. Vektor mewakili garis 2 dan 3 dimensi yang memiliki arah. Sebagai contoh, misalkan sebuah proyektil memiliki kecepatan horisontal 20 m / s dan kecepatan vertikal 10 m / s. Jadi Anda akan mewakili ini sebagai (20,10). Ini terbang di semacam kanan diagonal, jadi sekarang lihat bagaimana vektor kecepatan matematis menjadi array alias vektor.
sumber
Kami tidak memanggil vektor array, baik Anda salah mengerti sumber Anda atau sumber salah mengerti Jawa, atau keduanya.
Array adalah struktur data yang sangat berbeda dari Vector, yang berbeda dari Daftar lagi (yang menggunakan kode tempel Anda).
Tentu saja vektor matematika di Jawa dapat diimplementasikan menggunakan salah satu dari tiga mekanisme, dan di bawah tenda salah satu atau keduanya Vector dan Daftar dapat diimplementasikan menggunakan array.
sumber