一、学习大纲



二、引言

(1)数据结构的概念

数据结构(Data structure)是指一组相互之间存在一种或多种特定关系的数据的组织方式和它们在计算机内的存储方式,以及定义在该组数据上的一组操作。


(2)计算机解决问题的步骤

➢ 建立数学模型
➢ 设计算法
➢ 编程实现算法

(3)数据结构主要研究

① 数据(计算机加工对象)的逻辑结构。
② 实现各种基本操作的算法。

(4)学习数据结构的目的

➢ 掌握常用的数据结构及其应用。
➢ 学会合理地组织数据, 有效地表示数据和处理数据。
➢ 掌握算法设计技术和分析技术。
➢ 掌握使用计算机解决问题的方法和技能,提高程序设计水平。


三、基本概念和术语

(1)数据

数据(Data):所有被计算机存储、处理的对象。


(2)数据元素

数据元素(Data Element):数据的基本单位, 是运算的基本单位。常常又简称为元素。

(3)数据项

数据项(Data Item):数据元素常常还可分为若干个数据项,数据的不可分割的最小标识单位。
在数据库中数据项又称为 字段。它是数据的不可分割的最小标识单位
实际问题中的数据称为原始数据


(4)数据结构

数据结构:相互之间存在一种或多种特定关系的数据元素的集合。


(5)数据的逻辑结构

逻辑结构(Logical Structure):

指数据元素之间的结构关系。

与数据元素本身的形式、内容、相对位置、所含节点个数无关。


(6)数据的存储结构

存储结构 / 物理结构(Physical Structure):
指数据结构在机内的表示,数据的逻辑结构在计算机中的实现。
数据在计算机内的表示形式称为 数据的存储结构
存储结构的主要部分:
❖ 存储结点(每个存储结点存放一个数据元素)
❖ 数据元素之间关联方式的表示
数据结构的存储包含:数据元素的存储、数据元素逻辑关系的存储
存储结构可分为:顺序存储结构、链式存储结构、索引存储方式和 散列存储方式 等。

最基本的存储结构分类:顺序存储结构 、链式存储结构


(7)运算

运算是指在某种逻辑结构上施加的操作,即对逻辑结构的加工

线性表、栈和队列中的元素具有相同的逻辑结构(即线性结构),但有不同的运算集,它们是不同的数据结构。


四、算法及描述

算法规定了求解给定类型问题所需的所有“处理步骤”执行顺序,使给定类型问题能在有限时间被机械的求解。
算法必须使用某种语言描述:
❖ 程序
❖ 介于自然语言和程序设计语言的伪代码
❖ 非形式算法(自然语言)
❖ 框图(N-S图)
《数据结构导论》教材中使用了 类C语言描述算法


五、算法分析

(1)评价算法好坏的因素


(2)选出最优算法通常考虑的两个度量


(3) 时间复杂度


【示例】①  


【示例】②


【示例】③ 


【示例】④ 


【示例】⑤


【示例】⑥


(4)空间复杂度

空间复杂度是对一个算法在运行过程中临时占用存储空间大小的量度。

一个算法在执行期间所需要的存储空间量包括以下部分:
➢  程序代码所占用的空间;
➢  输入数据所占用的空间;
➢  辅助变量所占用的空间;

估算算法空间复杂度时,一般只分析辅助变量所占用的空间


【示例】① 

