Skip to content

中山大学数据结构与算法project(sz老师,2023秋季)

Notifications You must be signed in to change notification settings

liaohr9/sysu-data-structures-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

数据结构课程项目

中山大学 数据结构课程 实验项目合集

项目列表

Project 1 - 计算器 (Calculator)

基于 Qt 的科学计算器应用,支持两种计算模式:

  • 普通计算模式:实现基本的四则运算表达式计算,使用栈实现运算符优先级处理
  • 多项式计算模式:支持多项式的加、减、乘运算,以及多项式求值功能

核心数据结构:栈(Stack)、向量(Vector)

技术栈:C++、Qt GUI


Project 2 - 文本编辑器 (TexTank)

基于 Qt 的文本编辑器,具有以下功能:

  • 文件操作:新建、打开、保存、另存为
  • 编辑功能:撤销、重做、剪切、复制、粘贴
  • 查找与统计功能
  • C++ 语法高亮
  • 代码编译与运行支持
  • 深色/浅色主题切换

核心功能:文本处理、语法高亮(CppHighlighter)

技术栈:C++、Qt GUI


Project 3 - 基于二叉树的计算器 (CalTree)

使用二叉树结构实现的表达式计算器:

  • 支持前缀表达式输入
  • 前缀表达式转中缀表达式
  • 构建表达式树并可视化展示
  • 变量赋值与表达式求值
  • 表达式合并与常量折叠
  • 撤销/重做功能

核心数据结构:二叉树(Binary Tree)、栈(Stack)

技术栈:C++、Qt GUI


Project 4 - 图的遍历与最短路径 (12306 模拟)

模拟铁路票务系统,实现图的相关算法:

  • 图的存储:邻接多重表、邻接表两种存储方式
  • 图的遍历
    • 深度优先搜索(DFS)
    • 广度优先搜索(BFS)
  • 最短路径:Dijkstra 算法(支持 for 循环和优先队列两种实现)
  • 生成 DFS/BFS 遍历树

核心数据结构:图(Graph)、邻接表、邻接多重表、优先队列

技术栈:C++、Qt GUI


项目结构

project/
├── project-1/          # 计算器
├── project-2/          # 文本编辑器
├── project-3/          # 基于二叉树的计算器
├── project-4/          # 图的遍历(12306模拟)
└── README.md

环境要求

  • C++ 11 或更高版本
  • Qt 5.12
  • CMake(部分项目)

About

中山大学数据结构与算法project(sz老师,2023秋季)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages