注意:此页面搜索的是所有试题
安阳师范学院-计算机应用技术-数据结构
已知一组待排记录的关键字序列为(16,12,18,60,15,36,14,18,25,85),用堆排序方法建小根堆,请给出初始建堆后的序列。
下面程序实现插入排序算法。 typedef struct{ int key; Info otherinfo; }SeqList; void InsertSort(SeqList R[],int n) {/* 待排序列保存在R[1..n]中*/ SeqList x; int i,j,k,lo,hi,mi; for (i=2;i<=n;i++) { (1) ; lo=1; hi=i-l; while (lo<=hi) { mi=(lo+hi)/2; if ( (2) ) break; if (R[mi].key>x.key) hi=mi-l; else lo=mi+l; } if (mi=lo) k=i - mi; else k=i - mi-1; for (j=0;j<k;j++) (3) ; R[i-j]=x; } } 在空白处填写适当的内容,使该程序功能完整。
不稳定的排序算法有选择排序、 、希尔排序、堆排序,稳定的排序算法有冒泡排序、 、归并排序和基数排序是稳定的排序算法。
已知一组待排记录的关键字序列为(16,12,18,60,15,36,14,18,25,85),用堆排序方法建小根堆,请给出初始建堆后的序列12,15,14, ,16,36,18,60,25,85 。
不定长文件指的是文件的____________大小不固定。
ISAM文件系统中采用多级索引的目的是___________。
如果要为文件中的每个记录建立一个索引项,则这样建立的索引表称为___________。
若需高效地查询多关键字文件,可以采用的文件组织方式为___________。
假设线性表采用顺序存储结构,其类型定义如下:#define ListSize 100typedef struct {int data[ListSize];int length;} SeqList, *Table;编写算法,将顺序表L中所有值为奇数的元素调整到表的前端。
二叉排序树的类型定义如下:typedef struct BSTNode {∥ 二叉排序树的结点结构int data; ∥数据域struct BSTNode *lchild, *rchild; ∥左、右孩子指针}BSTNode,*BSTree;设计递归算法,统计一棵二叉排序树T中值小于a的结点个数。
已知二叉树采用二叉链表存储,其结点结构定义如下: typedef struct Node{ ElmType data; struct Node *lchild,*rchild; }*BiTree; 请编写递归函数SumNodes(BiTree T),返回二叉树T的结点总数。
已知二叉树的定义如下:typedef struct node{int data;struct node *lchild, *rchild;}*Bitptr;编写递归算法求二叉树的高度。函数原型为:int f34(Bitptr t);
假设用带头结点的单循环链表表示线性表,单链表的类型定义如下:typedef struct node {int data;struct node*next;}LinkNode,*LinkList;编写程序,求头指针为head的单循环链表中data域值为正整数的结点个数占结点总数的比例,若为空表输出0,并给出所写算法的时间复杂度。函数原型为:float f34(LinkList head):
下面程序实现插入排序算法。 typedef struct{ int key; Info otherinfo; }SeqList; void InsertSort(SeqList R[],int n) {/* 待排序列保存在R[1..n]中*/ SeqList x; int i,j,k,lo,hi,mi; for (i=2;i<=n;i++) { (1) ; lo=1; hi=i-l; while (lo<=hi) { mi=(lo+hi)/2; if ( (2) ) break; if (R[mi].key>x.key) hi=mi-l; else lo=mi+l; } if (mi=lo) k=i - mi; else k=i - mi-1; for (j=0;j<k;j++) (3) ; R[i-j]=x; } } 在空白处填写适当的内容,使该程序功能完整。
不稳定的排序算法有选择排序、 、希尔排序、堆排序,稳定的排序算法有冒泡排序、 、归并排序和基数排序是稳定的排序算法。
已知一组待排记录的关键字序列为(16,12,18,60,15,36,14,18,25,85),用堆排序方法建小根堆,请给出初始建堆后的序列12,15,14, ,16,36,18,60,25,85 。
不定长文件指的是文件的____________大小不固定。
ISAM文件系统中采用多级索引的目的是___________。
如果要为文件中的每个记录建立一个索引项,则这样建立的索引表称为___________。
若需高效地查询多关键字文件,可以采用的文件组织方式为___________。
假设线性表采用顺序存储结构,其类型定义如下:#define ListSize 100typedef struct {int data[ListSize];int length;} SeqList, *Table;编写算法,将顺序表L中所有值为奇数的元素调整到表的前端。
二叉排序树的类型定义如下:typedef struct BSTNode {∥ 二叉排序树的结点结构int data; ∥数据域struct BSTNode *lchild, *rchild; ∥左、右孩子指针}BSTNode,*BSTree;设计递归算法,统计一棵二叉排序树T中值小于a的结点个数。
已知二叉树采用二叉链表存储,其结点结构定义如下: typedef struct Node{ ElmType data; struct Node *lchild,*rchild; }*BiTree; 请编写递归函数SumNodes(BiTree T),返回二叉树T的结点总数。
已知二叉树的定义如下:typedef struct node{int data;struct node *lchild, *rchild;}*Bitptr;编写递归算法求二叉树的高度。函数原型为:int f34(Bitptr t);
假设用带头结点的单循环链表表示线性表,单链表的类型定义如下:typedef struct node {int data;struct node*next;}LinkNode,*LinkList;编写程序,求头指针为head的单循环链表中data域值为正整数的结点个数占结点总数的比例,若为空表输出0,并给出所写算法的时间复杂度。函数原型为:float f34(LinkList head):