首页 > 学院 > 开发设计 > 正文

算法与数据结构总结1

2019-11-06 08:22:59
字体:
来源:转载
供稿:网友
算法与数据结构定义:   数据结构:计算机中表示的一种逻辑关系和行为特征的一组数据   算法:运行某一问题的具体步骤学习目的:通过学习会定义自己的抽象数据类型数据结构三个方面:   逻辑结构(数据模型) 存储结构(物理结构) 操作(行为)数据结构分类:   按逻辑结构分类--线性结构  树形结构  复杂结构)   按存储结构分类--顺序存储  链接存储 散列存储 索引存储   按行为结构分类--队列  栈算法设计的方法:贪心法(着色问题) 分治法(二分法)回溯法(迷宫)学习过程:首先学习常用数据结构中线性结构里面的线性表 串 队列 栈, 进而学习树形结构里面的树  二叉树 ,最后学习复杂结构 线性结构里不同的几种抽象数据类型(线性表 串 栈 队列 )线性表的抽象数据类型 ADT =(D ,R ,P)D表示数据  R表示数据之间的关系  p表示数据操作线性表(零个或多个同一类型的数据的有穷序列如数列 字母表),根据数据顺序存储和链表存储方式又可分为顺序表和单链表顺序表的定义(定义结构)代码如下:struct SeqList{int MAXNUM;//顺序表中最大元素的个数int n;//存放线性表中元素的个数n<=maxnumDataType *element;//element[0]...element[n-1]存放线性表中的元素}typedef struct Seqlist *PSeqlist;//为了 使用方便 定义一个seqlist类型的指针变量如果palist是一个pseqlist类型的指针变量palist->MAXNUME给出顺序表中最大的数据个数palist->n给出顺序表中实际元素的个数palist->element[0] palist->element[palist-1]给出了顺序表中各个元素创建空顺序表:PSeqList createNullList_seq(int m)//创建一个类型是PSeqList空的顺序表,空间由m决定{PSeqList palist = (PSeqList)malloc(sizeof(struct SeqList));//调用c中标准函数malloc()为顺序表分配一个struct Seqlist的空间if(palist->!null){palist->element = (DataType*)malloc(sizeof(DataType)*m);//按参数m的大小调用函数,得到一个由参数m指定大小的数组空间if(palist->element){palist->MAXNUM=m;//将最大值的置为0palist->n=0;//将n置为0 空表长度为0return palist;}else {free (palist);//调用函数free()将palist所指的空间释放}}esle{PRintf("存储分配失败");return NULL;}}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表