Python - Giới thiệu DS
Tổng quan về cấu trúc dữ liệu
Cấu trúc dữ liệu là khái niệm cơ bản của khoa học máy tính giúp viết các chương trình hiệu quả bằng bất kỳ ngôn ngữ nào. Python là một ngôn ngữ kịch bản cấp cao, được thông dịch, tương tác và hướng đối tượng bằng cách sử dụng nó mà chúng ta có thể nghiên cứu các nguyên tắc cơ bản của cấu trúc dữ liệu một cách đơn giản hơn so với các ngôn ngữ lập trình khác.
Trong chương này, chúng ta sẽ nghiên cứu tổng quan ngắn gọn về một số cấu trúc dữ liệu thường được sử dụng nói chung và cách chúng liên quan đến một số kiểu dữ liệu python cụ thể. Ngoài ra còn có một số cấu trúc dữ liệu dành riêng cho python được liệt kê như một danh mục khác.
Cấu trúc dữ liệu chung
Các cấu trúc dữ liệu khác nhau trong khoa học máy tính được chia thành hai loại được trình bày dưới đây. Chúng ta sẽ thảo luận chi tiết về từng cấu trúc dữ liệu dưới đây trong các chương tiếp theo.
Cấu trúc dữ liệu lót
Đây là các cấu trúc dữ liệu lưu trữ các phần tử dữ liệu một cách tuần tự.
- Array: Nó là sự sắp xếp tuần tự của các phần tử dữ liệu được ghép nối với chỉ mục của phần tử dữ liệu.
- Linked List: Mỗi phần tử dữ liệu chứa một liên kết đến một phần tử khác cùng với dữ liệu có trong đó.
- Stack: Nó là một cấu trúc dữ liệu chỉ tuân theo thứ tự hoạt động cụ thể. LIFO (cuối cùng trong Đầu ra trước) hoặc FILO (Đầu tiên trong Cuối cùng).
- Queue: Nó tương tự như Stack nhưng thứ tự hoạt động chỉ là FIFO (First In First Out).
- Matrix: Đây là cấu trúc dữ liệu hai chiều trong đó phần tử dữ liệu được tham chiếu bởi một cặp chỉ số.
Cấu trúc dữ liệu không lót
Đây là những cấu trúc dữ liệu trong đó không có liên kết tuần tự của các phần tử dữ liệu. Bất kỳ cặp hoặc nhóm phần tử dữ liệu nào đều có thể được liên kết với nhau và có thể được truy cập mà không cần một trình tự nghiêm ngặt.
- Binary Tree: Nó là một cấu trúc dữ liệu trong đó mỗi phần tử dữ liệu có thể được kết nối với tối đa hai phần tử dữ liệu khác và nó bắt đầu bằng một nút gốc.
- Heap: Đây là một trường hợp đặc biệt của cấu trúc dữ liệu Cây trong đó dữ liệu trong nút cha hoặc lớn hơn / bằng các nút con hoặc nhỏ hơn các nút con của nó.
- Hash Table: Nó là một cấu trúc dữ liệu được tạo từ các mảng được liên kết với nhau bằng cách sử dụng một hàm băm. Nó lấy các giá trị bằng cách sử dụng các khóa chứ không phải chỉ mục từ một phần tử dữ liệu.
- Graph: .Nó là một sự sắp xếp của các đỉnh và các nút trong đó một số các nút được kết nối với nhau thông qua các liên kết.
Cấu trúc dữ liệu cụ thể của Python
Các cấu trúc dữ liệu này dành riêng cho ngôn ngữ python và chúng mang lại tính linh hoạt cao hơn trong việc lưu trữ các loại dữ liệu khác nhau và xử lý nhanh hơn trong môi trường python.
- List: Nó tương tự như mảng với ngoại lệ là các phần tử dữ liệu có thể thuộc các kiểu dữ liệu khác nhau. Bạn có thể có cả dữ liệu số và chuỗi trong danh sách python.
- Tuple: Tuple tương tự như danh sách nhưng chúng không thay đổi được, có nghĩa là không thể sửa đổi các giá trị trong bộ tuple mà chúng chỉ có thể được đọc.
- Dictionary: Từ điển chứa các cặp Khóa-giá trị làm phần tử dữ liệu của nó.
Trong các chương tiếp theo, chúng ta sẽ tìm hiểu chi tiết về cách mỗi cấu trúc dữ liệu này có thể được triển khai bằng Python.