Hướng dẫn python built-in data structures - cấu trúc dữ liệu tích hợp sẵn trong python
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ì?Các kiểu cấu trúc dữ liệu trong Python Cấu trúc dữ liệu tích hợp Các kiểu cấu trúc dữ liệu trong PythonCác kiểu cấu trúc dữ liệu trong PythonCấu trúc dữ liệu tích hợp Danh sách (List) Từ điển (Dictionary)Tuple SetsCấu trúc dữ liệu do người dùng xác địnhArrays vs. List
Trees Linked Lists Graphs
Lists
my_list = [1, 2, 3, 'example', 3.132] #creating list with data
my_list = [1, 2, 3]
Output: 1 2 3 example 3.132 10 30 [1, 2, 3, ‘example’, 3.132, 10, 30] example [1, 2] [30, 10, 3.132, ‘example’, 3, 2, 1]Các chức năng khác: Bạn có một số chức năng khác có thể được sử dụng khi làm việc với cấu trúc dữ liệu trong Python này.
Output: 6 3 2 [1, 2, 3, 10, 10, 30] [30, 10, 10, 3, 2, 1] 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ụ.Tạo một từ điển Từ điển có thể được tạo bằng cách sử dụng dấu ngoặc hoa hoặc sử dụng hàm dict (). Bạn cần thêm các cặp khóa-giá trị bất cứ khi nào bạn làm việc với từ điển.
Output: {} {1: ‘Python’, 2: ‘Java’}Thay đổi và thêm khóa, cặp giá trị Để thay đổi các giá trị của từ điển, bạn cần phải làm điều đó bằng cách sử dụng các phím. Vì vậy, trước tiên bạn truy cập khóa và sau đó thay đổi giá trị cho phù hợp. Để thêm giá trị, bạn chỉ cần thêm một cặp key-value khác như hiển thị bên dưới::
Output: {‘First’: ‘Python’, ‘Second’: ‘Java’} {‘First’: ‘Python’, ‘Second’: ‘C++’} {‘First’: ‘Python’, ‘Second’: ‘C++’, ‘Third’: ‘Ruby’} Xóa khóa, cặp giá trị Để xóa các giá trị, bạn sử dụng hàm pop () trả về giá trị đã bị xóa. Để truy xuất cặp khóa-giá trị, bạn sử dụng hàm popitem () trả về một bộ khóa và giá trị. Để xóa toàn bộ Dictionary, bạn sử dụng hàm clear ().Output: Value: Ruby Dictionary: {‘First’: ‘Python’, ‘Second’: ‘Java’} Key, value pair: (‘Second’, ‘Java’) Dictionary {‘First’: ‘Python’} {}Yếu tố truy cập Bạn chỉ có thể truy cập các yếu tố bằng cách sử dụng các phím. Bạn có thể sử dụng hàm get () hoặc chỉ truyền các giá trị chính và bạn sẽ truy xuất các giá trị.
my_dict['Third'] = 'Ruby' #adding key-value pair
print(my_dict['First']) #access elements using keys Output: Python JavaCác chức năng khác Trong chức năng của cấu trúc dữ liệu trong Python này, bạn có các hàm khác nhau trả về cho chúng ta các khóa hoặc các giá trị của cặp key-value tương ứng với các hàm khóa (), giá trị (), vật phẩm () tương ứng.my_dict = {'First': 'Python', 'Second': 'Java', 'Third': 'Ruby'} print(my_dict.values()) #get values
Output: (1, 2, 3)Yếu tố truy cập Truy cập các phần tử giống như để truy cập các giá trị trong lists.
Output: 1 2 3 growupwork (1, 2, 3, ‘growupwork’) 1 (1, 2, 3, ‘growupwork’) eCác yếu tố bổ sung Để nối thêm các giá trị, bạn sử dụng toán tử ‘+, sẽ mất một tuple khác để được thêm vào nó.
Output: (1, 2, 3, 4, 5, 6)Các chức năng khác Các chức năng này giống như những chức năng của lists.:
Output: (1, 2, 3, [‘english’, ‘python’]) 1 3 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.Tạo một sets Các sets được tạo bằng cách sử dụng các dấu ngoặc hoa nhưng thay vì thêm các cặp key-value, bạn chỉ cần truyền các giá trị cho nó.
Output: {1, 2, 3, 4, 5}Thêm các yếu tố Để thêm các phần tử, bạn sử dụng hàm add () và truyền giá trị cho nó.
Output: {1, 2, 3, 4}Hoạt động theo sets Các hoạt động khác nhau trên tập hợp như thể thống nhất, giao nhau, vv được hiển thị dưới đây.
Output: {1, 2, 3, 4, 5, 6} ———- {1, 2, 3, 4, 5, 6} {3, 4} ———- {3, 4} {1, 2} ———- {1, 2} {1, 2, 5, 6} ———- {1, 2, 5, 6} set() 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.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. Trong đó. Một Arrays về cơ bản là một cấu trúc dữ liệu có thể chứa nhiều hơn một giá trị tại một thời điểm. Nó là một tập hợp hoặc loạt các yếu tố được đặt cùng loại. Ví dụ: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.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.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.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.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.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.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. |