Cấu trúc dữ liệu và thuật toán trong các giải pháp Python

Trong Cấu trúc dữ liệu và thuật toán trong Python, của Michael T. GoodRich, có một số vấn đề thực hành tốt. Tuy nhiên, có ai có hướng dẫn giải pháp cho cuốn sách này để tôi có thể kiểm tra chéo trong trường hợp tôi gặp khó khăn trong một vấn đề hoặc tôi muốn xác nhận công việc của mình không?

Có một bộ sưu tập video tuyệt vời trên YouTube do Gerry Jenkins ghi lại để hỗ trợ tất cả các chương trong văn bản này

Sự nhìn nhận

Chúng tôi rất biết ơn Nhà xuất bản Franklin Beedle đã cho phép chúng tôi cung cấp miễn phí sách giáo khoa tương tác này. Phiên bản trực tuyến này được dành để tưởng nhớ biên tập viên đầu tiên của chúng tôi, Jim Leisy, người muốn chúng tôi “thay đổi thế giới. ”

Lời nói đầu v

1 mồi Python 1

1. 1 Tổng quan về Python. 2

1. 2 đối tượng trong Python. 4

1. 3 Biểu thức, Toán tử và Quyền ưu tiên. 12

1. 4 Luồng điều khiển 18

1. 5 Chức năng 23

1. 6 Nhập và Xuất đơn giản 30

1. 7 Xử lý ngoại lệ. 33

1. 8 Iterators và Generators 39

1. 9 Tiện ích bổ sung của Python 42

1. 10 Phạm vi và Không gian tên 46

1. 11 Mô-đun và Báo cáo nhập khẩu 48

1. 12 Bài tập 51

2 Lập trình hướng đối tượng 56

2. 1 Mục tiêu, Nguyên tắc và Khuôn mẫu 57

2. 2 Phát triển phần mềm 62

2. 3 định nghĩa lớp. 69

2. 4 Kế thừa 82

2. 5 Không gian tên và Hướng đối tượng. 96

2. 6 Sao chép nông và sâu101

2. 7 bài tập 103

3 Phân tích thuật toán 109

3. 1 Nghiên Cứu Thực Nghiệm 111

3. 1. 1 Tiến xa hơn phân tích thực nghiệm. 113

3. 2 Bảy chức năng được sử dụng trong cuốn sách này. 115

3. 3 Phân tích tiệm cận. 123

3. 4 Kỹ Thuật Chứng Minh Đơn Giản 137

3. 5 bài tập 141

4 Đệ quy 148

4. 1 Ví dụ minh họa 150

4. 2 Phân Tích Thuật Toán Đệ Quy 161

4. Chạy đệ quy 3 Amok 165

4. 4 Ví dụ khác về Đệ quy169

4. 5 Thiết Kế Thuật Toán Đệ Quy 177

4. 6 Loại bỏ đệ quy đuôi178

4. 7 bài tập 180

5 dãy dựa trên mảng 183

5. 1 Các kiểu trình tự của Python 184

5. 2 mảng cấp thấp. 185

5. 3 Mảng động và Khấu hao 192

5. 4 Hiệu quả của các kiểu trình tự trong Python. 202

5. 5 Sử dụng trình tự dựa trên mảng210

5. 6 Tập dữ liệu đa chiều219

5. 7 bài tập 224

6 Ngăn xếp, Hàng đợi và Deques 228

6. 1 ngăn xếp. 229

6. 2 hàng đợi. 239

6. 3 hàng đợi hai đầu 247

6. 4 bài tập 250

7 Danh sách liên kết 255

7. 1 Danh sách liên kết đơn lẻ. 256

7. 2 Danh sách liên kết vòng 266

7. 3 danh sách liên kết đôi. 270

7. 4 Danh sách Vị trí ADT 277

7. 5 Sắp xếp Danh sách Vị trí 285

7. 6 Nghiên cứu điển hình. Duy trì tần suất truy cập 286

7. 7 Chuỗi dựa trên liên kết so với dựa trên mảng. 292

7. 8 bài tập 294

8 Cây 299

8. 1 Cây Chung 300

8. 2 cây nhị phân 311

8. 3 cây thực hiện. 317

8. Thuật toán duyệt 4 cây328

8. 5 Nghiên cứu điển hình. Một cây biểu hiện 348

8. 6 bài tập 352

9 Hàng ưu tiên 362

9. 1 Loại dữ liệu trừu tượng hàng đợi ưu tiên. 363

9. 2 Triển khai Hàng đợi Ưu tiên 365

9. 3 đống. 370

9. 4 Sắp xếp theo hàng đợi ưu tiên385

9. 5 hàng đợi ưu tiên thích ứng390

