算法复习第一天:论序

  • 一、先了解几个人
    • ① 号目标人物
    • ② 号目标人物
  • 二、数据结构的兴起和发展
    • 1.客观世界与计算机世界的关系
    • 2.程序设计的实质是什么
    • 3.数据结构是随着程序设计的发展而发展的
  • 三.研究对象与基本概念
    • 1.例子一:学籍管理问题(表结构)
    • 2.例子二:人机对弈问题(树结构)
    • 3.例子三:教学计划编排问题(图结构)
    • 4.计算机求解问题
    • 5.数据结构与算法课程的研究对象
    • 6.数据结构的基本概念

一、先了解几个人

① 号目标人物


尼古拉斯·沃斯(Niklaus Wirth)1934年2月15日—瑞士计算机科学家
著名的一条言论:算法+数据结构 = 程序设计
Pascal之父、结构化程序设计的先驱 Niklaus Wirth 最
著名的一本书,书名:《算法+ 数据结构= 程序》

② 号目标人物


洋洋数百万言的多卷本《计算机程序设计的艺术》堪称计算机科学理论与技术的经典巨著,
有评论认为其作用与地位可与数学史上欧几里得的《几何学原理》相比。本书作者
唐纳德·克努特(Donald ErvinKnuth)因而荣获1974年度的图灵奖。

这个人可牛了!!!
他1938年出生,25岁毕业于加州理工学院数学系,博士毕业后留校任教,28岁任副教授,
30岁加盟斯坦福大学计算机系,任教授从31岁起开始出版他的历史性经典巨著。
就是The Art Computer Programming,他本来是计划共写7卷的,然而出版三卷后已震惊世界,
使他获得计算机科学界的最高荣誉奖 图灵奖,此时他年仅36岁在1968年美国唐纳德·克努特(Donald Ervin Knuth)教授开创了数据结构的最初体系,
所著的《计算机程序设计艺术》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。
而 “数据结构”作为一门独立的课程在国外也是从1968年才开始设立的。

二、数据结构的兴起和发展

1.客观世界与计算机世界的关系

 - 计算机科学是研究信息表示和信息处理的科学 - 信息在计算机内是用数据表示的- 实际就是计算机对问题的一个求解

用计算机解决实际的问题的实质可以用下图表示

2.程序设计的实质是什么

 - 数据表示:将数据存储在计算机中 - 数据处理:处理数据,求解问题- 数据结构问题起源于程序设计

3.数据结构是随着程序设计的发展而发展的

1.无结构阶段:在简单数据上作复杂的运算计算机刚出现的时候只要是在做数学运算,算一些力学问题,弹道啊,数据简单但是运行相对复杂。
2.结构化阶段:数据结构+算法=程序
3.面向对象阶段: (对象+行为)=程序
4.到现在为止数据结构也是在不断的发展,随着新的应用的出现,也会产生更多,更好的,更快的数据结构,来解决应用中的问题

三.研究对象与基本概念

1.例子一:学籍管理问题(表结构)

完成什么样的功能?各表向之间是什么关系?


这样的数据在计算机中是如何存储的,这是我们要研究的,我们怎么样把这个东西给存进去存到计算机里边去?

2.例子二:人机对弈问题(树结构)

大脑的思考与机器的应对,机器遍历所有可行方案。

3.例子三:教学计划编排问题(图结构)

如何表示课程之间的先修关系

根据图表可以建立这样的一个有向图

4.计算机求解问题

问题------>抽取出问题的模型------求模型的解
问题有哪些呢?>数值问题、非数值问题>数值问题->求解的方程>非数值问题->数据结构

5.数据结构与算法课程的研究对象

是研究非数值计算问题中计算机的操作对象以及他们之间的关系和操作的学科

6.数据结构的基本概念

