数据结构与算法-问题求解

数据结构与算法

第一章 概论

1.1 问题求解

  • 编写计算机程序的目的?
    • 解决实际的应用问题
  • 问题抽象
    • 分析和抽象任务需求,建立问题模型
  • 数据抽象
    • 确定恰当的数据结构表示数学模型
  • 算法抽象
    • 在数据模型的基础上设计合适的算法
  • 数据结构+算法,进行程序设计
    • 模拟和解决实际问题

设计方法:问题求解-->数据结构-->算法理论和数据模型

逻辑 存储 运算

农夫过河 菜 羊 狼

  • 问题抽象:人狼羊菜乘船过河
    • 只有人能撑船
    • 船只有两个位置(包括人)
    • 狼羊、羊菜不能在没有人时共处
  • 数据抽象:图模型
    • 不合理状态:狼羊、人菜、羊菜、人狼、狼羊菜、人
    • 顶点表示“原岸状态”------10种(包括“空”)
    • 边:一次合理的渡河操作实现的状态转变
  • 数据结构
    • 相邻矩阵
  • 算法抽象
    • 最短路径

思考:问题求解过程

  • 农夫过河问题----最短路径模型
    • 问题抽象?
    • 数据抽象?
    • 算法抽象?
    • 不妨编程序模拟实现
  • 还有其他模型吗?
posted @ 2022-03-11 10:08  寻月隐君  阅读(42)  评论(0编辑  收藏  举报