优化网站页面,做租赁哪个网站好,sogo提交网站入口,口碑好的做网站公司哪家好一、基础概念
1、数据结构#xff1a;相互之间存在一种或多种特定关系的数据元素的集合。#xff08;特定关系有逻辑关系与线性关系#xff09;
#xff08;1#xff09;逻辑结构 集合#xff0c;所有数据在同一个集合中#xff0c;关系平等#xff08;数组#xff…一、基础概念
1、数据结构相互之间存在一种或多种特定关系的数据元素的集合。特定关系有逻辑关系与线性关系
1逻辑结构 集合所有数据在同一个集合中关系平等数组 线性数据和数据之间是一对一的关系数组 树 一对多 图多对多
注数组属于线性表的一种形式
2物理结构(在内存当中的存储关系) 顺序存储数据存放在连续的存储单位中逻辑关系和物理关系一致 链式存储链表数据存放的存储单位是随机或任意的可以连续也可以不连续 一般认为不连续
2、数据、 数剧项、数据元素、数据对象
1数据可输入输出具备一些操作相当于C语言中的变量
2数据项给变量赋予一定的含义
3数据元素多个基础的数据项拼在一起C语言中用struct自定义表示
4数据对象数据元素的集合
eg struct Per //数据元素 { char name;//数据项 int age; char phone; } struct Per list[100]; //数据对象 3、数据的类型ADT abstruct datatype
1ADT是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。 原子类型intcharfloat 结构类型sturct union 2抽象数据类型 数学模型 操作。
4、数据结构角度解释程序程序 数据被加工对象 算法函数 1算法的定义是解决特定问题求解步骤的描述计算机中表现为指令的有限序
列每条指令表示一个或多个操作。
2算法的特征 输入输出特性输入时可选的输出时必须的调用函数后要发生一些变化 有穷性执行的步骤会自动结束不能是死循环并且每一步是在可以接受的时间
内完成 确定性同一个输入会得到唯一的输出 可行性每一个步骤都是可以实现的用编程语言实现。 3算法的设计 正确性语法正确 合法的输入能得到合理的结果 对非法的输入给出满足要求的规格说明 对精心选择甚至刁难的测试都能正常运行结果正确加必要的判 断 可读性便于交流阅读理解适当注释编写项目文档 健壮性输入非法数据能进行相应的处理而不是产生异常 高效性存储低效率高 时间与空间两个方面
5、算法时间复杂度
1是执行这个算法所花时间的度量egO(n) O(1)
2推时间复杂度 用常数1 取代运行时间中的所有加法常数 在修改后的运行函数中只保留最高阶项 如果最高阶存在且不是1则取除这个项相乘的常数。
3时间复杂度排序 O(1)O(logn)O(N)O(nlogn)O(n^2)O(n^3)O(2^n)O(n!)O(n^n)
二、线性表
1、定义有零个或多个数据元素的有限序列
2、元素之间是有顺序的如果存在多个元素第一个元素无前驱最有一个没有后
继其他的元素只有一个前驱和一个后继
3、当线性表元素的个数nn0定义为线性表的长度当n0时为空表。在非空的
表中每个元素都有一个确定的位置如果a1是第一个元素那么an就是第n个元素。
4、线性表中的顺序表
表头结构数组当前状态后期方便应用管理 typedef struct list { DATATYPE *head;//指针 int tlen;//总长度 int clen;//当前长度数组元素个数未使用空间时为0 }SeqList//顺序表; 5、sudo以管理员身份运行命令
6、memcpy函数需要包含头文件#incudestring.h 更通用的一个函数整个内存空间发到需要的地方 函数形式void *memcpy(void *restrict_dest, void *restrict_src, unsigned n);