หลักสูตร เรียนเขียนโปรแกรม Python Data Structures and Algorithms ด้วยตัวเอง ฉบับคนไม่เคยเขียนโปรแกรม
สามารถเรียนได้ทุกคน ไม่จำเป็นต้องมีความรู้ด้านการเขียนโปรแกรมมาก่อน
เนื้อหาการเรียน Python Data Structures and Algorithms
แบ่งเป็น 14 ส่วน
ส่วนที่ 1: Recursions in Python เขียนโปรแกรมด้วยการวนซ้ำตัวเองแบบอัตโนมัติ
1. Recursion Exercise 1: Iterative Products Delivery
2. Recursion Exercise 2: Recursive Products Delivery
3. Recursion Exercise 3: Calculating Factorial
4. Recursion Exercise 4.1 Assign Arguments
5. Recursion Exercise 4.2 Global Mutable State
6. Recursion Exercise 4.3 A List is an example of a Recursive Data Structure
7. Recursion Exercise 5.1: List Input of a Recursive Data Structure
8. Recursion Exercise 5.2: List Input of a Recursive Data Structure
9. Recursion Exercise 6: Fibonacci
ส่วนที่ 2: Stacks in Python เขียนโปรแกรมด้วยโครงสร้างข้อมูลและอัลกอริทึมแบบสแตก
10. Stack Exercise 1: Creating Stack using list Built-in --> List Functions
11. Stack Exercise 2: Creating Stack using list Built-in --> Stack = Empty
12. Stack Exercise 3: Creating Stack using list Built-in --> Automatics
13. Stack Exercise 4: Python Stack Implementation --> Creating Stack Class
14. Stack Exercise 5: Coverting Decimal Numbers to Binary Numbers Using Stacks
ส่วนที่ 3: Queues in Python เขียนโปรแกรมด้วยโครงสร้างข้อมูลและอัลกอริทึมแบบคิว
15. Queue Exercise 1: Creating Queue using list Built-in
16. Queue Exercise 2: Creating Queue using list Built-in --> Automatics
17. Queue Exercise 3: Python Queue Implementation --> Creating Queue Class
18. Queue Exercise 4: Circular Queue Implementation
ส่วนที่ 4: Deque in Python เขียนโปรแกรมด้วยโครงสร้างข้อมูลและอัลกอริทึมแบบเดค
19. Deque Exercise 1 - 3: Creating Deque and Deque Operations 1 - 3
ส่วนที่ 5: Linked Lists in Python เขียนโปรแกรมด้วยโครงสร้างข้อมูลและอัลกอริทึมแบบลิงก์ลิสต์
20. Linked Lists and Big O Notation
21. Linked List Exercise 1: Singly Linked Lists
22. Linked List Exercise 2: Doubly Linked Lists
23. Linked List Exercise 3: Circular Linked Lists
ส่วนที่ 6: Trees in Python เขียนโปรแกรมด้วยโครงสร้างข้อมูลและอัลกอริทึมแบบต้นไม้
24. Understanding Trees Data Structures
25. Applications of Tree Data Structures
26. Binary Trees and Tree Traversals
27. Binary Search Tree
ส่วนที่ 7: Graph in Python เขียนโปรแกรมด้วยโครงสร้างข้อมูลและอัลกอริทึมแบบกราฟ
28. Understanding Graph Data Structures
29. Applications of Graph Data Structure
30. Graph Search Algorithms
31. Graph Exercise 1: Basic Graph
32. Graph Exercise 2: Breadth-First Search and Exercise 3: Depth-First Search
ส่วนที่ 8: ตะลุยโจทย์ Python Recursion
33. Factorial Functions
34. Drawing the English Ruler
35. Recursion Binary Search Algorithms
36. Recursion The Sum of a List of Numbers
37. Recursion List Sum
38. Recursion Fibonacci Functions
39. Recursion Sum of Integer Numbers
40. Recursion Sum of the Integers
41. Recursion Harmonic Sum
42. Recursion Geometric Sum
43. Recursion Value of A to the Power B
44. Recursion Greatest Common Divisor
ส่วนที่ 9: ตะลุยโจทย์ Python Arrays
45. Dynamic Arrays
46. Implementing Dynamic Arrays
47. Storing High Scores for a Game
48. Caesar Cipher using Array-Based Sequences
49. Tic Tac Toe
ส่วนที่ 10: ตะลุยโจทย์ Python Stacks
50. Stacks FILO First In Last Out
51. Stacks Reversing Data using a Stack
52. Stacks an Algorithm for Matching Delimiters
ส่วนที่ 11: ตะลุยโจทย์ Python Queues
53. Queues FIFO First In First Out
54. Queues Priority Queue
55. Queues Circular Queue
ส่วนที่ 12: ตะลุยโจทย์ Python Deques
56. Deques Double-Ended Queues
ส่วนที่ 13: ตะลุยโจทย์ Python Linked Lists
57. Linked List VS Array
58. A Single Linked List
59. Stack a Single Linked List
60. Queue with a Single Linked List
61. Circularly Linked Lists
62. Doubly Linked Lists
63. Deque with a Doubly Linked List
64. The Positional List ADT
65. Sorting a Positional List
66. Maintaining Access Frequencies
ส่วนที่ 14: ตะลุยโจทย์ Python Trees
67. Introduction to Trees
68. Tree Traversals
69. Pre/In/Post-Order Traversals
70. Binary Search Tree
71. Breadth First Traversal
72. Count Leaf Nodes
73. Finding Root to Leaf Paths