【数据结构导论】第 1 章:概论相关推荐

  1. 【算法基础】数据结构导论第七章-排序.pptx

    上课的课件分享,适合教学用. 文末提供下载 已发布: 数据结构导论第一章-绪论 数据结构导论第二章-线性表 数据结构导论第三章-栈.队列和数组 数据结构导论第四章-树 数据结构导论第五章-图 数据结构 ...

  2. 【算法基础】数据结构导论第六章-查找.pptx

    上课的课件分享,适合教学用. 文末提供下载 已发布: 数据结构导论第一章-绪论 数据结构导论第二章-线性表 数据结构导论第三章-栈.队列和数组 数据结构导论第四章-树 数据结构导论第五章-图 本文参考 ...

  3. 【算法基础】数据结构导论第五章-图.pptx

    上课的课件分享,适合教学用. 文末提供下载 已发布: 数据结构导论第一章-绪论 数据结构导论第二章-线性表 数据结构导论第三章-栈.队列和数组 数据结构导论第四章-树 本文参考百度文库的多篇文章. 如 ...

  4. 【算法基础】数据结构导论第四章-树.pptx

    上课的课件分享,适合教学用. 文末提供下载 已发布: 数据结构导论第一章-绪论 数据结构导论第二章-线性表 数据结构导论第三章-栈.队列和数组 本文参考百度文库的多篇文章. 如需下载ppt文件,请在本 ...

  5. 【算法基础】数据结构导论第三章-栈、队列和数组.pptx

    上课的课件分享,适合教学用. 文末提供下载 已发布: 数据结构导论第一章-绪论 数据结构导论第二章-线性表 本文参考百度文库的多篇文章. 如需下载ppt文件,请回复"sjjg3" ...

  6. 【自考】数据结构导论-第6章查找代码

    目录 顺序表上的查找 二分查找算法:P165 [2008真题][1804真题][1301真题] 二叉排序树上的查找 假设线性表中结点是按键值递增的顺序排序,写一顺序查找算法,将岗哨设在高下标端,然后分 ...

  7. 数据结构c语言版第一章答案,《c语言数据结构》第一章概论自测题答案

    <<c语言数据结构>第一章概论自测题答案>由会员分享,可在线阅读,更多相关<<c语言数据结构>第一章概论自测题答案(4页珍藏版)>请在人人文库网上搜索. ...

  8. 【算法基础】数据结构导论第二章-线性表.pptx

    上课的课件分享,适合教学用. 文末提供下载 已发布:数据结构导论第一章-绪论 本文参考百度文库的多篇文章. 如需下载ppt文件,请回复"sjjg2" ppt有动画效果.

  9. 数据结构 第一章 概论

    第一章 概论 数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合 数据:描述客观事物的符号.是能被计算机识别.处理的符号的集合. 数据对象:数据元素集合.数据子集 数据元素:是组成数据 ...

最新文章

  1. DDoS CC 攻防
  2. fit,fit_generator的使用区别
  3. PLM Integration
  4. ES6-4/5 解构赋值、函数默认值、数组解构、对象解构
  5. 找准切入点,调试看源码,事半功倍
  6. 电脑任务栏跑到右边去了_电脑没有声音怎么解决 电脑没有声音解决方法【详解】...
  7. 【Verilog HDL学习之路】第一章 Verilog HDL 数字设计总论
  8. 网页中的按钮无法显示问题解决
  9. php的控制器,php-模块与控制器
  10. python树代码_浅析AST抽象语法树及Python代码实现
  11. idea--Project Structure
  12. 设计模式之笔记--建造者模式(Builder)
  13. java9什么时候公布_Java 9正式版有可能被推迟到9月21号发布
  14. 使用Rufus制作LINUX启动安装U盘(成功)
  15. Linux20180421五周第二次课(4月19日)
  16. Android App 架构设计
  17. 计算机维修兴趣小组,计算机兴趣小组章程
  18. 2021年全国程序员工资出炉想要年薪60万,难吗?网友,扎心了
  19. 到底有多少种病毒?科学家们分析了100多种SARS-CoV-2变种的功能
  20. 基于Keilv5新建STM32F030工程

热门文章

  1. SVN服务端以及客户端的安装包(含汉化包)
  2. 校园网络的规划与实施(思科)
  3. Android中关于空指针异常的解决办法
  4. SAP 零售 FMS 物料主数据(二)归档
  5. soap+wsimport的webservice接口客户端实现
  6. Android 获取 唯一GUID ,替换 IMEI (兼容 Android 10+获取IMEI问题)
  7. python异步爬虫之线程池
  8. Vue-一些常用的工具类
  9. 【数分书单】分析思维《一本小小的蓝色逻辑书》第三章小结
  10. Linux CentOS7 同步时间的两种方式(npt 或者 rdate)