《大话数据结构》学习笔记(三)
来源:互联网 发布:caffe windows github 编辑:程序博客网 时间:2024/05/21 09:38
1、线性表 有限序列 前驱 后继 空表 位序
2、线性表操作 重置为空表 位序得到元素 查找元素 线性表长度 插入和删除元素 其他操作可由基本操作组合而成
3、线性表存储 顺序存储 起始位置 最大容量 当前长度 数组长度 地址
4、LOC(ai) = LOC(a1) + (i - 1) * c 线性表顺序存储存取时间性能O(1) 随机存储结构
5、顺序存储 插入 删除 时间复杂度O(n)
6、复习c语言中的*与&,真忘了,都记反了 https://zhidao.baidu.com/question/394894243.html
7、线性表顺序存储 无逻辑关系存储开销 快速存取 但插入删除开销大 长度变化时 存储空间难确定 存储碎片
部分代码:
#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20typedef int ElemType;typedef struct{ ElemType data[MAXSIZE]; int length;}SqList;typedef int Status;Status GetElem(SqList L, int i, ElemType *e){ if (L.length==0 || i<1 || i>L.length) return ERROR; *e = L.data[i-1]; return OK;}//自定义int ListLength(SqList L){ return L.length;}//自定义,光想怎么把GetElem()用上了,写了个奇葩实现int LocateElem(SqList L, ElemType e){ int i; for(i=1; i<=L.length; i++) { ElemType *eTemp = NULL; if(GetElem(L, i, eTemp)) { if(e == *eTemp) return i; } else printf ("Error!\n"); } //abnomal return value return L.length+1;}//常规思路实现int LocateElem1(SqList L, ElemType e){ int i; for(i=1; i<=L.length; i++) { if(e == L.data[i]) return i; } //abnomal return value return L.length+1;}Status ListInsert(SqList *L, int i, ElemType e){ int k; if(L->length == MAXSIZE) return ERROR; if(i<1 || i>L->length+1) return ERROR; if(i <= L->length) { for(k=L->length-1; k>=i-1; k--) L->data[k+1] = L->data[k]; } L->data[i-1] = e; L->length++; return OK;}Status ListDelete(SqList *L, int i, ElemType *e){ int k; if(L->length == 0) return ERROR; if(i<1 || i>L->length) return ERROR; *e = L->data[i-1]; if(i<L->length) { for(k=i; k<L->length; k++) L->data[k-1] = L->data[k]; } L->length--; return OK;}void unionL(SqList *La, SqList Lb){ int La_len, Lb_len, i; ElemType e; La_len = ListLength(*La); Lb_len = ListLength(Lb); for(i=1; i<=Lb_len; i++) { GetElem(Lb, i, &e); if(!LocateElem(*La, e)) ListInsert(La, ++La_len, e); }}
阅读全文
0 0
- 大话数据结构学习笔记(三)
- 《大话数据结构》学习笔记(三)
- 大话数据结构学习笔记
- 大话数据结构学习笔记(二)
- 大话数据结构学习笔记(一)
- 大话数据结构学习笔记(二)
- 大话数据结构学习笔记(四)
- 大话数据结构学习笔记(五)
- 大话数据结构学习笔记(六)
- 《大话数据结构》学习笔记(一)
- 《大话数据结构》学习笔记(二)
- 《大话数据结构》第一章学习笔记
- 《大话数据结构》--学习笔记1
- 《大话数据结构》--学习笔记2
- 《大话数据结构》--学习笔记3
- 《大话数据结构》--学习笔记4
- 《大话数据结构》--学习笔记5
- 《大话数据结构》--学习笔记6
- SQL的 SELECT 字段 FROM 表 WHERE 某字段 Like 条件
- Delphi(Pascal)线程执行任务
- nyoj 460 项链(区间DP)
- 微信小程序踩坑笔记
- MySQL笔记三
- 《大话数据结构》学习笔记(三)
- 【ArcGIS/Java】利用ArcGIS的java API连接SDE库、sql操作
- 获取本地IP地址2
- 一次性批量插入数据库时,导致CPU使用率突然很高,无法成功执行插入
- HttpClient 实际小应用
- USB驱动之主机控制器驱动
- QT学习记录二 (windows窗口创建过程)
- MySQL笔记四
- 蓝牙电路