9. 6 bài tập 395

10 Bản đồ, Bảng Hash và Danh sách Bỏ qua 401

10. 1 Bản đồ và Từ điển 402

10. 2 Bảng Băm 410

10. 3 bản đồ được sắp xếp 427

10. 4 Bỏ qua danh sách 437

10. 5 Bộ, Nhiều bộ và Nhiều bản đồ 446

10. 6 bài tập 452

11 Cây Kiếm 459

11. 1 cây tìm kiếm nhị phân. 460

11. 2 cây tìm kiếm cân bằng 475

11. 2. 1 Khung Python để cân bằng cây tìm kiếm 478

11. 3 Cây AVL 481

11. 4 Cây Chơi 490

11. 5 (2,4) Cây 502

11. 6 Cây Đỏ Đen. 512

11. 7 bài tập 528

12 Sắp xếp và Lựa chọn 536

12. 1 Tại sao nghiên cứu các thuật toán sắp xếp?

12. 2 Hợp nhất-Sắp xếp 538

12. 3 Sắp xếp nhanh 550

12. 4 Nghiên cứu Sắp xếp qua lăng kính thuật toán 562

12. 5 So sánh thuật toán sắp xếp567

12. 6 Hàm sắp xếp tích hợp sẵn của Python 569

12. 7 Lựa chọn 571

12. 8 bài tập 574

13 Xử lý văn bản 581

13. 1 Sự phong phú của Text582 số hóa

13. 2 thuật toán khớp mẫu584

13. 3 Lập trình động 594

13. 4 Nén văn bản và phương pháp tham lam. 601

13. 5 lần thử. 604

13. 6 bài tập 613

14 Thuật toán đồ thị 619

14. 1 đồ thị. 620

14. 2 Cấu trúc dữ liệu cho Graphs627

14. 3 Đường duyệt đồ thị. 638

14. 4 Đóng chuyển tiếp. 651

14. 5 Đồ thị tuần hoàn có hướng 655

14. 6 Con Đường Ngắn Nhất659

14. 7 Cây bao trùm tối thiểu 670

14. 8 bài tập 686

15 Quản lý bộ nhớ và B-Tree 697

15. 1 Quản lý bộ nhớ 698

15. 2 Hệ thống phân cấp bộ nhớ và bộ nhớ đệm 705

15. 3 Tìm kiếm bên ngoài và B-Tree 711

15. 4 Sắp xếp bộ nhớ ngoài 715

15. 5 bài tập 717

Một chuỗi ký tự trong Python 721

B Sự kiện toán học hữu ích 725

Thư mục 732

Chỉ số 737

Tôi có thể sử dụng Python cho Cấu trúc dữ liệu và thuật toán không?

Trong khóa học Chuyên sâu về Cấu trúc dữ liệu và thuật toán thông qua Python này, Các chương trình Python được sử dụng để triển khai các khái niệm khác nhau, nhưng bạn có thể dễ dàng viết mã chúng bằng bất kỳ ngôn ngữ lập trình nào khác như C++, Java . .

Tôi có thể thực hành cấu trúc dữ liệu và thuật toán trong Python ở đâu?

6 Khóa học tốt nhất để học cấu trúc dữ liệu và thuật toán với Python năm 2022 .
Python cho cấu trúc dữ liệu, thuật toán và phỏng vấn. .
Thuật toán và cấu trúc dữ liệu trong Python [Khóa học tốt nhất của Udemy].
LeetCode trong Python. 50 câu hỏi phỏng vấn viết mã thuật toán. .
Cấu trúc dữ liệu cho các cuộc phỏng vấn viết mã trong Python [Giáo dục]

Khóa học nào là tốt nhất cho cấu trúc dữ liệu và thuật toán trong Python?

Cấu trúc dữ liệu và thuật toán Python – Bootcamp hoàn chỉnh (Udemy) Khóa học này do Udemy cung cấp là khóa học DSA nổi tiếng nhất dành cho người mới bắt đầu. Khóa học này bao gồm mọi chủ đề từ khái niệm và trực quan hóa đến phần triển khai. Bạn cần có kiến ​​thức cơ bản về Python để bắt đầu khóa học này.

Cái nào tốt hơn cho DSA Python hay C++?

Python dẫn đến một kết luận. Python tốt hơn cho người mới bắt đầu về mã dễ đọc và cú pháp đơn giản . Ngoài ra, Python là một lựa chọn tốt để phát triển web (phụ trợ), trong khi C ++ không phổ biến lắm trong phát triển web dưới bất kỳ hình thức nào. Python cũng là ngôn ngữ hàng đầu để phân tích dữ liệu và học máy.