欢迎来到天天文库
浏览记录
ID:57061748
大小:276.00 KB
页数:15页
时间:2020-07-30
《《数据结构(清华版)》1第一章 绪论课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构与算法课程内容:计算机软件的基础知识———数据结构与算法课时安排:数据结构——48学时上机——16学时教材:数据结构严蔚敏清华参考书:数据结构刘自强武汉理工大第一章绪言1.1什么是数据结构程序=数据结构+算法例1书目自动检索系统登录号:书名:作者名:分类号:出版单位:出版时间:价格:书目卡片书目文件按书名按作者名按分类号索引表线性表例2人机对奕问题树……..……..…...…...…...…...多叉路口交通灯管理问题CEDABABACADBABCBDDADBDCEAEBECED图数据结构定义:是一门研究非数值计算的
2、程序设计问题中计算机的操作对象以及它们之间的关系和操作等等的学科1.2基本概念和术语数据(data)—所有能输入到计算机中去的描述客观事物的符号数据元素(dataelement)—数据的基本单位,也称节点(node)或记录(record)数据项(dataitem)—有独立含义的数据最小单位,也称域(field)数据结构(datastructure)—数据元素和数据元素关系的集合根据数据元素间关系的基本特性,有四种基本数据结构(集合)——数据元素间除“同属于一个集合”外,无其它关系线性结构——一个对一个,如线性表、栈、队列树形
3、结构——一个对多个,如树图状结构——多个对多个,如图数据的逻辑结构—只抽象反映数据元素的逻辑关系数据的存储(物理)结构—数据的逻辑结构在计算机存储器中的实现数据的逻辑结构与存储结构密切相关算法设计逻辑结构算法实现存储结构存储结构分为:顺序存储结构——借助元素在存储器中的相对位置来表示数据元素间的逻辑关系链式存储结构——借助指示元素存储地址的指针表示数据元素间的逻辑关系元素n……..元素i……..元素2元素1LoLo+mLo+(i-1)*mLo+(n-1)*m存储地址存储内容Loc(元素i)=Lo+(i-1)*m顺序存储153
4、6元素21400元素11346元素3∧元素41345h存储地址存储内容指针1345元素114001346元素4∧…….……..…….1400元素21536…….……..…….1536元素31346链式存储h数据的逻辑结构数据的存储结构数据的运算:检索、排序、插入、删除、修改等线性结构非线性结构顺序存储链式存储线性表栈队树形结构图形结构数据结构的三个方面:数据类型—高级语言中指数据的取值范围及其上可进行的操作的总称例C语言中,提供int,char,float,double等基本数据类型,数组、结构体、共用体、枚举等构造数据类型
5、,还有指针、空(void)类型等。用户也可用typedef自己定义数据类型typedefstruct{intnum;charname[20];floatscore;}STUDENT;STUDENTstu1,stu2,*p;1.3算法的描述和算法分析简介算法(algorithm)—解决某一特定问题的具体步骤的描述,是指令的有限序列算法特性—算法的描述—采用C语言算法的评价—衡量算法优劣的标准正确性(correctness)可读性(readability)健壮性(robustness)效率与低存储量算法效率——用依据该算法编制的
6、程序在计算机上执行所消耗的时间来度量1.事后统计——利用计算机内记时功能,不同算法的程序可以用一组或多组相同的统计数据区分缺点:必须先运行依据算法编制的程序所得时间统计量依赖于硬件、软件等环境因素,掩盖算法本身的优劣2.事前分析估计——一个高级语言程序在计算机上运行所消耗的时间取决于:依据的算法选用何种策略问题的规模程序语言编译程序产生机器代码质量机器执行指令速度同一个算法用不同的语言、不同的编译程序、在不同的计算机上运行,效率均不同,———所以使用绝对时间单位衡量算法效率不合适时间复杂度:基本操作重复执行的次
7、数的阶数T(n)=o(f(n))空间复杂度:s(n)=o(f(n))例1:NXN矩阵相乘for(i=1;i<=n;i++)for(j=1;j<=n;j++){c[i][j]=0;for(k=1;k<=n;k++)c[i][j]=c[i][j]+a[i][k]*b[k][j];}
此文档下载收益归作者所有