Xu Hướng 10/2022 ❤️ Cấu Trúc Dữ Liệu Thần Thánh Mang Tên Map ❣️ Top View | Nhatngukohi.edu.vn

Xu Hướng 10/2022 ❤️ Cấu Trúc Dữ Liệu Thần Thánh Mang Tên Map ❣️ Top View

Xem 396

Bạn đang xem bài viết Cấu Trúc Dữ Liệu Thần Thánh Mang Tên Map được cập nhật mới nhất ngày 03/10/2022 trên website Nhatngukohi.edu.vn. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Cho đến thời điểm hiện tại, bài viết này đã đạt được 396 lượt xem.

Tìm Hiểu Các Cấu Trúc Dữ Liệu Trong Dart

Sự Khác Biệt Giữa Cấu Trúc Dữ Liệu Tuyến Tính Và Phi Tuyến Tính

Cấu Trúc Dữ Liệu Và Giải Thuật Là Gì ? (Tt)

Cách Xây Dựng Cấu Trúc Dữ Liệu Stack Và Queue.

Stack Và Queue Trong Cấu Trúc Dữ Liệu

Trong quá trình học tập và tìm hiểu, có thể các bạn rất quen thuộc và hay sử dụng các phép toán trên mảng, xâu kí tự. Trong bài viết này, mình sẽ giới thiệu với bạn 1 cấu trúc dữ liệu khá mạnh, giúp giải quyết nhiều bài toán với tốc độ cao và cách cài đặt đơn giản. Cấu trúc dữ liệu này mang tên Map (trong C# hay Python thì gọi là Dictionary).

Map là gì?

Trong 1 số ngôn ngữ lập trình, Map được gọi là Dictionary (như Python hay C#). Trong khuôn khổ bài viết này, mình dùng từ map do thông thạo với C++ và Java.

Các cấu trúc dữ liệu như mảng hay xâu kí tự, khi truy xuất dữ liệu bạn sẽ sử dụng một tham số gọi là chỉ số, ví dụ như arr, … Đối với cấu trúc dữ liệu map, để truy xuất dữ liệu bạn sẽ sử dụng một tham số gọi là key

Cấu trúc dữ liệu kiểu map là một cấu trúc dữ liệu ánh xạ giữa cái gọi là khoá (key) sang giá trị của khoá đó (gọi là value)

Trong cấu trúc dữ liệu này, mỗi một key sẽ nhận một giá trị khác nhau.

Ứng dụng

Cho một danh sách các số điện thoại kèm theo tên của chủ thuê bao đó. Yêu cầu đầu vào là một số điện thoại (key), hãy đưa ra tên của chủ thuê bao (value)

Cho danh sách thể hiện lịch sử đi muộn của các nhân viên một công ty nào đó. Hãy tìm xem nhân viên (key) nào có số lần đi muộn (value) nhiều nhất?

Cho một danh sách các IP kèm theo các domain. Hãy trả ra ip (value) tương ứng domain (key) hoặc ngược lại trong thời gian nhanh nhất?

Với các bài toán này, bạn có thể sử dụng 2 mảng dữ liệu có cùng độ dài. Một mảng bạn lưu danh sách key, một mảng bạn lưu danh sách các value tương ứng với key đó (cùng chỉ số truy cập mảng). Khi bạn cần tìm value của một key nào đó, bạn duyệt mảng key, tìm chỉ số của phần tử trong mảng có giá trị bằng key cần tìm rồi trả ra giá trị tương ứng ở mảng value. Mã giả của đoạn code này như sau:

for (int i=0; i<keysArray.size(); i++) if (keysArray;return "notFound";

Với đoạn mã như trên, độ phức tạp thuật toán sẽ là O(N) (do bạn phải duyệt cả mảng keysArray để tìm cái key bạn muốn). Để tăng tốc độ cho đoạn mã này, bạn có thể cải tiến hàm tìm kiếm theo phương pháp tìm kiếm nhị phân (với điều kiện mảng keysArray đã được sắp xếp). Tất nhiên cách làm này sẽ tốn công cài đặt hơn rất nhiều lần so với việc bạn sử dụng map (hay dictionary) thông qua dòng lệnh duy nhất sau:

if (mymap.find(key) != mymap.end()) return mymap = value

Truy cập: dùng map[key]

Kiểm tra map có chứa key nào đó không: dùng find(key)(với C++) hoặcmap.containsKey(với C#)

Bài tập ứng dụng:

Khóa Học Lập Trình C & Cấu Trúc Dữ Liệu

Cong Ty Cong Nghe Tin Hoc Nha Truong

Cấu Trúc Dữ Liệu Kiểu Tập Hợp Và Ứng Dụng

Hướng Dẫn Tự Học Cấu Trúc Dữ Liệu Và Giải Thuật Với C#

Cấu Trúc Dữ Liệu Đồ Thị (Graph)

Cập nhật thông tin chi tiết về Cấu Trúc Dữ Liệu Thần Thánh Mang Tên Map trên website Nhatngukohi.edu.vn. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Chúc bạn một ngày tốt lành!

Yêu thích 2156 / Xu hướng 2256 / Tổng 2356 thumb
🌟 Home
🌟 Top