1.1 数据结构的研究内容
1.1数据结构的研究内容
通常用计算机解题一个问题的步骤
A、首先将具体的问题抽象为数学模型
B、通过数学模型来设计算法
C、然后通过某种语言进行编程程序、调试、运行。
如何将具体问题抽象为数学模型
A、首先是分析问题
B、通过问题来提取可操作的对象
C、找出操作对象之间的关系
D、然后用数学语言进行描述这里用数学语言描述就是数据结构。
例题1:学生学籍管理系统
学号 | 姓名 | 性别 | 籍贯 | 专业 |
---|---|---|---|---|
60214201 | 杨阳 | 男 | 安徽 | 计科 |
60214202 | 薛林 | 男 | 福建 | 计科 |
60214215 | 王诗萌 | 女 | 吉林 | 计科 |
60214216 | 冯子涵 | 女 | 山东 | 计科 |
操作对象:每位学生的信息(学号、姓名、性别、籍贯、专业........)
操作算法:查询、插入、修改、删除等(CRUD操作)
操作对象之间的关系:线性关系 数据结构:线性数据结构、线性表。
例题2:人机对弈问题
我们将下一步的下子位置进行罗列出来。也就是说我们将所有发生的可能进行评估出来即可。
操作对象:出现对弈的每一种棋局的状态
操作算法:对下一次即将发生的落子进行评估即可。
操作对象之间的关系:非线性关系,是一种树的关系
小结
综上所述
- 这些问题的共性是都无法用数学公式或方程来描述,是一些"非数值计算"的程序设计问题。
- 描述非数值计算问题的数学模型不是数学方程,而是诸如表、树和图之类的具有逻辑关系的数据。
- 数据结构是一门非数值计算的程序设计中计算机的操作对象以及它们之间的关系和操作学科。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话