建设集团网站价格,知识库wordpress插件,红色经典ppt模板免费下载,福鼎网站优化公司1:基本大纲 数据结构、算法线性表#xff1a;顺序表、链表、栈、队列树#xff1a;二叉树、遍历、创建查询方法、排序方式 2:数据结构#xff08;逻辑结构#xff0c;存储结构#xff0c;操作#xff08;数据的运算#xff09;#xff09; 2.1#xff1a;数据#xf…1:基本大纲 数据结构、算法线性表顺序表、链表、栈、队列树二叉树、遍历、创建查询方法、排序方式 2:数据结构逻辑结构存储结构操作数据的运算 2.1数据不是单一数值与集合类似 数据元素数据基本单位由若干数据项组成 数据项数据的最小单位 2.2节点数据元素 2.3;逻辑结构 线性关系一对一 线性结构 -- 线性表顺序表链表 栈队列 层次关系一对多 树形结构 -- 树 网状关系多对多 图状结构 -- 图 2.3:存储结构 2.3.1顺序存储结构数组链式存储链表 3链式存储结构 特点数据在内存中是不连续的通过指针进行连接 链表结构体
struct node_t
{int data;//数据域struct node_t *next;//指针域 指向自身结构体类型的指针
}struct node_t A{1,NULL}; struct node_t B{2,NULL}; struct node_t C{3,NULL}; A.next B;B.next C; 3.1索引存储结构 提高查找速度 索引表 数据文件 3.2散列存储 数据在存储的时候与关键码之间存在某种对应关系 存的时候按照对应关系存 取的时候按照对应关系取 4操作 增、删、改、查
二算法
2.1算法的特性
1有穷性执行步骤有限
2确定性
3可行性有限时间内完成
4输入和输出
2.2如何评价算法好坏
正确性保证可以正确实现功能
易读性容易被解读
健壮性容错处理
高效性可执行语句重复执行的次数来衡量算法是否高效时间复杂度
低存储性占用空间少
2.3时间复杂度 算法的可重复执行语句执行的次数 T(n) O(f(n)) T(n) //问题规模的时间函数 n //问题规模输入量的大小 O //时间数量级 f(n) //算法的可执行语句重复执行的次数 用问题规模n的某个函数f(n)来表达 例1 求123。。。n 方法1 sum 0; for(int i 1;in;i) n100 10000 sumi; 100次 10000 f(n) n T(n)O(n) 方法2 等差数列{an}的通项公式为ana1(n-1)d。前n项和公式为Snn*a1n(n-1)d/2或Snn(a1an)/2 。 int sum n(1n)/2; n100,1次 f(n)1 T(n)O(1) 例2 int i,j; for(i0;in;i) //n for(j0;jn;j) //n printf(“ok\n”); T(n) O(n^2); 例3 int i,j; for(i0;in;i) for(j0;ji;j) printf(“ok\n”); i 次数 0 1 1 2 2 3 n-1 n f(n) 123...n n(1n)/2 n/2 n^2/2 ---- n^2 3计算大O的方法 (1)根据问题规模n写出表达式 f(n) 只保留最高项其它项舍去如果最高项系数不为1除以最高项系数如果有常数项将其置为1 //当f(n)的表达式中只有常数项的时候有意义 f(n) 8 f(n)8 O(1) //f(n) 3n^5 2n^3 6*n^6 10 3.6空间复杂度 算法占用的空间大小。一般将算法的辅助空间作为衡量空间复杂度的标准。 算法占用的存储空间包括 1输入输出数据所占空间 2算法本身所占空间 3额外需要的辅助空间 顺序表总结 顺序表在内存中连续存储顺序表的长度是固定的#define N 5顺序表查找数据、修改数据比较方便的插入和删除麻烦