Câu hỏi chung
Sự khác biệt giữa các thuật toán sử dụng cấu trúc dữ liệu và thuật toán sử dụng cơ sở dữ liệu là gì?
Một số bối cảnh
Đây là một câu hỏi đã làm tôi khó chịu một thời gian và tôi không thể đưa ra câu trả lời thuyết phục cho nó.
Hiện tại, tôi đang làm việc để củng cố sự hiểu biết của mình về các thuật toán, tất nhiên, liên quan nhiều đến cấu trúc dữ liệu. Đây là các cấu trúc cơ bản như Túi, Hàng đợi, Ngăn xếp, Hàng đợi ưu tiên và Heap.
Tôi cũng sử dụng cơ sở dữ liệu hàng ngày để lưu trữ dữ liệu đã được xử lý và gửi bởi người dùng cuối hoặc được chương trình xử lý. Tôi lấy và gửi dữ liệu thông qua một DAL, có cấu trúc dữ liệu của riêng nó được tạo dựa trên các bảng trong cơ sở dữ liệu.
Câu hỏi của tôi xuất hiện khi tôi có tùy chọn sắp xếp dữ liệu bằng cơ sở dữ liệu để gửi lại cho tôi theo thứ tự tăng dần / giảm dần hoặc truy xuất và tải dữ liệu vào logic của tôi, xử lý dữ liệu này trong hàng đợi ưu tiên và sắp xếp đống tất cả. Hoặc một cách khác là tìm kiếm các bản ghi bằng cơ sở dữ liệu thay vì tải một tập hợp con của các bản ghi và sử dụng một cái gì đó như tìm kiếm nhị phân để tìm bản ghi hoặc bản ghi mà tôi quan tâm.
Trong tâm trí của tôi, tôi sẽ cố gắng có nhiều hoạt động diễn ra trên cơ sở dữ liệu trước khi gửi nó đi vì giao tiếp rất tốn kém. Điều này cũng khiến tôi tự hỏi khi nào bạn sử dụng thuật toán và cấu trúc dữ liệu được xác định nghiêm ngặt trong logic của riêng bạn thay vì xử lý dữ liệu so với cơ sở dữ liệu?
Vì vậy, đây là những câu hỏi ...
Câu hỏi
- Sự khác biệt giữa cấu trúc dữ liệu và cơ sở dữ liệu là gì?
- Khi nào chúng ta sử dụng các thuật toán sử dụng các cấu trúc dữ liệu được xác định chỉ trong logic của riêng bạn chứ không phải của các cơ sở dữ liệu?
- @Harvey post: Khi nào các phương thức trong cơ sở dữ liệu trở nên kém hiệu quả hơn so với các phương thức trong logic của riêng bạn?
- @mirculixx post: Điều gì làm cho một phương pháp hiệu quả?
- @Harvey post: Làm thế nào để xử lý dữ liệu với cấu trúc dữ liệu nhanh hơn so với thực hiện trong cơ sở dữ liệu?
Làm rõ
- @Grant post: Các cơ sở dữ liệu tôi thường làm việc cùng là quan hệ và những câu hỏi này sẽ được đưa ra khi làm việc với chúng. Tuy nhiên, tôi nghĩ những câu hỏi này có thể áp dụng cho bất kỳ khuôn khổ kiên trì nào (khi tôi nói khung, tôi có nghĩa là nó theo nghĩa chung nhất).
Tôi biết câu trả lời mà không có một bối cảnh cụ thể là khó khăn. Thực phẩm cho suy nghĩ, lời khuyên hoặc các điểm thảo luận chủ yếu là những gì tôi đang tìm kiếm và sẽ được đánh giá cao nhất!