Learn fundamental computer science concepts through a comprehensive course covering data structures and algorithms. Master essential topics including linear lists, stacks, queues, strings, arrays, trees, graphs, searching, and sorting algorithms. Explore practical implementations through hands-on experiments like the Knight's Tour Problem, Campus Tour Guide, and Maze Problem. Develop a strong foundation in algorithmic thinking by studying time complexity analysis, pattern matching, tree traversals, graph algorithms including Prim's, Dijkstra's, and various sorting techniques like Shell Sort, Quick Sort, and Heap Sort. Practice implementing data structures from basic linked lists to advanced concepts like hash tables and binary search trees. Gain practical experience with both recursive and non-recursive approaches while learning optimization techniques for storage and processing efficiency.
Overview
Syllabus
- 1. Introduction
- 1.1 Basic Concepts in Data Structures
- 1.2 Basic Concepts in Data Structures
- 1.3 Basic Concepts in Data Structures
- 1.4 Logical Structure and Storage Structure of Data
- 1.5 Algorithms and Time Complexity
- 2. Linear Lists
- 2.1 Linear List and Sequential Storage
- 2.2 Singly Linked Lists
- 2.3 Create a Singly Linked List
- 2.4 Circularly Linked List
- 2.5 Single-Variable Polynomials
- 3. Stacks and Queues
- 3.1 Stack Concepts and Applications
- 3.2 Applications of Stacks
- 3.3 Concept and Application of Queues
- 3.4 Expression Evaluation
- 3.5 Recursion and Devide and Conquer
- 4. String
- 4.1 Basic Operation of Strings
- 4.2 Pattern Matching of Strings
- 4.3 KMP Pattern Matching Algorithm for Strings
- 4.4 Next Value Calculation Idea of Pattern Strings
- 5. Multidimensional array
- 5.1 Definition of Array and Sequential Storage
- 5.2 Compressed Storage Schemes for Special Matrices
- 5.3 Fast Inversion of Triple Sequence Table
- 6. Trees
- 6.1 Properties of Binary Trees
- 6.2 Binary Tree Traversals
- 6.3 Application of Binary Trees
- 6.4 Non-recursive Traversal of Binary Trees
- 6.5 Trees and Forest
- 6.6 Huffman Tree
- 6.7 Huffman Coding
- 7. Graphs
- 7.1 Basic Concepts of Graphs
- 7.2 The Storage Structure of Graphs
- 7.3 The Depth-First Search of Graphs
- 7.4 The Breadth-First Search of Graphs
- 7.5 The Minimum Spanning Tree of Graphs ——The Idea Based On Prim Algorithm
- 7.6 The Minimum Spanning Tree of Graphs ——Implementation of Prim Algorithm
- 7.7 The Idea of Topological Sorting of Graphs
- 7.8 Single Source Shortest Path of Graphs ——Dijkstra Idea
- 8. Search
- 8.1 Sequential Search
- 8.2 Binary Search
- 8.3 Basic Concepts and Search of Binary Search Trees
- 8.4 Basic Concepts of Hash Table
- 8.5 Hash Functions
- 8.6 Conflict-Handing Methods of Hash Table
- 9. Sort
- 9.1 Basic Concepts of Sorting
- 9.2 Shell Sort
- 9.3 Quick Sort
- 9.4 Heap Sort
- 10. Comprehensive Experimental Analysis
- 10.1 The Knight's Tour Problem
- 10.2 A Campus Tour Guide
- 10.3 Maze Problem
- examination
Taught by
Xi’an University of Posts&Telecommunications