1.数据:一切能输入到计算机中并能被识别和处理的符号结合>数值数据:整数、实数等
>非数值数据:图形、图像、声音、文字等2.数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理3.数据项:构成数据元素的不可分的最小单位比如 学号 姓名  性别  电话
4.数据对象:具有相同性质的数据元素的集合成绩信息   棋盘信息 等---是一个广泛的概念,在java中通常来描述一个具体存在的实体或抽象的实体
5.结点:数据元素在计算机内的位串表示--6.域(字段):数据元素中数据项在计算机内的表示>从计算机表示的角度来看,域就是就是数据项,节点就是数据元素
数据结构○ 数据元素之间的相互关系,这种关系是抽象的,及不涉及数据元素的具体内容,是数据元素及其相互间的关系的数学描述○ 相互之间存在一定关系的数据元素的集合○ 按照视点的不同,数据结构分为逻辑结构和存储结构○ 数据的逻辑结构(数据的逻辑结构是从具体问题抽象出来的数据模型。 )
数据元素之间的抽象关系,数据元素之间逻辑关系的整体○ 学籍管理问题中,表项之间的逻辑关系指的是什么? 线性表○ 人机对弈问题中,格局之间的逻辑关系指的是什么?  数○ 教学计划编排问题中,课程之间的逻辑关系指的是什么? 图
数据的存储结构○ 又称物理结构,是数据及其逻辑结构在计算机中的表示。○ 实质上是内存分配,以确定元素及元素之间关系的表示。○ 在具体实现时,依赖于计算机语言。
数据结构从逻辑结构上分为四类(及四种基本的逻辑结构)○ 线性表 数 图  没有任何关系也是一种关系○ 集合:数据元素之间就是“属于同一个集合”   ○ 数据线性结构:数据元素之间在这一对一的线性关系 (链表一个接着一个)○ 树形结构:数据元素之间存在着一对多的层次关系
常用的存储结构○ 顺序存储结构(数组)下标> 用一组连续的存储单元依次存储数据元素,数据之间逻辑关系由元素的存储位置表示。○ 链接的存储结构(链表)指针> 用一组任意的存储单元存储数据元素,数据元素之间的逻辑关系用指针来表示
逻辑结构与存储结构的关系○ 数据的逻辑结构属于用户视图,是面向问题的,反映了数据内部的构成方式;数据的存储结构属于具体实现的视图,是面向计算机的。○ 一种数据的逻辑结构可以用多种存储结构来存储,而采用不同的存储结构,其数据处理的效率往往是不同的。
数据结构与算法的学习内容○ 数据对象的结构形式,各种数据结构的性质(逻辑结构);○ 数据对象和“关系”在计算机中的表示(物理结构/存储结构);○ 数据结构上定义的基本操作(算法)及其实现;○ 算法的效率(时间和空间)--时间复杂度和空间复杂度;○ 数据结构的应用,如数据的分类(排序),检索(查找)等

