Data Structures & Algorithms - Tập 7: Cấu trúc dữ liệu Matrix & 2d Array
Ma trận, hay mảng hai chiều, không chỉ là một khái niệm toán học khô khan mà là cách máy tính nhìn nhận và tổ chức thực tại, từ những điểm ảnh RGB đến những bản đồ game rộng lớn.
[VIBE CODERS | Lúa hoá kiến thức về Data Structures & Algorithms]
Tập 7: Cấu trúc dữ liệu Matrix & 2d Array
Tác giả: Le Nguyen & Code AI
Bạn đã bao giờ tự hỏi điều gì thực sự nằm dưới những ô vuông Excel mượt mà hay những bàn cờ điện tử đầy lôi cuốn chưa? Thực tế, thế giới lập trình của chúng ta được xây dựng trên những hệ lưới. Ma trận, hay mảng hai chiều, không chỉ là một khái niệm toán học khô khan mà là cách máy tính nhìn nhận và tổ chức thực tại, từ những điểm ảnh RGB đến những bản đồ game rộng lớn.
Nhưng điều thú vị nhất lại không nằm ở hình dáng bên ngoài. Khi chúng ta nhìn thấy một cái lưới, máy tính thực chất chỉ nhìn thấy một dải bộ nhớ thẳng tắp. Cách chúng ta ánh xạ từ những tọa độ hàng và cột vào bộ nhớ vật lý chính là nơi phép màu — hoặc thảm họa hiệu năng — bắt đầu. Bạn chọn đi theo hàng (Row-major) hay theo cột (Column-major)? Câu trả lời này có thể khiến mã nguồn của bạn chạy nhanh như chớp nhờ tận dụng được CPU Cache, hoặc chậm chạp như rùa bò vì liên tục gặp Cache Miss.
Hiểu về ma trận còn là hiểu về những bước nhảy. Một công thức “thần thánh” có thể giúp bạn tìm thấy vị trí chính xác của bất kỳ phần tử nào trong bộ nhớ chỉ với một phép tính O(1), thay vì phải tốn công tìm kiếm. Và từ đó, chúng ta mở ra cánh cửa của những kỹ thuật duyệt tinh xảo: từ zíc-zắc, xoắn ốc đến những phép chuyển vị đầy nghệ thuật. Ma trận không chỉ là dữ liệu, nó là cách chúng ta học cách tư duy có cấu trúc trong một không gian vô hạn.
Slides