Pertanyaan Umum
Apa perbedaan antara algoritma yang menggunakan struktur data dan algoritma yang menggunakan basis data?
Beberapa konteks
Ini adalah pertanyaan yang telah mengganggu saya selama beberapa waktu, dan saya belum dapat memberikan jawaban yang meyakinkan untuk itu.
Saat ini, saya sedang berusaha memperkuat pemahaman saya tentang algoritma yang, tentu saja, sangat melibatkan struktur data. Ini adalah struktur dasar seperti Bag, Queue, Stack, Priority Queue, dan Heap.
Saya juga menggunakan basis data setiap hari untuk menyimpan data yang telah diproses dan dikirim oleh pengguna akhir atau diproses oleh program. Saya mengambil dan mengirimkan data melalui DAL, yang memiliki struktur data sendiri yang dihasilkan berdasarkan tabel dalam database.
Pertanyaan saya muncul ketika saya memiliki opsi untuk mengurutkan data menggunakan database untuk mengirimkannya kembali kepada saya yang dipesan dengan cara naik / turun atau mengambil dan memuat data ke dalam logika saya, memproses data ini dalam antrian prioritas, dan mengurutkan tumpukan semua itu. Atau yang lain akan mencari catatan menggunakan database daripada memuat subset dari catatan dan menggunakan sesuatu seperti pencarian biner untuk menemukan catatan atau catatan yang saya tertarik.
Dalam pikiran saya, saya akan mencoba untuk memiliki banyak operasi yang terjadi pada database-end sebelum mengirimkannya karena komunikasi itu mahal. Ini juga membuat saya bertanya-tanya kapan Anda menggunakan algoritma dan struktur data yang didefinisikan secara ketat dalam logika Anda sendiri daripada untuk memproses data daripada database?
Jadi inilah pertanyaannya ...
Pertanyaan
- Apa perbedaan antara struktur data dan database?
- Kapan kita menggunakan algoritma yang menggunakan struktur data yang ditentukan hanya dalam logika Anda sendiri dan bukan dari database?
- @ Posting Harvey: Kapan metode dalam database menjadi kurang efisien untuk digunakan daripada metode dalam logika Anda sendiri?
- @mirculixx post: Apa yang membuat suatu metode efisien?
- @ Posting Harvey: Bagaimana memproses data dengan struktur data lebih cepat daripada melakukannya di basis data?
Klarifikasi
- @Grant post: Basis data yang biasanya saya gunakan adalah relasional, dan pertanyaan-pertanyaan ini muncul karena bekerja dengan mereka. Namun, saya pikir pertanyaan-pertanyaan ini berlaku untuk setiap kerangka kerja yang bertahan lama (ketika saya mengatakan kerangka kerja, saya maksudkan dalam pengertian yang paling umum).
Saya tahu jawaban tanpa konteks spesifik itu sulit. Pokok-pokok pemikiran, saran, atau poin diskusi terutama adalah apa yang saya cari dan akan sangat dihargai!