数据结构-基本概念和术语

标签: 数据的逻辑结构 数据的物理结构 ADT抽象数据类型 算法的基本概念
24人阅读 评论(0) 收藏 举报
分类:

》数据结构是一门专业技术基础课程,课程分析/研究计算机加工数据的特征、数据的逻辑结构、数据的存储结构、数据涉及的算法、以及不同特征数据应用情况。

            〉结构化程序=(算法)+(数据结构)

            〉面向对象的程序=(算法+数据结构)

数据:客观事物的符号表示;所有能够输入到计算机中并被计算机程序处理的符号集合。


数据元素: 数据的基本单位,计算机中通常作为一个整体来考虑。


数据项:一个数据元素可以有若干个数据项组成。


数据对象:性质相同的数据元素的集合。


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


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


四种基本结构:线性结构、树形结构、图形结构、集合


数据逻辑结构S=(D,R)

例:复数

   Complex=(C,R) 其中:C={c1,c2},R={r1} r1={<c1,c2>}


逻辑结构:数据元素之间的逻辑关系

物理结构:数据元素在计算机中的存储方法(表现和实现)


逻辑结构分为:集合、线性结构、树状结构、网状结构

物理结构分为:

    顺序结构:利用存储器中的物理关系来表示逻辑关系。

    链式结构:用在存储器中附加指针的方式来表示逻辑关系。


数据类型:数据值+操作      原子(基本)数据类型   结构数据类型


抽象数据类型(ADT):数据结构+定义在此结构上的一组操作(和其表示实现无关)