数据结构与算法复习:一相关推荐

  1. 数据结构与算法复习(持续更新中)

    目录 数组 为什么很多编程语言中数组都从0开始编号? 如何实现随机访问 数组和链表的区别 链表 栈 函数调用栈来保存临时变量,为什么函数调用要用"栈"来保存临时变量呢?用其他数据结 ...

  2. 拿命 3 天肝出来的计算机考研数据结构与算法复习笔记(超详细教程,更新中)

    数据结构与算法 基本概述 数据结构指的是"一组数据的存储结构",算法指的是"操作数据的一组方法". 数据结构是为算法服务的,算法是要作用再特定的数据结构上的. ...

  3. 数据结构与算法复习(2)

    一. 单选题 2.顺序存储,存储单元的地址( ). A. 一定连续 B. 一定不连续 C. 不一定连续 D. 部分连续,部分不连续 正确答案: A 4.广度优先遍历类似于二叉树的( ). A. 先序遍 ...

  4. 数据结构与算法复习(自用)

    数据结构部分 一  摘要 本学期所学内容(按照时间顺序) 引例(复杂度分析),线性结构,树,图,散列 ,排序 二  复杂度分析 三  线性结构 线性表 0.一些例题 1.若某线性表最常用的操作是存取任 ...

  5. 数据结构与算法复习:第三十二弹

    1. 知识点总结 耗时:2h45min 得分:80/100 知识点:英语阅读理解.结构体排序.众数.基于树的DFS 题目 难度 知识点 1056 Mice and Rice

  6. 为什么我要现在复习学习数据结构和算法

    前言   最近人工智能,深度学习特别的火,做为一个软件开发者来说,我们应该对行业形势保持足够的敏感度,同时面对变化我们结合自身情况找准自己的学习方向. 我对人工智能有着极大的兴趣   说实话作为一个开 ...

  7. CAUC数据结构与算法期末复习归纳(二)

    CAUC数据结构与算法期末复习归纳(二) 二叉树 二叉树的周游 二叉树的抽象数据类型 深度优先周游二叉树或其子树 广度优先周游二叉树 二叉树的存储结构 二叉树的链式存储结构 二叉搜索树 二叉搜索树的性 ...

  8. 数据结构与算法期末复习——知识点+题库

    第一章绪论 1.1 数据结构的基本概念 (1)数据:所有能被计算机识别.存储和处理的符号的集合(包括数字.字符.声音.图像等信息 ). (2)数据元素:是数据的基本单位,具有完整确定的实际意义.在计算 ...

  9. weiss数据结构和算法书的使用说明

    <数据结构与算法分析 C语言描述>Mark Allen Weiss著,冯舜玺译,机械工业出版社.Weiss教授的经典教材三部曲之一,其中的C语言描述版本,也就是本书,被称为20世纪最重要的 ...

最新文章

  1. vs2019 MFC 中 cannot open include file 'afxres.h' 问题解决方法
  2. 【UML 建模】UML建模语言入门 -- 静态图详解 类图 对象图 包图 静态图建模实战
  3. 传智播客全栈_播客:从家庭学生到自学成才的全栈开发人员
  4. java post返回xml数据类型_Java 通过HttpURLConnection Post方式提交xml,并从服务端返回数据...
  5. 【设计模式】学习笔记8:命令模式
  6. python matplotlib 柱状图点击事件_Python:matplotlib分组Bar柱状图
  7. struct interface_golang 避坑指南(1)interface 之坑多多 | 文末深圳 Meetup
  8. Python 创建目录文件夹
  9. android的xml登录,Android----xml文件中的控件的id设置
  10. 如何远程断点调试本地localhost项目
  11. matlab2c使用c++实现matlab函数系列教程-flipud函数
  12. 深度学习-Pytorch:Pytorch 创建CNN神经网络模型【ResNet模型】
  13. 早该消失的埃菲尔铁塔为何存在至今?
  14. mysql 获取农历年份_iOS 获取公历、农历日期的年月日
  15. 【英语面试】五.计算机专业英语面试常见问题(兴趣爱好/实践经历篇)
  16. android 13 WMS/AMS系统开发-窗口层级相关SurfaceFlinger图层创建 第三节
  17. inurl_inurl,intitle指令的含义、作用及用法
  18. python爬实时数据_如何用python爬取实时更新的动态数据?
  19. 8个指标深度分析中国心理学预印本平台
  20. 全景影像多层级瓦片生成

热门文章

  1. NOIP2011 聪明的质检员
  2. 浅谈物理隔离与双网切换
  3. 计算机英语词汇带英标,小学英语词汇带英标(13页)-原创力文档
  4. mysql温度报警器源码_基于51单片机的温度报警器设计源码
  5. BPA - 一揽子采购协议(Blanket Purchase Agreement)
  6. 本科毕设——PID控制器的性能评估平台搭建(app designer平台)
  7. 中科大软件学院硕士:实习秋招百多轮面试总结(上)
  8. javaweb旅游信息查询系统
  9. 开机棒 局域网 linux,向日葵开机棒(局域网版)开机攻略
  10. 计算机网络(四)网络层详解