Borehole tool, procedures, and interpretation for
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
考试时间:第10周周日(5月10日) 九、十节 考试教室安排: 考试方式:闭卷笔试 考试成绩=卷面(80%)+平时作业(20%) 考试题型(参考): 1、判断对错、选择、填空 2、综合应用 3、算法设计
数据结构答疑安排: 大黑楼 A802或A718 周三(5月6日)下午1:30~5:00
第一章 绪言
作业1
单链表就地逆置
p
temp
L
3^ 1
2
5
4^
q
q
单链表就地逆置
p
L
1
temp
3^ 2
5
4^
q
q
单链表就地逆置pBiblioteka temp tempL
2
1
3^ 5
4^
q
q
单链表就地逆置
p
temp
L
5
2
1
3^ 4^
qq
单链表就地逆置
L
4
5
2
1
3 ^^
void ListReverse_L(LinkList &L)
{
LinkList p,q,u;
p=L->next;
if(p==NULL||p->next==NULL) //空链表或只有一个结点
return;
q=L->next->next; //q指向第二个结点
p->next=NULL;
while(q)
{
u=q->next;
q->next=L->next;
L->next=q;
– 顺序队列
– 链队列
循环队列(掌握) 基本操作(掌握)
队空、队满条件
– 入队
– 出队
应用(了解):迷宫,优先队列等
第四章 数组
线性结构 存储结构
顺序存储结构(掌握) :次序约定
(算法实现不要求)
压缩存储(掌握)
– 对称矩阵 – 对角矩阵 – 三角矩阵 – 稀疏矩阵
算法:求转置矩阵(了解)
三元组表 行逻辑链接的顺序表 带行指针向量的单链表 十字链表
while(q!=NULL)
{
pre=L;
p=L->next;
while(p!=NULL) //查找插入位置
{
if(q->data>p->data)
{
pre=p; p=p->next; }
else break;
}
temp=q->next; //插入
pre->next=q;
q->next=p;
插入
删除
查找
时间复杂度
应用------一元多项式相加(掌握)
第三章 栈和队列---操作受限的线性表
栈 特点(掌握) :FILO(LIFO) 存储结构(掌握) :顺序栈与链栈 基本操作(掌握) :入栈与出栈 应用(掌握) :回文、括号匹配、表达式求值
3
队列
特点(掌握) :FIFO(LILO)
存储结构(掌握) :
第五章 树
逻辑结构:
按分支关系定义的层次结构
定义(掌握): 深度、度、叶子等 满二叉树、完全二叉树
二叉树性质(掌握) :5
存储结构 树(掌握)
– 双亲表示法 – 孩子表示法(孩子链表与多重链表) – 孩子兄弟表示法(二叉链表)
二叉树(掌握)
– 顺序存储结构 – 二叉链表 – 三叉链表
树、森林与二叉树转换(掌握) 遍历
基本概念和术语(掌握) 数据结构,数据,数据元素,数据项 逻辑结构与存储结构
算法分析(掌握) 算法定义 算法特性: 算法评价:
–时间复杂度与空间复杂度(了解)
第二章 线性表
逻辑结构(掌握)
存储结构(掌握)
顺序存储结构
链式存储结构
–单链表
–双向链表
–循环链表
–双向循环链表
–静态链表(了解)
基本操作(掌握)
本章"了解"的排序方法不要求掌握算法
作业1.线性表 从键盘读入n个整数(升序),请编写算法实现: CreateList():建立带表头结点的单链表; PrintList():显示单链表(形如:H->10->20->30->40); InsertList():在有序单链表中插入元素x; ReverseList():单链表就地逆置; DelList():在有序单链表中删除所有值大于mink且小于maxk的元素。 选作:使用文本菜单完成功能选择及执行。思考题:你能将上述算法 改为双向循环链表吗?
第七章 查找
静态查找表 顺序查找(掌握) 折半查找(掌握) 分块查找(了解)
动态查找表(了解) 二叉排序树
比较、ASL
–定义
–构造方法
–生成、插入、删除与查找
–中序遍历二叉排序树可得到结点有序序列
哈希查找(掌握) 定义、基本思想 Hash函数构造方法 处理冲突方法 哈希表构造 哈希查找过程与ASL
q=u;
}
}
单链表就地排序
pre
p
temp
L
3^ 1
2
5
4^
q
q
单链表就地排序
pre
p
L
1
temp
3^ 2
5
4^
q
q
单链表就地排序
pre
p
temp
L
1
2
3^ 5
4^
q
q
单链表就地排序
pre
p
L
1
2
temp
3^ 5
4^
q
q
单链表就地排序
L
1
pre p
2
3^
temp
5^ 4^
q
q
单链表就地排序
– 按层次、先序、中序、后序 – 遍历递归(掌握)与非递归算法(了解) – 遍历算法应用(掌握)
»由先序序列建立二叉链表 »统计叶子结点 »求二叉树深度 »已知先序和中序序列,构造二叉树
应用 Huffman树(掌握)
– 定义,WPL – 构造方法 – 有n个叶子结点的Huffman树共有2n-1个结点 – 应用
»Huffman编码与译码 »最佳判定树
第六章 图
定义(掌握) :图、有向图、度、连通、完备图等
存储结构
邻接矩阵(掌握)
邻接表与逆邻接表(掌握)
十字链表(了解) 邻接多重表(了解)
构成 特点(与顶点度关系)
遍历:深度优先与广度优先(掌握遍历策略及算法)深度
优先生成树、广度度优先生成树
应用(掌握求解过程,不要求写算法 ) 最小生成树(Prim与Kruscal) 拓扑排序 最短路径(Dijkstra)
第八章 排序
掌握排序的 基本概念和性能分析方法,排序策略
插入排序 直接插入排序(掌握) 折半插入排序(掌握) 希尔排序(了解)
交换排序 冒泡排序(掌握) 快速排序(了解)
选择排序 简单选择排序(掌握) 堆排序(掌握,不考算法)
归并排序:2-路归并排序(了解) 基数排序:链式基数排序(了解)
排序方法思想 每趟排序结果 排序方法性能分析评价
pre
p
L
1
2
3
5^ 4^
q
单链表就地排序
L
1
2
3
4
5 ^^
LinkList SortList(LinkList L) //链表就地排序
{
LNode *p,*pre,*q,*temp;
p=L->next;
if(p==NULL) return L; //空表,不用排序,返回
q=p->next;
p->next=NULL;
数据结构答疑安排: 大黑楼 A802或A718 周三(5月6日)下午1:30~5:00
第一章 绪言
作业1
单链表就地逆置
p
temp
L
3^ 1
2
5
4^
q
q
单链表就地逆置
p
L
1
temp
3^ 2
5
4^
q
q
单链表就地逆置pBiblioteka temp tempL
2
1
3^ 5
4^
q
q
单链表就地逆置
p
temp
L
5
2
1
3^ 4^
单链表就地逆置
L
4
5
2
1
3 ^^
void ListReverse_L(LinkList &L)
{
LinkList p,q,u;
p=L->next;
if(p==NULL||p->next==NULL) //空链表或只有一个结点
return;
q=L->next->next; //q指向第二个结点
p->next=NULL;
while(q)
{
u=q->next;
q->next=L->next;
L->next=q;
– 顺序队列
– 链队列
循环队列(掌握) 基本操作(掌握)
队空、队满条件
– 入队
– 出队
应用(了解):迷宫,优先队列等
第四章 数组
线性结构 存储结构
顺序存储结构(掌握) :次序约定
(算法实现不要求)
压缩存储(掌握)
– 对称矩阵 – 对角矩阵 – 三角矩阵 – 稀疏矩阵
算法:求转置矩阵(了解)
三元组表 行逻辑链接的顺序表 带行指针向量的单链表 十字链表
while(q!=NULL)
{
pre=L;
p=L->next;
while(p!=NULL) //查找插入位置
{
if(q->data>p->data)
{
pre=p; p=p->next; }
else break;
}
temp=q->next; //插入
pre->next=q;
q->next=p;
插入
删除
查找
时间复杂度
应用------一元多项式相加(掌握)
第三章 栈和队列---操作受限的线性表
栈 特点(掌握) :FILO(LIFO) 存储结构(掌握) :顺序栈与链栈 基本操作(掌握) :入栈与出栈 应用(掌握) :回文、括号匹配、表达式求值
3
队列
特点(掌握) :FIFO(LILO)
存储结构(掌握) :
第五章 树
逻辑结构:
按分支关系定义的层次结构
定义(掌握): 深度、度、叶子等 满二叉树、完全二叉树
二叉树性质(掌握) :5
存储结构 树(掌握)
– 双亲表示法 – 孩子表示法(孩子链表与多重链表) – 孩子兄弟表示法(二叉链表)
二叉树(掌握)
– 顺序存储结构 – 二叉链表 – 三叉链表
树、森林与二叉树转换(掌握) 遍历
基本概念和术语(掌握) 数据结构,数据,数据元素,数据项 逻辑结构与存储结构
算法分析(掌握) 算法定义 算法特性: 算法评价:
–时间复杂度与空间复杂度(了解)
第二章 线性表
逻辑结构(掌握)
存储结构(掌握)
顺序存储结构
链式存储结构
–单链表
–双向链表
–循环链表
–双向循环链表
–静态链表(了解)
基本操作(掌握)
本章"了解"的排序方法不要求掌握算法
作业1.线性表 从键盘读入n个整数(升序),请编写算法实现: CreateList():建立带表头结点的单链表; PrintList():显示单链表(形如:H->10->20->30->40); InsertList():在有序单链表中插入元素x; ReverseList():单链表就地逆置; DelList():在有序单链表中删除所有值大于mink且小于maxk的元素。 选作:使用文本菜单完成功能选择及执行。思考题:你能将上述算法 改为双向循环链表吗?
第七章 查找
静态查找表 顺序查找(掌握) 折半查找(掌握) 分块查找(了解)
动态查找表(了解) 二叉排序树
比较、ASL
–定义
–构造方法
–生成、插入、删除与查找
–中序遍历二叉排序树可得到结点有序序列
哈希查找(掌握) 定义、基本思想 Hash函数构造方法 处理冲突方法 哈希表构造 哈希查找过程与ASL
q=u;
}
}
单链表就地排序
pre
p
temp
L
3^ 1
2
5
4^
q
q
单链表就地排序
pre
p
L
1
temp
3^ 2
5
4^
q
q
单链表就地排序
pre
p
temp
L
1
2
3^ 5
4^
q
q
单链表就地排序
pre
p
L
1
2
temp
3^ 5
4^
q
q
单链表就地排序
L
1
pre p
2
3^
temp
5^ 4^
q
q
单链表就地排序
– 按层次、先序、中序、后序 – 遍历递归(掌握)与非递归算法(了解) – 遍历算法应用(掌握)
»由先序序列建立二叉链表 »统计叶子结点 »求二叉树深度 »已知先序和中序序列,构造二叉树
应用 Huffman树(掌握)
– 定义,WPL – 构造方法 – 有n个叶子结点的Huffman树共有2n-1个结点 – 应用
»Huffman编码与译码 »最佳判定树
第六章 图
定义(掌握) :图、有向图、度、连通、完备图等
存储结构
邻接矩阵(掌握)
邻接表与逆邻接表(掌握)
十字链表(了解) 邻接多重表(了解)
构成 特点(与顶点度关系)
遍历:深度优先与广度优先(掌握遍历策略及算法)深度
优先生成树、广度度优先生成树
应用(掌握求解过程,不要求写算法 ) 最小生成树(Prim与Kruscal) 拓扑排序 最短路径(Dijkstra)
第八章 排序
掌握排序的 基本概念和性能分析方法,排序策略
插入排序 直接插入排序(掌握) 折半插入排序(掌握) 希尔排序(了解)
交换排序 冒泡排序(掌握) 快速排序(了解)
选择排序 简单选择排序(掌握) 堆排序(掌握,不考算法)
归并排序:2-路归并排序(了解) 基数排序:链式基数排序(了解)
排序方法思想 每趟排序结果 排序方法性能分析评价
pre
p
L
1
2
3
5^ 4^
q
单链表就地排序
L
1
2
3
4
5 ^^
LinkList SortList(LinkList L) //链表就地排序
{
LNode *p,*pre,*q,*temp;
p=L->next;
if(p==NULL) return L; //空表,不用排序,返回
q=p->next;
p->next=NULL;