Hướng dẫn python bag data structure
Các cấu trúc dữ liệu trong Python bạn cần học Để tiện cho việc tìm hiểu ta sẽ đi qua các đề mục sau:
Cấu trúc dữ liệu là gì?Việc tổ chức, quản lý và lưu trữ dữ liệu rất quan trọng vì nó cho phép truy cập dễ dàng hơn và sửa đổi hiệu quả. Cấu trúc dữ liệu (Data Structure) cho phép bạn sắp xếp dữ liệu của mình theo cách cho phép bạn lưu trữ các bộ dữ liệu được thu thập, liên quan đến chúng và theo đó mà thực hiện các thao tác trên chúng. Có thể bạn quan tâm: Top 10 tài liệu lập trình Python cơ bản và nâng cao Các kiểu cấu trúc dữ liệu trong PythonCác kiểu cấu trúc dữ liệu trong PythonPython có hỗ trợ ngầm cho Cấu trúc dữ liệu cho phép bạn lưu trữ và truy cập dữ liệu. Các cấu trúc này được gọi là List, Dictionary, Tuple và Set. Python cho phép người dùng tạo Cấu trúc dữ liệu của riêng họ, cho phép toàn quyền kiểm soát chức năng. Các cấu trúc dữ liệu nổi bật nhất là Stack, Queue, Tree, Linked List, v.v. đồng thời cũng có sẵn trong các ngôn ngữ lập trình khác. Vì vậy, bây giờ bạn đã biết các loại có sẵn bao gồm những gì, vậy còn ngại gì việc dùng Cấu trúc dữ liệu và triển khai chúng bằng Python. Cấu trúc dữ liệu tích hợp (Built-in Data Structures)Về cấu trúc dữ liệu trong Python, các Cấu trúc dữ liệu này được tích hợp sẵn với Python giúp lập trình dễ dàng hơn và giúp các lập trình viên sử dụng chúng để có được các giải pháp nhanh hơn. Hãy cùng tìm hiểu chi tiết hơn từng phần trong cấu trúc dữ liệu. ListsData Structure dạng ListsLists được sử dụng để lưu trữ dữ liệu của các loại dữ liệu khác nhau một cách tuần tự. Có các địa chỉ được gán cho mọi thành phần của danh sách, được gọi là Index. Giá
trị chỉ mục bắt đầu từ 0 và tiếp tục cho đến khi phần tử cuối cùng được gọi là chỉ số dương. Ngoài ra còn có lập chỉ mục tiêu cực bắt đầu từ -1 cho phép bạn truy cập các phần tử từ cuối đến trước. Xem qua ví dụ bên dưới để hiểu rõ hơn
Output: Thêm các yếu tố: Thêm các yếu tố trong danh sách có thể đạt được bằng cách sử dụng các hàm append (), extend () và insert ().
Output:
Ví dụ:
Output:
Output:
Output: DictionaryTrong các cấu trúc dữ liệu trong Python, Dictionary được sử dụng để lưu trữ các cặp key-value. Để hiểu rõ hơn, hãy nghĩ đến một thư mục điện thoại nơi hàng trăm và hàng ngàn tên và số tương ứng của chúng đã được thêm vào. Bây giờ các giá trị không đổi ở đây là Tên và Số điện thoại được gọi là các phím. Và các tên và số điện thoại
khác nhau là các giá trị đã được đưa vào các phím. Nếu bạn truy cập các giá trị của các phím, bạn sẽ nhận được tất cả tên và số điện thoại. Vì vậy, đó là những gì một cặp key-value. Và trong Python, cấu trúc này được lưu trữ bằng Dictionary. Để dễ hiểu hơn chúng ta cùng xét ví dụ.
Output:
Output: Xóa khóa, cặp giá trị Key, value pair: (‘Second’, ‘Java’) {}
Output:
Output: Tuple (các bộ dữ liệu)Dưới đây là so sánh 2 cấu trúc dữ liệu trong Python Tuple vs List Tuples giống như các list với ngoại lệ là dữ liệu một khi được nhập vào bộ dữ liệu không thể thay đổi bất kể điều gì. Ngoại lệ duy nhất là khi dữ liệu bên trong Tuple có thể thay đổi, chỉ sau đó dữ liệu Tuple có thể được thay đổi. Xem ví dụ để hiểu rõ hơn:
Output:
Output:
Output:
Output: SetsCấu trúc dữ liệu dạng Sets trong PythonSets là một tập hợp các yếu tố không có thứ tự là duy nhất. Có nghĩa là ngay cả khi dữ liệu được lặp lại nhiều lần, nó sẽ chỉ được nhập
vào tập hợp một lần. Cấu trúc dữ liệu trong Python này giống với các Sets mà bạn đã học về số học. Các hoạt động cũng tương tự như với các Sets số học. Xem chương trình ví dụ dưới đây để hiểu rõ hơn.
Output:
Output:
Output: Vậy giờ đây, bạn đã hiểu về tích hợp các Cấu trúc dữ liệu (built-in Data Structures), hãy để bắt đầu với Cấu trúc dữ liệu do người dùng xác định - loại lớn thứ hai của cấu trúc dữ liệu trong Python. Cấu trúc dữ liệu do người dùng định nghĩa, chính tên cho thấy người dùng xác định cách thức Cấu trúc dữ liệu sẽ hoạt động và xác định các chức năng trong đó. Điều này cung cấp cho người dùng toàn quyền kiểm soát cách dữ liệu cần được lưu, thao tác và vv. Chúng ta hãy tiếp tục tìm hiểu và nghiên cứu các Cấu trúc dữ liệu nổi bật nhất trong hầu hết các ngôn ngữ lập trình. User-Defined Data Structures (Cấu trúc dữ liệu do người dùng xác định)Arrays vs. ListsArrays vs. Lists cùng một cấu trúc với một sự khác biệt. Lists cho phép lưu trữ phần tử dữ liệu không đồng nhất trong khi Arrays chỉ cho phép các phần tử đồng nhất được
lưu trữ bên trong chúng.
StackCấu trúc dữ liệu dạng Stack trong PythonStacks là các cấu trúc dữ liệu tuyến tính dựa trên nguyên tắc Last-In-First-Out (LIFO) trong đó dữ liệu được nhập sau cùng sẽ là dữ liệu đầu tiên được truy cập. cấu trúc dữ liệu trong Python này được xây dựng bằng cách sử dụng cấu trúc mảng (array)và có các hoạt động cụ thể là đẩy (thêm) các phần tử, popping (xóa) các phần tử và chỉ truy cập các phần tử từ một điểm trong Stacks được gọi là TOP. TOP này là con trỏ đến vị trí hiện tại của Stacks. Stacks được sử dụng nổi bật trong các ứng dụng như Recursive Programming, đảo ngược các từ, hoàn tác các cơ chế trong trình soạn thảo văn bản, v.v. QueueCấu trúc dữ liệu dạng Queue trong PythonQueue cũng là một cấu trúc dữ liệu tuyến tính dựa trên nguyên tắc Nhập trước xuất trước (FIFO) trong đó dữ liệu được nhập trước sẽ được truy cập trước. Nó được xây dựng bằng cấu trúc array và có các thao tác có thể được thực hiện từ cả hai đầu của Queue, nghĩa là đầu-đuôi hoặc mặt trước. Các hoạt động như thêm và xóa các phần tử được gọi là En-Queue và De-Queue và truy cập các phần tử có thể được thực hiện. Queue được sử dụng làm Bộ đệm mạng (Network Buffers) để quản lý tắc nghẽn lưu lượng, được sử dụng trong Hệ điều hành để Lên lịch công việc và nhiều hơn nữa. TreeCấu trúc dữ liệu dạng cây trong PythonTree là cấu trúc dữ liệu phi tuyến tính có gốc và nút. Root là nút từ nơi dữ liệu bắt nguồn và các nút là các điểm dữ liệu khác có sẵn cho chúng ta. Nút có trước là cha và nút sau được gọi là con. Có những cấp độ mà một Tree phải thể hiện độ sâu của thông tin. Các nút cuối cùng được gọi là leaf. Tree tạo ra một hệ thống phân cấp có thể được sử dụng trong rất nhiều ứng dụng trong thế giới thực như các trang HTML sử dụng Tree để phân biệt thẻ nào nằm dưới khối nào. cấu trúc dữ liệu trong Python này cũng hiệu quả trong mục đích tìm kiếm và nhiều hơn nữa. Danh sách liên kết (Linked List)Cấu trúc dữ liệu dạng Linked trong PythonLinked List là Cấu trúc dữ liệu tuyến tính không được lưu trữ do đó được liên kết với nhau bằng cách sử dụng con trỏ. Nút của danh sách được liên kết bao gồm dữ liệu và con trỏ được gọi là “Next”. Các cấu trúc này được sử dụng rộng rãi nhất trong các ứng dụng xem hình ảnh, ứng dụng nghe nhạc và vv. Đồ thị (Graph)Cấu trúc dự liệu dạng Graph trong PythonĐồ thị được sử dụng để lưu trữ dữ liệu thu thập các điểm được gọi là đỉnh (nút) và cạnh (cạnh). Đồ thị có thể được gọi là đại diện chính xác nhất của bản đồ thế giới thực. Chúng được sử dụng để tìm khoảng cách cost-to-distance khác nhau giữa các điểm dữ liệu khác nhau được gọi là các nút và do đó tìm được đường dẫn ít nhất. Nhiều ứng dụng như Google Maps, Uber và nhiều ứng dụng khác sử dụng Biểu đồ để tìm khoảng cách ít nhất và tăng lợi nhuận theo những cách tốt nhất. HashMapsHashMaps giống như từ điển trong Python. Chúng có thể được sử dụng để thực hiện các ứng dụng như danh bạ, điền dữ liệu theo danh sách và nhiều hơn nữa Gợi ý tìm việc: Chúng ta vừa đi qua tất cả các Cấu trúc dữ liệu trong Python nổi bật nhất. GrowUpWork hy vọng bạn đã hiểu cấu trúc dữ liệu tích hợp cũng như Cấu trúc dữ liệu do người dùng định nghĩa mà chúng ta có trong Python và tại sao chúng quan trọng. |