【数据结构(青岛大学 王卓)】第1章 绪论 学习笔记(一)0 前言、1.1 数据结构的研究内容

0 前言

1、同学们心中的疑问

①这门课程是讲什么的?

②这门课重要吗?

③这门课好学吗?

④怎么才能学好这门课?

2、课程内容

凭借一句话获得图灵奖的Pascal语言之父——Nicklaus Wirth,让他获得图灵奖的这句话就是他提出的著名公式:“程序=数据结构+算法”。

这个公式对计算机科学的影响程度足以类似物理学中爱因斯坦的“E=MC^2”。——一个公式展示出了程序的本质。
在这里插入图片描述

3、数据结构这门课重要吗?

①数据结构是这计算机软件相关专业的专业基础课。

②在教学计划中的地位:核心、承上启下的课程。
在这里插入图片描述③数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。
在这里插入图片描述

4、这门课好学吗?

有点难。

①概念性强、抽象。

②算法灵活、不易掌握。

③逻辑性强,算法设计很烧脑。

5、怎么才能学好这门课程呢?

勤于思考;多做练习;多上机;善于寻求帮助;不怕困难,不放弃!!!
在这里插入图片描述

1.1 数据结构的研究内容

1、计算机解题步骤

通常,用计算机解题一个问题的步骤:

①具体问题抽象为数学模型。

实质:分析问题;提取操作对象;找出操作对象之间的关系;用数学语言描述→数据结构。

②设计算法。

③编程、调试、运行。

2、数值计算

早期,计算机主要用于数值计算。
在这里插入图片描述

3、非数值计算

(1)例1
在这里插入图片描述

类似的还有图书管理系统、人事管理系统、仓库管理系统、通讯录……
在这里插入图片描述
操作对象:若干行数据记录。

操作算法:查询、插入、修改、删除等。

操作对象之间的关系:线性关系。

数据结构:线性数据结构、线性表。
(2)例2
人机对弈问题。
在这里插入图片描述
之所以能对弈:策略已经输入计算机,可以根据当前棋盘格局,来预测棋局发展的趋势,甚至最后结局。

计算机的操作对象:各种棋局状态,即描述棋盘的格局信息。

计算机的算法:走棋,即选择一种策略使棋局状态发生变化(由一种格局派生出另一个格局)。

操作对象之间的关系:非线性关系、树。

(3)文件系统的系统结构图
磁盘根目录下有很多子目录及文件,每个子目录里又可以包含多个子目录及文件,但每个子目录只有一个父目录,依此类推。
在这里插入图片描述
本问题是一种典型的树型结构问题,数据与数据成一对多的关系,是一种典型的非线性关系结构——树形结构。

(4)地理信息处理
地图导航——求最短路径(最快路径)。
在这里插入图片描述
在这里插入图片描述
问题:找出图中两点之间的最短路径或最经济路径。

操作对象:各地点及路的信息。

计算机算法:设置信号灯,求出各个可同时通行的路的集合。

对象之间的关系:非线性关系、网状结构。

4、小结

综上所述:

①这些问题的共性是都无法用数学的公式或方程来描述,是一些“非数值计算”的程序设计问题。

②描述非数值计算问题的数学模型不是数学方程,而是诸如表、树和图之类的具有逻辑关系的数据。

③数据结构是一门研究非数值计算的程序设计中计算机的操作对象以及它们之间的关系和操作的学科。

要想有效地使用计算机,就必须学习数据结构。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值