抽象数据类型的三元组表示(D,S,P

例:   抽象数据类型Circle

ADT Circle{

    Data:                              /*数据对象

double r;double x,y;     数据关系

    Operations:   基本操作*/

CreateCircle(double x,double y,double r);

double Area(){return 3.14*r*r;}

double Circumference(){return 2*3.14*r;}

}ADT Circle



C语言的ADT技术

-.h文件定义数据表示和操作原型

-.c文件实现操作

例:Circle

/* circle.h

typedef struct{double x,y,r;}Circle;

Circle CreateCircle(double X,double y,double r);

double Area(Circle c);

    double Circumference(Circle c);

*/

/* circle.c

    #include “circle.h”

    const float pi=3.14;

    Circle CreateCircle(double x,double y,double r){

Circle c;

c.x=x;c.y=y;c.r=r;

return c;

    }//Ciccle

    double Area(Circle c){return c.r*c.r*pi;}

    double Circumference(Circle c){return 2*c.r*pi;}

*/


预定义常量及类型

const int TRUE=1;

const int FALSE=0;

const int OK=1;

const int ERROR=0;

const int OVERFLOW=-2;


数据元素被约定为ElemType类型,用户需要根据具体情况自行定义该数据类型。

算法描述为函数形式:

函数类型 函数名(函数参数表)

{

语句序列;

}

方法命名   Pascal casing格式

-方法中每个词的第一个字母都是大写,其他字母都是小写。

-OpenFile

参数命名   camel casing格式

-类似方法的命名,但第一个字母不需要大写。

-myCount

变量命名   匈牙利表示法

-Integer  int


选择结构语句

-条件语句1   if(表达式)语句;

-条件语句2   if(表达式)语句;

else 语句;


开关语句

switch(表达式)

{

case 1:语句序列1;break;

case 2:语句序列2;break;

……

default:语句序列n+1;

}


循环结构语句

-for语句       for(表达式1;循环条件表达式;表达式2)语句;

-while语句     while(循环条件表达式)语句;

-do-while语句  do{语句序列;} while(循环条件表达式);


结束语句

-函数结束语句 return

return 表达式;   return;

-case或循环结束语句(结束整个循环)

break;

-continue(结束本次循环,直接进行下一次循环)

continue;

-异常结束语句

exit(异常代码);


输入输出语句(可以连续输入输出)

-输入语句  cin>>x>>y>>z;

-输出语句  cout<<x<<y<<z;


注释格式

-单行注释   //注释内容

-多行注释   

/*

 注释内容

*/

逻辑运算

- &&

- ||

- 


操作(逻辑结构)

-创建:创建一个空的数据结构。

-清除:删除数据结构中的所有数据元素。

-插入:在数据结构指定位置上插入一个新数据元素。

-删除:将数据结构中的某个数据元素删去。

-搜索:在数据结构中搜索满足特定条件的数据元素。

-更新:修改数据结构中的某个数据元素的值。

-访问:访问数据结构中的某个数据元素。

-遍历:按照某种次序访问数据结构中的每一数据元素,使每个数据元素恰好被访问一次。


程序:解决问题的方法步骤。特点是有始有终、每个步骤都能操作、所有步骤执行完对应问题就能得到解决。


算法的表示方法

-自然语言表示算法(文字冗长,容易出现歧义)

-伪代码

-流程图

算法的基本机构

-顺序结构

-选择结构

-循环结构  (当型循环while、直到型循环do-while;


算法的概念

-对特定问题求解步骤的一种描述,是指令的有序序列(有穷的、解决一个特定问题的运算序列)。


算法的特性 (评估标准:时间复杂度、空间复杂度)

-有穷性:执行有穷步后结束、每一步都在有穷时间内完成。

-确定性:每一条指令必须有确切的含义,对于相同的输入只能得到相同的输出。

-可行性:精确地运行、有限次运算实现

-输入:初始值,可以有零个或多个。

-输出:结果值,可以有一个或多个。


评估问题的规模:例如矩阵的阶数、图的结点个数。

时间复杂度:算法执行时间随规模增长而增长的趋势。

-T(n)=O(f(n))    O表示法,f(n)算法规模, T(n)称算法复杂度。

-估算办法:以算法中重复执行的次数作为算法时间复杂度的依据。

三种最常见时间复杂度:O(1)常量级  O(n) 线性级  O(n2)平方级

空间复杂度:算法执行过程中所需的最大空间。

-S(n)=O(f(n)

-估算办法:输入数据所占空间+程序所占空间+辅助变量所占空间

求解具体问题的具体算法时,对问题的不同实例,可能需要耗费不同的时间和空间,因此一般考虑   -平均时间复杂性     -最坏与最好情况时间复杂性)一般不考虑



查看评论

数据结构——基本概念和术语

第一章 绪论 1.1 什么是数据结构 数据结构研究的主要内容:     数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和操作等的学科。 1.2 ...
  • zscfa
  • zscfa
  • 2016-09-26 23:10:29
  • 608

数据结构的基本概念和术语

一、数据、数据元素、数据对象、数据结构的定义1、数据的定义定义一:数据是客观事物的符号表示。学号 姓名 语文 数学 C语言 6201001 张三 85 54 92 6201002 李四 92 84 6...
  • yzkzoo
  • yzkzoo
  • 2007-09-18 08:30:00
  • 365

Windows中的基本概念和术语

既然目前从事Windows上的应用程序开发,不了解Windows操作系统,还怎么好好地与它玩耍呢。所以,最近开始阅读《深入解析Windows操作系统》,把里面的关键点记录下来,留着以后自己回顾用,顺便...
  • ZLANBL085321
  • ZLANBL085321
  • 2016-02-23 00:14:53
  • 645

数据结构:图的定义和术语总结

一、图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。在图中的数据元素,我们称之为顶点(Vertex...
  • Simba888888
  • Simba888888
  • 2013-04-29 13:49:57
  • 3317

数据结构-图的基本概念

图是由顶点集V和边E组成。每一条边就是一个点对(v,w)。如果点对是有序的(每一个点的下一个点是固定的),那么图被称为有向图,否则就是无向图。有的时候边还有权或者值。 图的路径是指一个顶点序列,v1...
  • qq_34941745
  • qq_34941745
  • 2016-12-05 17:55:04
  • 859

第一章数据结构

程序 = 数据结构 + 算法 基本概念和术语 数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。不仅包括整型、实型等数值类型,还包括字符以及声音...
  • LF871955723
  • LF871955723
  • 2017-05-08 21:33:28
  • 128

网络编程的基本概念和术语

网络编程的基本概念和术语 1、IP地址         IP地址的作用是标识网络中的一台计算机,网络中的每台计算机都有一个IP地址。IP地址相当于一个手机号码,使用这个地址可以访问一台计算机。IP...
  • liuxing_lanyue
  • liuxing_lanyue
  • 2014-03-06 11:51:51
  • 657

计算机网络常见基本概念

计算机网络的分类按网络传输技术分类 1.广播网络 2.点到点网络按网络覆盖规模分类 1.LAN 2.MAN 3.WAN按拓扑结构分类 1.总线型网络 2.环型网络 3.星型网络信道带宽...
  • u011617097
  • u011617097
  • 2015-12-27 15:50:33
  • 169

数据结构word教程

  • 2010年03月14日 21:43
  • 1.36MB
  • 下载

Ice基本概念及术语

Ice作为一个强大、高效的分布式应用开发框架平台,正在得到越来越广泛的应用;其完善的功能与组件,跨平台、跨语言的特性,完善的冗余与负载均衡策略,也正在使其得到越来越多开发者的青睐。 最近也一直在使用...
  • messilin
  • messilin
  • 2017-06-13 08:32:46
  • 305
    个人资料
    等级:
    访问量: 5万+
    积分: 1487
    排名: 3万+