Trong hướng dẫn này, chúng tôi sẽ tạo ra một ngăn xếp trong từng bước của Python. Ngăn xếp là cấu trúc dữ liệu LIFO (lần đầu tiên). Show
Để tạo một ngăn xếp trong Python, bạn có thể sử dụng một lớp với một thuộc tính duy nhất của danh sách loại. Các phần tử của ngăn xếp được lưu trữ trong danh sách bằng phương pháp đẩy và được truy xuất bằng phương pháp POP. Các phương pháp bổ sung cho phép có được kích thước của ngăn xếp và giá trị của phần tử ở đầu ngăn xếp. Chúng tôi sẽ xây dựng một lớp tùy chỉnh thực hiện các hoạt động chung được cung cấp bởi cấu trúc dữ liệu ngăn xếp. Hãy bắt đầu xây dựng nó!
Cách bắt đầu xây dựng lớp cho ngăn xếpSử dụng các hoạt động đẩy và pop trên ngăn xếp của chúng tôi Xử lý lỗi khi sử dụng Pop trên một ngăn xếp trống Lấy số lượng các yếu tố trong ngăn xếp Python Lấy lại giá trị của phần tử ở đầu ngăn xếp Sự kết luận Cấu trúc dữ liệu chúng tôi sẽ sử dụng bên trong lớp của chúng tôi để tạo ngăn xếp Python là một danh sách.
Lớp sẽ hạn chế loại hoạt động có thể được thực hiện so với danh sách xem xét rằng một ngăn xếp không cho phép tất cả các hoạt động có thể có với danh sách Python.push and pop:
Hãy bắt đầu bằng cách tạo một lớp gọi là Stack có thuộc tính danh sách có tên là các phần tử.
Chất xây dựng của lớp ngăn xếp khởi tạo các phần tử thuộc tính vào một danh sách trống.
Hai hoạt động đầu tiên chúng tôi muốn hỗ trợ trong ngăn xếp của chúng tôi là PUSP VÀ POP: Sử dụng các hoạt động đẩy và pop trên ngăn xếp của chúng tôiXử lý lỗi khi sử dụng Pop trên một ngăn xếp trống
Lấy số lượng các yếu tố trong ngăn xếp Python
Lấy lại giá trị của phần tử ở đầu ngăn xếp Sự kết luận
Lớp sẽ hạn chế loại hoạt động có thể được thực hiện so với danh sách xem xét rằng một ngăn xếp không cho phép tất cả các hoạt động có thể có với danh sách Python.: notice that the first element returned by pop() is the string test that is the second element we have pushed to the stack. Thats because of the LIFO nature of the stack. Xử lý lỗi khi sử dụng Pop trên một ngăn xếp trốngLấy số lượng các yếu tố trong ngăn xếp Python Lấy lại giá trị của phần tử ở đầu ngăn xếp
Sự kết luận
Cấu trúc dữ liệu chúng tôi sẽ sử dụng bên trong lớp của chúng tôi để tạo ngăn xếp Python là một danh sách. Lớp sẽ hạn chế loại hoạt động có thể được thực hiện so với danh sách xem xét rằng một ngăn xếp không cho phép tất cả các hoạt động có thể có với danh sách Python. Khi làm việc với một danh sách, bạn có quyền tự do thêm và xóa các yếu tố ở đầu ở giữa và ở cuối danh sách. Điều tương tự không áp dụng cho một ngăn xếp. Khi làm việc với Stack & NBSP; bạn chỉ có thể thêm một phần tử vào đỉnh của ngăn xếp và loại bỏ phần tử khỏi đỉnh của ngăn xếp. Đó là bởi vì theo định nghĩa, một ngăn xếp là cấu trúc dữ liệu đầu tiên vào lần cuối. Hãy bắt đầu bằng cách tạo một lớp gọi là Stack có thuộc tính danh sách có tên là các phần tử.
Chất xây dựng của lớp ngăn xếp khởi tạo các phần tử thuộc tính vào một danh sách trống.
Hai hoạt động đầu tiên chúng tôi muốn hỗ trợ trong ngăn xếp của chúng tôi là PUSP VÀ POP: Lấy số lượng các yếu tố trong ngăn xếp PythonLấy lại giá trị của phần tử ở đầu ngăn xếp Sự kết luận 0Cấu trúc dữ liệu chúng tôi sẽ sử dụng bên trong lớp của chúng tôi để tạo ngăn xếp Python là một danh sách. 1Lớp sẽ hạn chế loại hoạt động có thể được thực hiện so với danh sách xem xét rằng một ngăn xếp không cho phép tất cả các hoạt động có thể có với danh sách Python. Khi làm việc với một danh sách, bạn có quyền tự do thêm và xóa các yếu tố ở đầu ở giữa và ở cuối danh sách. Điều tương tự không áp dụng cho một ngăn xếp. 2Khi làm việc với Stack & NBSP; bạn chỉ có thể thêm một phần tử vào đỉnh của ngăn xếp và loại bỏ phần tử khỏi đỉnh của ngăn xếp. Đó là bởi vì theo định nghĩa, một ngăn xếp là cấu trúc dữ liệu đầu tiên vào lần cuối.call a class method from another method within the same class. Hãy bắt đầu bằng cách tạo một lớp gọi là Stack có thuộc tính danh sách có tên là các phần tử. Chất xây dựng của lớp ngăn xếp khởi tạo các phần tử thuộc tính vào một danh sách trống. Hai hoạt động đầu tiên chúng tôi muốn hỗ trợ trong ngăn xếp của chúng tôi là PUSP VÀ POP:Đẩy thêm một phần tử vào đỉnh của ngăn xếp. Lấy lại giá trị của phần tử ở đầu ngăn xếpSự kết luận Cấu trúc dữ liệu chúng tôi sẽ sử dụng bên trong lớp của chúng tôi để tạo ngăn xếp Python là một danh sách. Hoạt động lấy phần tử ở đầu ngăn xếp được gọi là Peek. 4Phương pháp này là siêu đơn giản. Chúng tôi đang sử dụng một chỉ số tiêu cực để có được phần tử cuối cùng trong danh sách các phần tử về cơ bản là phần tử ở đầu ngăn xếp của chúng tôi. 5Phương pháp thực hiện chính xác những gì chúng tôi muốn làm. Sự kết luậnTrong hướng dẫn này, chúng tôi đã thấy cách thực hiện một ngăn xếp trong từng bước của Python bằng cách sử dụng một lớp tùy chỉnh. Chúng tôi đã triển khai năm hoạt động cho ngăn xếp tùy chỉnh của chúng tôi:
Tôi hy vọng bạn thấy nó hữu ích 🙂 Bài viết liên quan:Tôi là một nhà lãnh đạo công nghệ, kỹ sư phần mềm và huấn luyện viên lập trình. Tôi muốn giúp bạn trong hành trình trở thành một nhà phát triển siêu! Làm thế nào để bạn thực hiện một ngăn xếp?Việc triển khai ngăn xếp trong các cấu trúc dữ liệu Bạn có thể thực hiện việc triển khai các ngăn xếp trong các cấu trúc dữ liệu bằng hai cấu trúc dữ liệu là một mảng và danh sách được liên kết. Mảng: Trong triển khai mảng, ngăn xếp được hình thành bằng một mảng. Tất cả các hoạt động được thực hiện bằng các mảng.using two data structures that are an array and a linked list. Array: In array implementation, the stack is formed using an array. All the operations are performed using arrays.
Làm thế nào để bạn thực hiện một ngăn xếp bằng một mảng trong Python?Sử dụng mảng.. Tuyên bố một danh sách và một số nguyên tối đa và biểu thị kích thước tối đa của ngăn xếp .. Ban đầu đặt đầu thành 0 .. Hoạt động đẩy: Kiểm tra xem mức tối đa của ngăn xếp lớn hơn đầu. .... Hoạt động pop: Kiểm tra xem Top có lớn hơn 0 không: .... Hoạt động kích thước: Kích thước của ngăn xếp là giá trị của con trỏ trên cùng .. Ví dụ, ngăn xếp trong Python là gì?Một ngăn xếp là một cấu trúc dữ liệu tuyến tính trong đó dữ liệu được sắp xếp các đối tượng trên một đối tượng khác.Nó lưu trữ dữ liệu theo cách LIFO (cuối cùng theo cách đầu tiên).Dữ liệu được lưu trữ theo thứ tự tương tự khi các tấm được sắp xếp một cái khác trong nhà bếp.Ví dụ đơn giản về một ngăn xếp là tính năng hoàn tác trong trình soạn thảo.a linear data structure where data is arranged objects on over another. It stores the data in LIFO (Last in First Out) manner. The data is stored in a similar order as plates are arranged one above another in the kitchen. The simple example of a stack is the Undo feature in the editor.
Có một mô -đun ngăn xếp trong Python?Deque để tạo ra một ngăn xếp Python.Mô -đun bộ sưu tập chứa Deque, rất hữu ích cho việc tạo ngăn xếp Python.Deque được phát âm là bộ bài và là viết tắt của hàng đợi hai kết thúc.The collections module contains deque , which is useful for creating Python stacks. deque is pronounced “deck” and stands for “double-ended queue.” |