资源预览内容
第1页 / 共186页
第2页 / 共186页
第3页 / 共186页
第4页 / 共186页
第5页 / 共186页
第6页 / 共186页
第7页 / 共186页
第8页 / 共186页
第9页 / 共186页
第10页 / 共186页
亲,该文档总共186页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
单击此处编辑母版标题样式单击此处编辑母版副标题样式*1软件开发技术基础n 数据结构及其应用技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案什么是数据指描述客观事物的信息符号的集合 ,这些信息符号能输入到计算机中 存储起来,并能被计算机处理。技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案整数数据整数集合的子集:-3 -2 -1 0 1 2 3 4 int j; -32768 至 +32767 unsigned int j; 0 至 +65535long int j; -232 至 + 232 - 1unsigned long int j;范围?技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案Struct student long num;char name9;char sex;float score; 学生花名册数据学号 姓名 性别 成绩 98031001 张三 男 88 98031002 李四 女 89.5 .技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案棋盘数据:围棋棋盘如何描述?技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案棋盘数据:井字棋盘OO* *OOOOOO*OOOO* * * *OO O OOChar chess9; 或 int chess9;技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案城市交通图数据OOOOOOOOO咸阳西安长安县临潼兴平礼泉渭南大荔技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案图像数据 像素存储 (行号,列号,颜色)技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案声音数据时刻值,幅度值技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案数据元素-是数据这个集合中的一个个体,是数据的基本单位。数据项-是具有独立含义,且不可再细分的最小标识单位。数据结构-指相互之间存在一种或多种特定关系的数据元素集合数据的逻辑结构-反映数据元素之间客观存在的逻辑关系。数据的存储结构-将数据的逻辑结构在计算机内存中存储的结构。数据的物理结构数据的运算-是定义在数据结构上的操作。例如求某个数据结构中的最大元素等。线性表、堆栈、队列、树、图名词术语技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案什么是算法? 算法-是解决问题方案的准确而完整的描述 算法的特性:有穷性、确定性、可行性、有输入、有输出 时间复杂度:依据算法编制成程序后,在计算机上运行所消耗时间 空间复杂度:依据算法编制成程序后,在计算机上运行所消耗空间用数量级来度量和分析时间复杂度和空间复杂度。#define n 1000000sum=sum+1; O(1)for(I=0;I数据元素类型说明技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案插入前:(a 1,a 2,a i-1,a i,a n) 插入后:(a 1,a 2,a i-1,x ,a i,a n)第1步: 判定表不满方可插入; 第2步: 判定插入位置i的合法性; 第3步: 将第n至第i个元素后移一个存储位置; 第4步: 将x存入到a i-1之后空间; 第5步: 线性表的长度加1。插入算法技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案void SeqList:ListInsert( int i, ElemType x ) if( ilength+1 | length=MAXSIZE )cout=i-1;j- ) dataj+1 = dataj; / 元素依次向后移动datai-1 = x; / 向第i个位置存入新元素 length+; / 表长度加1 技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案在等概率的条件下,插入函数的时间复杂度:N/2a1 a2 a3 a4 an-1 an 有N+1处可能插入,等概率值为1/(1+N) 插入算法评价技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案删除前:(a 1,a 2,a i-1,a i,a i+1,a n) 删除后:(a 1,a 2,a i-1,a i+1,a n)第1步:判定表不空方可删除; 第2步:判定删除位置i值的合法性; 第3步:将第i+1至第n个元素依次向前移动一个存储位置; 第4步:将线性表的长度减1。 删除算法技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案void SeqList:Delete( int i ) if(iL-length ) coutnext=NULL; /头结点的指针为空int ListSize(); /求单链表长度LNode* GetElemPointer(int pos); /返回表中指定序号结点的指针void InsertList(int i, ElemType x); /向单链表第i个位置插入元素xLNode* LinkList:DeleteList( int i); /从单链表中删除第i个结点LNode* Find( ElemType x ); /在单链表中查找数据值为x的结点 ;单链表类的完整定义如下:技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案指针操作假如p为指向某一结点的指针 则该结点的数据域用p-data表示该结点的指针域用p-next表示它们都是变量,可以被赋值,也可向其他变量赋值。 例如: 假定data为整型变量,则 p-data=5; p-next=NULL;将结点变为:技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案aiai-1ai-1aiai-1ai+1qqpp如果p为指向结点ai的指针,那么p-next就是指向 ai后继结点ai+1的指针;若q为另一指针变量p=q 指针p指向指针q所指的结点p=q-next 指针p指向指针q所指结点的后继指针操作技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案要确定链表长度需要走遍表中所有结点才能算出。 为了保持头指针不变,使用了指针p在链表中移动。求单链表的长度int LinkList:ListSize() LNode *p=head-next; /p指向第一个元素所在结点int len=0; while( p!=NULL ) /逐个检测p结点存在与否 len+;p=p-next; /指针后移return len;技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案LNode* LinkList:GetElemPointer(int pos) if(posnext;/p为首元结点指针int k=1;while( p!=NULL k+; if(k=pos /返回第pos个结点指针else return NULL; /该位置不存在 返回单链表中指定序号的结点的指针技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案Lnode* newnode=new LNode; newnode-data=x; newnode-next=previous-next; previous-next=newnode;技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案单链表类的插入算法从表头开始 寻找插入位置 判定插入位置有错否 申请新结点 修改链表指针,将新结点插入链表中技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案void LinkList:InsertList( int i, ElemType x) LNode *p=head;p=GetElemPointer(i-1); /p最终将指向第i-1个结点if(!p)coutdata = x;s-next=p-next;/定义结点s的指针域p-next=s;/修改结点p的指针域 技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案Ai-1AiXpsp-next=s;新结点链入表中示意图s-next=p-next;技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案previous-next=current-next; delete current;技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案单链表类的删除算法判定空表 寻找插入位置 确认插入有错否 修改链表指针 收回结点空间技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案LNode* LinkList:DeleteList( int i ) if(inext; k+; if(p=NULL) coutnext=p-next;/从链表中删除该结点 delete p;/释放结点p 技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案Ai-1Aiq-next=p-next; delete p;Ai+1qp删除Ai结点示意图XX技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案可以按照数据元素本身的值进行查找,也可以按照 数据元素的某个属性进行查找。这里仅给出按照 数据元素本身的值进行查找的算法。在单链表中查找数据值为x的结点LNode* LinkList:Find( ElemType x ) LNode *p=head-next; /p指向第一个元素所在结点while ( p!=NULL return p; 技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案循环链表headA1AnA2head空循环链表非空循环链表技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案前驱指针域prior后继指针域next数据域data双向链表结点示意图每个数据元素存储结构如下:head.ana2a1技术创新概念特点及案例继电保护基础知识加快转变发展方式课件家居门店业绩提升方案约瑟夫环问题可以解释为:将整数1至n围 成一个圆圈,假定从某个整数开始顺时针 从1数到m时,令该位置整数出列;然后再 从下一数开始,顺时针从1数到第m时再令 其出列,如此下去,直到圆圈中无整数为 止。请写出所有数字出列的顺序。 链表应用举例 演示【例2-2】2-2.cpp技术创新概念特点及案例
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号