IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> ch1 我想和你谈谈数据结构——绪论 -> 正文阅读

[数据结构与算法]ch1 我想和你谈谈数据结构——绪论

数据结构绪论

学习数据结构之前或许你会有这样的疑问:

  • 这门课我们学什么?
  • 这门课好学吗?
  • 这门课怎么才能学好?

接下来我们就一一解答这些问题

Q1:这门课我们学什么?

凭借一句话获得图灵奖的Pascal语言之父——Nicklaus Wirth,让他获得图灵奖的这句话就是他提出的著名公式:

程序=数据结构+算法

这个公式对计算机科学的影响程度足以类似物理学中爱因斯坦的E=mc^2

——————这个公式展示了程序的本质

算法其实就是用于解决某一类问题的公式与思想。(给出问题的数学模型)而数据结构就是数据的组织、管理和存储格式,其使用目的是为了高效的访问和修改数据。至于程序就是计算机处理问题的一系列指令。

程序设计的实质是对确定的问题选择一种好的数据结构,并设计一种好的算法。

课程内容:

在这里插入图片描述

  • 数据结构是计算机软件相关专业的专业基础课
  • 在教学计划中的地位 :承上启下、核心部分
    在这里插入图片描述
  • 数据结构是介于数学、计算机硬件和计算机软件之间的一门核心课程
    在这里插入图片描述
  • 类似于武术中的基本功,练武不练功,到头一场空
  • 考研必考专业课4门专业课共150分【《数据结构与算法》占45分(更有很多学校只考数据结构与算法)】
  • 找工作面试,主要考核的内容

数据结构研究的内容

起初计算机被人们视作数值计算的工具

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

  • 具体问题抽象成数学模型;
    分析问题;
    提取操作对象;
    找出操作对象之间的关系;
    用数学语言描述==>数据结构;【建立相应方程】<一般建立方程容易数据元素之间的关系简单但运算量大,人们就利用计算机来快速的完成复杂的计算>
  • 设计算法;
  • 编程调试运行

随着计算机应用领域的扩展,计算机被越来越多地用于非数值计算,比如信息的处理
来了一位新同学把他的信息加入到系统中;有同学转学或出国了要把他的信息删除道;想查看某位同学的信息;修改某位同学改名字了在系统中也应相应的修改

操作对象每位学生的信息(姓名、学号、性别、籍贯、专业)
操作算法:查询、插入、修改、删除等
操作对象之间的关系线,性关系数据结构线性数据结构线性表。
在这里插入图片描述
操作对象:各种棋盘格局
计算机的算法:根据当前的格局,从提供的派生格局中选择一种。也就是下一步棋,则构成一个新的棋盘格局。
操作对象之间的关系:非线性关系(树)
例2.2:磁盘根目录下有很多子目录及文件,每个子目录里又可以包含多个子目录及文件但每一个子目录只有一个父目录
在这里插入图片描述
例3:最短路径问题。从城市A到城市B有多条线路,但每条线路的交通费不同,那么,如何选择一条线路,使得从城市A到城市B的交通费用最少呢?
在这里插入图片描述
综上所述:这些问题的共性是:都无法用数学的公式或方程来描述,是一些“非数值计算”的程序设计问题,描述非数值计算问题的数学模型不是数学方程,而是诸如表,树和图之类的具有逻辑关系的数据

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

这门课程好学吗?

比较难学。抽象概念性强、需要一些数学逻辑思维不然后面的学习就吃力一些了。

这门课怎么才能学好?

不要中途放弃,要迎难而上;做好笔记(“最淡的墨水也胜过最强的记忆”)即使你不去复习你的笔记也没有什么,其实写字的过程中大脑也在学习,写字放慢了你的速度,从而让你更好的去消化学习的内容)主动学习;必须真真切切的可以写出代码去实现算法并且可以详细的说出每一步是做什么的;多上机敲代码。如果学的不是C语言也没有关系这可以让你了解你掌握的编程语言与C语言的差异。甚至将课本给出的代码用你掌握的语言去改造本身也是很好的学习方法。

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-09-10 11:06:45  更:2021-09-10 11:07:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:58:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码