<4D F736F F D20D6A3D6DDB4F3D1A7CAFDBEDDBDE1B9B9B1CABCC72E646F63>

Size: px
Start display at page:

Download "<4D F736F F D20D6A3D6DDB4F3D1A7CAFDBEDDBDE1B9B9B1CABCC72E646F63>"

Transcription

1 郑州大学 硕士研究生入学考试 计算机应用与技术专业基础课 数据结构 课程辅导笔记 (2005 年版 )

2 1. 设 A=(a 1 a n ), 问利用顺序存储结构 : 1 在等概率的前提下, 插入一个元素平均移动多少个元素? n( n 1) n ( n 1) 1 0 解 : = 2 n = n 1 n 1 2 n i 2 若元素插入在 a i 与 a i 1 (0 i n-1) 的概率为, 则平均插入一个元素所需 n( n 1) 2 移动的元素个数为多少? n n 1 1 n ( n 1) 1 n( n 1) / 2 n( n 1) / 2 n( n 1) / 2 解 : n 1 2 ( n i) 2n 1 n( n 1) / 2 3 i 注 :1 2 3 n n( n 1)(2n 1) / 6 2. A,B 为两个带头结点的单链表, 且递增有序, 试编写算法将 A,B 归并为 C 链表, 要求利 用原来的结点空间存放 C ( 见课本 P 31 ) 解 : void MergeList_L(linklist &La, linklist &Lb, linklist &Lc) { Pa=La->next; Pb=Lb->next; Lc=Pc=La; while(pa&&pb) if (Pa->data<=Pb->data) { Pc->next=Pa; Pc=Pa; Pa=Pa->next; else {Pc->next=Pb; Pc=Pb; Pb=Pb->next; Pc->nex = Pa? Pa : Pb; free(lb); 3. 已知以 ha,hb 为头指针的单链表, 编写算法判断 A 是否在 B 内, 是则返回 0, 否则返回 1 解 :int inclusion (linklist ha, linklist hb) { Pa=ha->next; Pb=hb->next; if (!Pa) return 0; while(pb!=null&&pa->data>=pb->data) if (Pa->data= =Pb->data) return (inclusion(pa->next, Pb->next)); Else Pb=Pb->next; return 1; 第 2

3 4.(2005 考试题 ) 已知顺序表中有 m 个记录, 表中记录无序, 试为它建立一个按关键字排序的索引, 并在索引中存放顺序表中的序号 解 : 定义结构 :Typedef struct { keytype key; // 定义关键字 int sn; // 定义序号 indextype; void indexing (indextype idx[m],datatype data[m]) { for (i=1; i<=m; i++) { j=i-1; while (j>0&&idx[j].key>data[i].key) { idx[j+1]=idx[j]; j--; j++; idx[j].key=data[i].key; idx[j].sn=i; 5. 试设计一个算法实现单链表 h 就地逆置 h typedef struct Lnode{ ElemType data; struct Lnode *next; Lnode; Lnode *reverselist (Lnode *h) { Lnode *p, *q =Null; while (h) { p=h->next; h->next=q; q=h; h=p; return q ; 6. 试编写算法将单循环链表 La 改为双循环链表 typedef struct Lnode { Lnode *pre; Lnode *next; Elemtype data; LinkList; void SingleToDoubleList(LinkList La) { q = La->next; p=la; 第 3

4 while(p!=la) { q->pre=p; q=q->next; p=p->next; p->pre=q; 7. 试用两个堆栈 s1,s2 模拟队列的出队, 入队操作 void in(stack s1,stack s2, elemtype e) { void out(stack s1,stack s2, elemtype e){ while (s 2.top!=0){ while (s 1.top!=0){ a=pop(s 2 ); a=pop(s 1 ); push(s 1,a); push(s 2,a); push(s 1,e); a=pop(s 2 ); return a; 8. 1 m 数组 : 底栈 s1 栈 s2 底 typedef struct { int bottom; int top; int maxsize; s1,s2; 初始化 s1.bottom=1; s2.bottom=m; s1.top=1; s2.top=m; s1.maxsize=m; s2.maxsize=m; 9. 试编写算法实现十进制到八进制的转换 解 :void conversion() { initstack(s); scanf( %d,n); while (N) { push(s,n%8); N=N/8; while (!StackEmpty(s)) { Pop(s,e); printf( %d,e); 第 4

5 10. 试编写算法实现数组 A[1 n] 中的元素右移 K 位, 仅用一个大小的附加空间, 并保证算法的时间复杂度位 O(n) 解 :void move (elemtype a[n], int k) { elemtype t; int i,j; for (i=1;i<=k; i++) { t=a[n]; for (j=n-1;j>=1;j--) a[j+1]=a[j]; a[1]=t; 11. 循环队列大小为 6,rear=0, front=3. 当删除一个元素时, 在加入两个元素后,rear=( ), front=( ), 此时的队列长度为 ( ) 答案 :2 4 (2-4+6)%6=4 12. 用高级语言编写串匹配算法, 并估计算法的效率 解 :typedef unsigned char Sstring[maxstrlen+1] // 定长顺序存储表示 int index (Sstring S, Sstring T, int pos) { //S 为主串,T 为子串 i=pos; j=1; while (i<=s[0]&&j<=t[0]){ //S[0] 为 S 的串长,T[0] 为 T 的串长 if(s[i]= =T[j]) { i++; j++; else { j=i-j+2; j=1; if(j>t[0]) return (i-t[0]); else return 0; O(S[0]*T[0]) 13. 设 S 为一个长度为 n 的字符串, 其中的字符各不相同, 则 S 中互异的非平凡子串的个数为 (2+3+ +n) 14. 设 S= (XYZ)+*,T= (X+Z)*Y, 利用联结号, 求子串 (substr(s,i,j)) 以及 置换 (replace(s1,i,j,s2)), 将 S 转换为 T 解 :S1=substr(S,1,5) S2=substr(S,6,1) S3=replace(S1,3,1,S2) S4=substr(S,7,1) S5=substr(S,3,1) T=S3 S4 S5 第 5

6 15. 设目标模式为 t= abcaabbabcabaacbacba, 模式 p= abcabaa 计算模式 p 的 nextval 的函 数值 解 : a b c a b a a next[j] nextval[j] 设数组 B[1 10, -2 6, 2 8] 以行优先顺序存储, 首地址是 100, 每个元素占 3 个单元, 求 B[5, 0, 7] 的地址 解 :100+(4*9*7+2*7+5)*3 17. 设整型数组 b[n][m], 已知 b 中的数组元素在每一维方向上都从小到大次序排列且整型变量 X 的值在 b 中出现 试设计算法找出满足 b[i][j]=x 的位置 (i, j) 的值, 要求比较次数不多于 m+1 次 ( 不能使用折半查找 ) 解 :int Search(Array b[n][m]) { i=0; j=m-1; while (b[i][j]!= X &&i<=n-1 && j>=0) if (b[i][j]<x) i++; else j--; 18 特殊矩阵按行存储到数组, 矩阵元素在数组的下标位置 k 转换公式如下 : (0 i,j n-1) 对称矩阵 (nⅩn): ( i 1) * j / 2 j, i j k= ( j 1) * j / 2 i, i j. 上三角 :k=n+(n-1) + +(n-i)+(j-i+1) 三对角阵 : 0, i>j; k=2+3*(i-1)+l, 其中 L= 1, i=j; 2, i<j. 双对角阵 : 0, i=j; 1n 为偶数时 :k=2*i +L, 其中 L= 1, i+j=n-1; 上半部 1, i=j; 0, i+j=n-1; 下半部 2n 为奇数时 : 0, i=j; 上半部 k=2*i+ 1, i+j=n-1.(i<j) 0, i+j=n-1.(i>j) 下半部 k==2*i-1+ 1, i=j; 准对角阵 : i+j-1, i 为奇数 ; 第 6

7 K= i+j, i 为偶数. 19. 表头 表尾 长度 深度 ((a),a) (a) (a) 2 2 ((a)) (a) ( ) 1 2 ((a,b),c,d) (a,b) (c,d) 3 2 (a,b,c,d) a (b,c,d) 4 1 (((a))) ((a)) ( ) 1 3 A= (a, (a, (a, )) ) ) a A 表结点 : 原字结点 : Tag=1 表头表尾 例 :((a,b),c,d) Tag=0 值 c 0 d 0 a 1 0 b 21. 已知 head(a)=tail(a), 则 A 为 (( )) 22 求广义表的长度, 可以使用 tail(),head() 函数 解 :1 递归算法 int length (Glist p) { if (p==null) return 0; else return (length(tail(p))+1); 2 非递归算法 int length(gnode *p) { 第 7

8 int n=0; if(p!=null && p->tag==1) while(p!=null) { p=p->link; n++; return n; 23. 求广义表 Ls=(d 1, d 2,, d n ) 的深度解 : 1, Ls 为空 ; depth(ls)= 0, Ls 为原子 ; 1+max{d i, 其它 (1 i n) gnode 的结构 :: tag data/sublist link int depth(gnode *p){ int h, maxdh; gnode *q; if (p->tag = = 0 ) return 0; else if (p->tag = =1 && p->sublist = = Null) return 1; else { maxdh=0; while (p!=null){ q=p->sublist; h=depth(q); if(h>maxdh) maxdh=h; p=p->link; return (maxdh+1); 24. 编写算法计算广义表的原子结点个数解 :int counter(gnode *p) { int m, n; if(p= =Null) return 0; else { if(p->tag= =0) m=1; else m=counter (p->sublist); if(p->link!=null) n=counter(p->link); else n=0; 第 8

9 return (m+n); 25. 举例说明恰有一个顶点入度为 0, 其它入度为 1 的有向图不是一棵有向树. 解 : 26. 若 N 个顶点,K 条边的无向图是一个森林 (N>K), 该森林必有多少棵树? 解 : 设该森林有 m 棵树, 每棵树结点数为 V i,1 i m. ( 注 : 树的结点数 = 边数 +1) V 1 + V V m = N (V 1-1)+ (V 2-1)+ + (V m 1 ) = K m i1 V m K i m N K 27. 已知一棵树的先根和后根遍历分别是 SACEFBDGHIJK 和 CFEABHGIKJDS. 试画出这棵树 ( 注 : 由树的先根和后根遍历可以确定一棵树 ) S A B D C E G I J F H K 28. 深度为 k ( 根的层次为 1) 的完全二叉树, 至少有 个结点, 至多有 个结点 k 和结点数 n 的关系是 答案 :2 k 1 k 2 1 k=log 2 n 高为 h 的二叉树只有度为 0 和 2 的结点, 则此类二叉树的结点数至少有 个结点, 至多有 个结点 h 答案 :2(h-1) 一棵 124 个叶结点的完全二叉树最少有 个结点, 最多有 个结点 答案 : 第 9

10 31. 线索树的遍历需要栈 ( 没有右子树的二叉树可不是用栈 ) 答案 : 后序 32. 前序和中序遍历结果一样的树是 : ; 前序和后序遍历结果一样的树是 : 答案 : 只有根结点的树或只有右子树的二叉树只有根结点的二叉树 33. 前序和后序遍历 ( 能 / 不能 ) 唯一确定一棵二叉树 答案 : 不能 34. ( 前序 / 中序 / 后序 ) 遍历二叉树可使二叉树的结点序号按从小到大排列 答案 : 中序 35 含有 n 个结点互不相似的二叉树有 棵,n 个结点有不同形态树的数目 1 1 答案 : C n n1 2 n C2( n1) n 1 n 36. 遍历二叉树并填空 A B C D F E G K E H J 先序遍历 : B F I C E H G 中序遍历 : D K F I A E J C 后序遍历 : K F B H J G A 答案 :A DKJ BHG DIEC 37. 试编写算法实现按层次遍历二叉树 1 用队列 typedef struct node { elemtype data; node L, r; ; travers (btree b) { InitQueue(Q); 第 10

11 p=b; EnQueue(Q,p); While(!QueueEmpty(Q)) { DeQueue(Q,q); printf( %d,q->data); if(q->l) EnQueue(Q,q->L); if(q->r) EnQueue(Q,q->r); 2 用数组模拟队列 #define maxlen 100 typedef struct btree{ elemtype data; struct btree left, right; btree; struct node { btree rec[maxlen]; int r, f; q; void travers( btree b) { q.r=q.f=0; // 队列为空 if(b!=null) printf( %d,b->data); q.vec[q.r]=b; // 结点进队 q.r=q.r+1; while(q.f<q.r) { b=q.vec[q.f]; q.f=q.f+1; if(b->left!=null) { // 输出左孩子, 并入对 printf( %d,b->left->data); q.vec[q.r]=b->left; q.r=q.r+1; if(b->right!=null){ // 输出右孩子, 并入对 printf( %d,b->right->data); q.vec[q.r]=b->right; q.r=q.r+1; 38. 已知二叉树的先序 中序分别存放于一维数组中, 编写建立二叉树的算法 解 :btree bintree(int i, int j, int u, int v, int pre[], int ind[] ) { //i,j 和 u,v 分别是在先序和中序遍历的起始点和终点 int k, L; 第 11

12 btree head, s; head=null; if(j i) { head=(btree )malloc(sizeof(btree)); head->data=pre[i]; k=u; while(ind[k]!=pre[i]) k++; L=i+k-u; if(k= =u) // 无左子树 head->left=null; else { s=bintree(i+1,l,u,k-1); head->left=s; if(k= =v) // 无右子树 head->right=null; else { s=bintree(l+1,j,k+1,v) head->right=s; return head; 39. 一个深度为 h 的满二叉树有如下性质 : 第 h 层上的结点都是叶子结点, 其余结点有 m 棵非空子树 问 : 1 第 k 层最多有多少结点?(k h) 2 整棵树有多少结点? 3 按层从上至下, 从左至右编号 ( 从 1 开始 ) 编号为 I 的结点的第 j 个孩子 ( 若存在 ) 编号是多少? 解 :m k 1 1+m 2 h1 m m (i-1)*m+2+j-1( 其父结点编号为 i m 2 m ) 图示 ( 圈内为结点的编号 ): m+1 m+2 m+3 2m+1 2m+2 3m+1 m 2 +2 m 2 +m 已知一棵度为 m 的树中有 N i 个度为 i 的结点,1 i m, 求该树中共有多少个叶子结点? 解 : 由于总结点数 = 总边数 +1, 有 : N 0 N N m 1 N 1 + 2*N 2 +m*n m 第 12

13 N m 0 1 ( i 1) * N i i2 41. 中序线索化下列二叉树 : A NIL B D C X E NIL Y 42. 试编写前序遍历二叉树非递归算法 解 :void preorder(bitree *t) { int i=0; BiTree *p,*s[m]; p=t; do { while (p){ printf( %d,p->data); if(p->rchild) s[i++]=p->rchild; p=p->lchild; if (i>0) p=s[- -i]; while (p i>0) 43. 试编写中序遍历二叉树的非递归算法 解 : void inorder(bitree *t) { int i=0; BiTree *p,*s[m]; p=t; do { while (p){ s[i++]=p; p=p->lchild; if(i>0) { 第 13

14 p=s[- -i]; printf( %d,p->data); p= p->rchild; while(p i>0) h 44. 已知深度为 h 的二叉树存放在数组 BT[1:2 1] 中, 试写一算法求出二叉树中的叶子结点 的个数 解 :( 算法思想如下 ) count=0; for(i=1; i<=2 h 1; i++) { if (BT[i]!=0) { if (i*2>2 h 1) count++; else if(bt[i*2+1]= =0&&BT[i*2]= =0)count++; return count; 45. 填空 : 已知具有 n 个结点的完全二叉树已经顺序存储在 A[1 n] 中, 下面的算法是将 A 中的顺序结构转化为二叉链表 : elemtype A[n]; struct nodetype{ datatype data; nodetype *l, *r; ; btree (datatype A[n], struct nodetype *p) { ; createtree(p, j); createtree (struct nodetype *t, int i) { malloc(sizeof(nodetype)); t->data=a[i]; if (i*2 n) createtree(, ) else t->l=null; if (i*2+1 n) createtree(, ) else t->r=null; 答案 :j=1 t=(struct *) t->l 2*i t->r 2*i 编写算法求指定结点在二叉树中的层数. 解 :void level(btree *b,btree *p, int h,int lh) { //b 为二叉树,p 为指定结点,h 为结点层数,lh 为当前层 第 14

15 h=-1; if (b= =Null) h=0; else if (p= =b) h=lh; else { level(b->left, p, h, lh+1); if (h= =-1) level (b->right, p, h, lh+1); 47. 试编写算法将二叉树的左右孩子对调. 解 :btree *swap (btree *b) { btree *t1, *t2, *t; if (b= =Null) t=null; else { t=(btree *)malloc(sizeof(btree)); t->data=b->data; t1=swap(b->left); t2=swap(b->right); t->left=t2; t->right=t1; return t; 48. 总结 : 求二叉树 b 的总结点 : 0, b 不为空 ; f(b)= 1, 若 b->left=null 且 b->right=null; f(b->left)+f(b->right)+1, 其它. 求二叉树 b 的叶子数 : 0, b=null; f(b)= 1, 若 b->left=null 且 b->right=null; f(b->left)+f(b->right), 其它. 求二叉树 b 的有单孩子的结点数 : 0, b=null; f(b)= 1, 若 b->left=null 且 b->right=null; 或 b->left Null 且 b->right Null; f(b->left)+f(b->right), 其它. 求二叉树 b 的有双孩子的结点数 : 0, b=null; f(b)= 1, 若 b-> leftnull 且 b->right Null; f(b->left)+f(b->right), 其它. 第 15

16 49. 将森林转化为二叉树 : 试编写算法, 在中序线索树中找某一结点的后继 解 : btree *succ (tbtree *p) { tbtree *q; if (p->rtag= =1) return p->right; else { q=p->right; while (q->ltag= =0) q=q->left; return q; 填空 : 1 图中所有顶点的度数之和等于所有边数的 倍 2 有向图中, 所有顶点的入度之和等于所有顶点出度之和的 倍 3 一个 n 个顶点的无向图最多有 条边,n 个顶点的有向图最多有 条弧 4 4 个顶点的无向完全图有 条边 4 个顶点的无向图至少有 条边, 才能确保连通 第 16

17 5 n 个顶点的无向图要连通, 至少需要 条边 6 n 个顶点,e 条边的无向图, 若采用邻接表, 则表头大小为 个, 邻接表中的结点 个 7 采用邻接表存储, 图的深度优先遍历类似于二叉树的 遍历, 图的广度优先遍历类似于二叉树的 遍历 8 判断一个有向图是否存在回路可用 9 无向图的邻接矩阵是 矩阵 10 从邻接矩阵中求第 I 个结点的入度的方法是, 删除第 i 个结点出发的边的方法是 11 给定 n 个元素可以构造出的逻辑结构 : 12 Kruskal 算法时间复杂度, 它对 图较合适 13 N 个顶点的强连通图最多有 条边, 最少有 条边 14 表示一个 1000 个顶点,1000 条边的有向图的邻接矩阵有 个元素, 满足条件 的矩阵为稀疏矩阵 15 一个非连通的无向图共 28 条边, 该图中至少有 个顶点 ( 注 : 完全图顶点数最少 ) 16 用 DFS 遍历一个无环有向图, 并在 DFS 算法退栈返回时, 打印出相应顶点, 则输出的顶点序列是 17 n 个顶点的无向图, 边数大于 n-1, 则该图必是连通图吗? 18 若一个有向图的邻接矩阵中, 对角线以下的元素均为 0, 则该图的拓扑有序序列一定存在, 对吗? 19 遍历图的实质是 的过程 20 广度优先搜索遍历的时间复杂度为 :, 深度优先搜索遍历的时间复杂度为 :, 两者不同之处是, 图的遍历算法是求解 的基础 有向图中的结点的前驱 后继关系的特征是 关系 答案 : n(n-1)/2 n(n-1) n-1 6 n 2e 7 先序层次 8 拓扑排序深度优先遍历 9 对称 10 求出第 i 列为 1 的个数使第 i 行全为 0 11 线性表 树 图和集合 12 O(eloge) 稀疏 13 n(n-1) n e<nlogn 逆拓扑有序序列 第 17

18 17 不一定, 比如 : 18 一定存在 19 根据边 / 弧找邻接点的过程 20 O(n+e) O(n+e) 对顶点访问的顺序不同连通性问题 拓扑排序 求关键路径和最短路经偏序 52. 找出以顶点 1 为根的深度优先生成树的关节点 解 : 关节点为 1,2,3,7, 使用邻接表存储带权有向图 试写出 (1) 图的邻接表定义 ;(2) 定义算法使用的全局数组 ;(3) 写出拓扑排序算法 (2005 年考试题填空 ) 解 :(1) #define MAX_VERTEX_NUM 20 typedef struct ArcNode{ int adjvex; struct ArcNode * nextarc; InfoType *info; ArcNode; typedef struct VNode{ VertexType data; ArcNode *firstarc; VNode, AdjList[MAX_VERTEX_NUM]; typedef struct { AdjList Vertices; Int vexnum,arcnum; int kind; ALGraph; (2) 全局数组为 indegree[ ]; (3) 拓扑排序算法 : Status TopologicalSort(ALGraph G) { FindIndegree(G, indegree); InitStack(S): For( i=0; i<g.vexnum; ++i) if(!indegree[i]) Push(S, i): 第 18

19 count=0; While (!StackEmpty(S)) { Pop(S, i ); printf( i, G.vertices[i].data); ++count; for( p=g.vertices[i].firstarc;p;p=p->nextarc) { k=p->adjvex; if(!(--indegree[k])) Push(S,k); if(count<g.vexnum) return ERROR; else return OK: 54. 已知 AOV 图,V 1 ~V 7 是 7 个事件,a 1 ~a 10 是活动, 求关键路径 V 2 a 4 =4 V 5 a 1 =3 a 5 =2 a 8 =1 a9 3 V 1 a 2 =6 V 4 V 7 a 3 =2 a 6 =1 a10 4 V 3 a 3 7 V 6 事件 V 1 V 2 V 3 V 4 V 5 V 6 V 7 最早发生时间 最晚发生时间 活动 a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 10 最早开始时间 最晚发生时间 松弛时间 关键路径为 :a 1, a 2, a 4, a 8, a 深度遍历下面的无向图, 并判断所给出的深度优先遍历和广度优先遍历是否正确 第 19

20 5 6 判断下列给出的深度优先遍历是否正确 : 判断下列给出的深度优先遍历是否正确 : ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) 答案 : 错错对错 错错对错 56. 以邻接矩阵作为图的存储结构, 试编写算法判断有向图中是否存在回路, 若存在, 找出一条回路 ( 不存在自己到自己的弧 ) 解 :int matrix[1 max][1 max]; int visited[1 max]; 取 False=0,True=1 int Vex[1 max]; int p,found; find circle( ) { for(v=1;v<=max;v++) visited[v]=false; p=o; found=false; for(v=1;v<=max;v++) DFS(v); DFS(int v) { Display( ){ if(found) return 1; flag=false; p=p+1; v=vex[p]; Vex[p]=v; for(i=1;i<=p;i++) { if(visited[v]) { if(vex[i]= =v) Found=True; flag=true; Display( ); if(flag) printf(vex[i]); else { visited[v]=true; for(i=1;i<=max;i++) if(matrix[v,i]>0) DFS(i); p=p-1; visited[v]=false; 57. 会求从有向图某一结点到其余结点的最短路径 ( 用表表示求解过程 ), 不要求算法 58. 填空 : 1 顺序查找适合的存储结构为 和 ; 折半查找要求线性表 : 2 等概率时采用顺序查找长度为 n 的线性表, 当查找成功时, 平均查找长度为 ; 若同时考虑查找不成功时的情况在内, 每个元素的平均查找长度为, 折半查找的平均查找长度为 第 20

21 3 折半查找和二叉排序树的时间性能 ( 相同 / 不相同 ) 4 有序表 (1,3,9,12,32,41,45,62,75,77,82,95,100), 用折半查找 82 结点时, 经过 次比较后查找成功 5 哈希表长 m=14,h(key)=key%11, 表中已有 4 个结点,addr(15)=4,addr(38)=5, addr(61)=6,addr(84)=7, 其余为空 如用二次探测再散列处理冲突, 关键字 49 结点的地址是 6 长度为 12 的有序表, 按折半查找, 在各元素等概率的情况下, 查找成功的平均次数为 7 采用分块查找时, 若线性表中共有 625 个元素, 查找每个元素的概率相同 假设采用顺序查找确定结点所在的块时, 每块应分为 个结点最佳 8 最优查找二叉树和最优二叉树的路径总长为 9 m 路平衡 B 树是一棵 树 答案 : 1 顺序表链表 ; 按关键字有序且数组顺序存储 2 (n+1)/2 3(n+1)/4 O(log 2 n) 3 不相同 /12 解 : 查找树 : * 2 4*3 5* 4 37 ASL= n ASL bs ( s) 1 当 s= 2 s n, 即每块有 n 个结点时最佳 n 8 w i * h i, 在最优二叉树中,n 表示叶子的结点数 ; 在最优查找二叉树中,n 表 i1 示总结点数目 9 平衡二叉树 ( 二叉平衡树一定是二叉排序树 ) 59. 第 21

22 m 阶 B 树 m 阶 B 树 每个结点中最多关键字个数 m m-1 每个结点中最少关键字个数 m 2 m 填空 1 一棵深度为 k 的平衡二叉树, 其每个非终端结点的平衡因子均为 0, 则该树共有 个结点 2 在任一棵非空二叉排序树中, 删掉某结点, 又将其插入所得的二叉排序树与删掉前一定 ( 相同 / 不相同 ) 3 装填因子是散列表的一个重要参数, 它反映了 4 k 个互为同义的关键字, 若用线性探测法把这 k 个关键字存入散列表中, 至少要进行 次探测 5 分块检测中, 对 256 个元素的线性表分成 块最好, 每块最佳长度为, 若每块的长度为 8, 平均检索长度为 6 选择 hash 函数的标准是 ; 处理冲突技术的共同标准是 个记录中, 找出两个最小的, 采用什么方法所需关键字比较次数最少? 8 散列查找区别与其他查找方法的根本点是 9 顺序查找有序 无序的顺序表的平均查找长度 ( 相同 / 不同 ) 答案 : k 不一定 3 散列表装满的程度 k 4 i i1 1 n ASL bs ( s) 1 2 s 6 地址均匀减少冲突 ; 快速找到空地址 7 冒泡排序 8 散列查找是按地址查找, 其他的查找方法是比较关键字 9 相同 61. 有序表 (a 1... a 12 ), a i a j (i<j), 对该有序表进行折半查找, 在等概率的情况下, 求 查找不成功的平均查找次数 解 : 10* 4 3*3 49, 查找图如下 : a 6 第 22

23 a 3 a 9 a 1 a 4 a 7 a a 2 a 5 a 8 a 10 a 代表查找不成功时已经比较的次数 62. 试编写算法, 利用折半查找在一个有序表中插入一个元素 x, 并且保持有序 解 : bin_insert ( Sqlist r, int x, int n) { int low=1, high=n, mid, inplace, i, found=0; while ( low<=high &&!found) { mid = ( low + high ) /2; if (x < r[mid].key) high = mid-1; else if (x > r[mid].key) low = mid+1; else { i = mid; found = 1; if (found) inplace = mid; else inplace = low; for( i=n; i >= inplace; i--) r[i+1].key=r[i].key; r[inplace].key=x; , 画出二叉排序树并故给出下列操作的结果 (1) 插入 9;(2) 删掉 17;(3) 删掉 13 解 : 二叉排序树 : (1) 插入 9 后 : 17 第 23

24 (2) 删除 17 后 : (3) 删除 13 后 : 试编写算法实现打印大于等于 x 的结点的所有数据 解 : disp(t, x) {// 中序遍历二叉树, 同时输出大于等于 x 的结点 if(t!=null) { disp(t->lchild,x); if(t->data>=x) printf(t->data); disp(t->rchild, x); 65. 已知 AVL 树 : (1) 插入 6: 左 ( 逆时针 ) 转 右 ( 顺时针 ) 转 (2) 在插入 6 后, 再插入 10 8 第 24

25 右 ( 顺时针 ) 转 8 左 ( 逆时针 ) 转 已知有 12 个结点的 AVL 树, 求其最大深度 解 : h n = h n 1 + h n 由可得最大深度为 5 h 0 0, h 数列空间 H[1 m], 每个 H[i] 存放一个记录, 初值为 NULL, 选取 H(R.key) 为散列函数解决冲突, 使用线性探测法 试编写 hash 函数 解 : hash(h,r.key) { int i, j; j=h(r.key); if(h[j]= =NULL) H[j]=R.key; else { do { j=(j+1)%(m+1); while(h[j]!=null) H[j]=R.key; 67. 哈希表长 m=14,h(key)=key mod 11, 把 1,13,12,34,38,33,27,22 插入散列表中 : (1) 使用线性探测再散列构造散列表 : 位置 查找成功的次数 : 查找不成功的次数 : (2) 使用链地址构造散列表 : 第 25

26 查找成功的 ASL= (4*1 3* 2 1*3) 8 1 查找不成功 ASL= ( ) 14 (3) 确定填充因子 :α=8/ (4) 线性探测再散列查找成功的平均探测次数为 : 1 ASL= ( ) 8 线性探测再散列查找不成功的平均探测次数为 : 1 ASL= ( ) 编写有序表进行顺序查找的算法, 并画出判定树, 假设每次查找给定的值是随机的, 又查找成功与不成功的概率也相等, 求每次查找时与给定关键字的比较次数的期望值 解 : 设 a 1 < a 2 < < a n, 判定树 :a 1 typedef struct { a 2 ElemType *elem; int length; Sstable; Search(Sstable ST, KeyType key) { a n for(i=1;i<=st.length;i++) { 期望值 : 2*(1 2 n) n if(st.elem[i].key= =key) return i; 2* n 1 else if(st.elem[i].key>key) return 1; 第 26

27 return 1; 69. 关键字为 (53,17,19,61,98,75,79,63,46,49) 散列空间 100,109, 解决冲突利用开发定址法 写出散列函数, 形成散列表 解 :H(key)=100+key mod 10 或 H(key)=100+(key 的第一位 +key 的第二位 )% 填空 : 1 比较次数与关键字顺序无关的是 ( 选择排序 ) 2 (54,38,96,23,15,72,60,45,83) 采用直接插入排序, 将 60 插入表中需进行 (3) 次比较 3 在排序过程中, 出现排序码移动的方向运动相反, 则排序法是不稳定的 ( 错 ) log 2 n ) 4 快速排序的最大递归深度为 (n), 最小为 ( 1 第 27

2018 年天津城建大学攻读硕士学位研究生入学考试试题 (A) 卷 考试科目代码 :825 考试科目名称工程信息技术 招生专业 : 建筑与土木工程

2018 年天津城建大学攻读硕士学位研究生入学考试试题 (A) 卷 考试科目代码 :825 考试科目名称工程信息技术 招生专业 : 建筑与土木工程 一 单项选择题 ( 本题共 20 小题, 每题 2 分, 共 40 分 ) 1. 计算机所处理的数据一般具有某种内在联系, 这是指 ( ) A. 数据和数据之间存在某种联系 B. 数据项和数据项之间存在某种联系 C. 元素内部具有某种结构 D. 元素和元素之间存在某种联系 2. 在计算机中表示数据时, 数据的物理地址和逻辑地址相同并且连续, 称其为 ( ) A. 链式存储结构 B. 顺序存储结构 C.

More information

Microsoft Word - 专升本练习5:图.doc

Microsoft Word - 专升本练习5:图.doc 第五章 图 一 选择题 1. 关键路径是事件结点网络中的 ( ) A. 从源点到汇点的最长路径 B. 从源点到汇点的最短路径 C. 最长的回路 D. 最短的回路 2. 一个具有 n 个顶点和 e 条边的无向图, 采用邻接表表示, 表向量的大小为 ( 1 ), 所有顶点 邻接表的结点总数为 ( 2 ) 1A. n B. n+1 C. n-1 D. n+e 2A. e/2 B. e C. 2e D. n+e

More information

四 读算法 ( 每题 7 分, 共 14 分 ) 1. (1) 查询链表的尾结点 (2) 将第一个结点链接到链表的尾部, 作为新的尾结点 (3) 返回的线性表为 (a 2,a 3,,a n,a 1 ) 2. 递归地后序遍历链式存储的二叉树 五 法填空 ( 每空 2 分, 共 8 分 ) true B

四 读算法 ( 每题 7 分, 共 14 分 ) 1. (1) 查询链表的尾结点 (2) 将第一个结点链接到链表的尾部, 作为新的尾结点 (3) 返回的线性表为 (a 2,a 3,,a n,a 1 ) 2. 递归地后序遍历链式存储的二叉树 五 法填空 ( 每空 2 分, 共 8 分 ) true B 数据结构试卷 ( 一 ) 参考答案 一 选择题 ( 每题 2 分, 共 20 分 ) 1.A 2.D 3.D 4.C 5.C 6.D 7.D 8.C 9.D 10.A 二 填空题 ( 每空 1 分, 共 26 分 ) 1. 正确性 易读性 强壮性 高效率 2. O(n) 3. 9 3 3 4. -1 3 4 X * + 2 Y * 3 / - 5. 2n n-1 n+1 6. e 2e 7. 有向无回路

More information

试卷代号 : 座位号 I II 中央广播电视大学 学年度第二学期 " 开放本科 " 期末考试 数据结构试题 2011 年 7 月! 题号 I - I 二 三 四! 五! 六 总分 分数 I I I 1 1- I ---1 I 得分 评卷人 一 单项选择

试卷代号 : 座位号 I II 中央广播电视大学 学年度第二学期  开放本科  期末考试 数据结构试题 2011 年 7 月! 题号 I - I 二 三 四! 五! 六 总分 分数 I I I 1 1- I ---1 I 得分 评卷人 一 单项选择 试卷代号 : 1 0 1 0 座位号 I II 中央广播电视大学 2 0 1 0-2 0 1 1 学年度第二学期 " 开放本科 " 期末考试 数据结构试题 2011 年 7 月! 题号 I - I 二 三 四! 五! 六 总分 分数 I I I 1 1- I ---1 I 得分 评卷人 一 单项选择题 ( 在括号内填写所选择的标号 每小题 2 分, 共 1 8 分 ) 1. 一种抽象数据类型包括数据和

More information

试卷代号 : 座位号 CD 中央广播电视大学 学年度第二学期 " 开放本科 " 期末考试 数据结构 ( 本 ) 试题 I 题号 - - I 二 l 三 l 四 l 总 分 分数 I I I I I I 2009 年 7 月 得分 评卷人 I I I 一

试卷代号 : 座位号 CD 中央广播电视大学 学年度第二学期  开放本科  期末考试 数据结构 ( 本 ) 试题 I 题号 - - I 二 l 三 l 四 l 总 分 分数 I I I I I I 2009 年 7 月 得分 评卷人 I I I 一 试卷代号 : 1 2 5 2 座位号 CD 中央广播电视大学 2 0 0 8-2 0 0 9 学年度第二学期 " 开放本科 " 期末考试 数据结构 ( 本 ) 试题 I 题号 - - I 二 l 三 l 四 l 总 分 分数 I I I I I I 2009 年 7 月 得分 评卷人 I I I 一 单项选择题 ( 每小题 2 分如 崎盯扫, 共 3t 3ω O 1. 针对线性表, 在存储后如果最常用的操作是取第

More information

重 庆 邮 电 大 学

重 庆 邮 电 大 学 机密 启用前 重庆邮电大学 2019 年攻读硕士学位研究生入学考试试题 科目名称 : 数据结构 (A) 科目代码 : 802 考生注意事项 1 答题前, 考生必须在答题纸指定位置上填写考生姓名 报考单位和考生编号 2 所有答案必须写在答题纸上, 写在其他地方无效 3 填 ( 书 ) 写必须使用 0.5mm 黑色签字笔 4 考试结束, 将答题纸和试题一并装入试卷袋中交回 5 本试题满分 150 分,

More information

PowerPoint Presentation

PowerPoint Presentation 数据结构与算法 ( 六 ) 张铭主讲 采用教材 : 张铭, 王腾蛟, 赵海燕编写高等教育出版社,2008. 6 ( 十一五 国家级规划教材 ) http://www.jpk.pku.edu.cn/pkujpk/course/sjjg 第 6 章树 C 树的定义和基本术语 树的链式存储结构 子结点表 表示方法 静态 左孩子 / 右兄弟 表示法 动态表示法 动态 左孩子 / 右兄弟 表示法 父指针表示法及其在并查集中的应用

More information

试卷代号 : 座位号 中央广播电视大学 学年度第二学期 " 开放本科 " 期末考试 数据结构试题 2012 年 7 月 题号一四五总分一一 分数 得分 评卷人 - 单项选择题, 在括号内填写所选择的标号 { 每小题 2 分, 共 1 8 分 ) 1. 下面算法

试卷代号 : 座位号 中央广播电视大学 学年度第二学期  开放本科  期末考试 数据结构试题 2012 年 7 月 题号一四五总分一一 分数 得分 评卷人 - 单项选择题, 在括号内填写所选择的标号 { 每小题 2 分, 共 1 8 分 ) 1. 下面算法 试卷代号 : 1 0 1 0 座位号 中央广播电视大学 2 0 11 2012 学年度第二学期 " 开放本科 " 期末考试 数据结构试题 2012 年 7 月 题号一四五总分一一 分数 得分 评卷人 - 单项选择题, 在括号内填写所选择的标号 { 每小题 2 分, 共 1 8 分 ) 1. 下面算法的时间复杂度为 ( ) int f( unsigned int n) { if(n= =0 II n=

More information

<4D F736F F D B8BDBCFE4220D7A8D2B5BBF9B4A1D3EBBACBD0C4BFCEB3CCC3E8CAF62E646F6378>

<4D F736F F D B8BDBCFE4220D7A8D2B5BBF9B4A1D3EBBACBD0C4BFCEB3CCC3E8CAF62E646F6378> B212CC: 数据结构与算法 课程描述 0 课程基本信息 课程编号 : B212CC 课程名称 : 数据结构与算法英文名称 : Data Structures and Algorithms 英文简称 : DSA 预备课程 : 计算系统基础 离散数学授课时间 : 二年级第一学期时间分配 : 课堂教学 (48 课时 )+ 实验安排 (48 课时 )+ 课后作业与阅读 (48 课时 ) 学分数 : 3

More information

数据结构习题

数据结构习题 数据结构 习题集 第一章序论 思考题 : 1.1 简述下列术语 : 数据 数据元素 数据对象 数据结构 存储结构 数据类型 抽象数据类型 作业题 : 1.2 设有数据结构 (D,R), 其中 D={d1, d2, d3, d4 R={r1, r2 r1={ , , , , , r2={ (d1, d2),

More information

(CIP) /. :, ISBN T P CIP (2005) : : 127 : : : : : 787 mm mm 1

(CIP) /. :, ISBN T P CIP (2005) : : 127 : : :  : : 787 mm mm 1 (CIP) /. :,2005. 7 ISBN 7 5612 1935 0.... T P311. 12 4 CIP (2005) 040538 : : 127 :710072 : 029-88493844 88491757 : www.nwpup.com : : 787 mm 1 092 mm 1/ 16 : 6.75 : 165 : 2005 9 1 : 9. 00 : : : ,,,,,,,,

More information

湖北工业大学二 八年招收硕士学位研究生试卷 则从顶点 A 出发进行深度优先遍历可以得到的序列是 : A.ACEDBFG B.ACDGFBE C.AECDBGF D.ABDGFEC 9 在对 n 个元素的序列进行排序时, 堆排序所需要的附加存储空间是 ( ) A. O(log 2 n) B. O(1)

湖北工业大学二 八年招收硕士学位研究生试卷 则从顶点 A 出发进行深度优先遍历可以得到的序列是 : A.ACEDBFG B.ACDGFBE C.AECDBGF D.ABDGFEC 9 在对 n 个元素的序列进行排序时, 堆排序所需要的附加存储空间是 ( ) A. O(log 2 n) B. O(1) 二 八年招收硕士学位研究生试卷 试卷代号 917 试卷名称数据结构 1 试题内容不得超过画线范围, 试题必须打印, 图表清晰, 标注准确 2 考生请注意 : 答案一律做在答题纸上, 做在试卷上一律无效 一 单项选择题 ( 在每小题列出四个供选择的答案 A B C D 中, 选一个正确的答案, 将其代号填在答卷纸相应题号后的下横线上, 每小题 2 分, 共 20 分 ) 1 以下术语与数据的存储结构无关的是(

More information

华侨大学 2014 年硕士研究生入学考试专业课试卷 B ( 答案必须写在答题纸上 ) 招生专业 计算机技术 科目名称 数据结构与 C++ 科目代码 850 第一部分 C++ ( 总分 75 分 ) 一 单项选择题 (18 分, 每小题 2 分 ) 1. 若有定义 :int a[3][4];, 则表达

华侨大学 2014 年硕士研究生入学考试专业课试卷 B ( 答案必须写在答题纸上 ) 招生专业 计算机技术 科目名称 数据结构与 C++ 科目代码 850 第一部分 C++ ( 总分 75 分 ) 一 单项选择题 (18 分, 每小题 2 分 ) 1. 若有定义 :int a[3][4];, 则表达 华侨大学 2014 年硕士研究生入学考试专业课试卷 B ( 答案必须写在答题纸上 ) 招生专业 计算机技术 科目名称 数据结构与 C++ 科目代码 850 第一部分 C++ ( 总分 75 分 ) 一 单项选择题 (18 分, 每小题 2 分 ) 1. 若有定义 :int a[3][4];, 则表达式 sizeof(a)/sizeof(int[4]) 的值为 ( ) A) 3 B) 4 C) 5 D)

More information

东北大学1996年考研题.doc

东北大学1996年考研题.doc 1996 年考研题 一 ( 25 分 ) 每小题 5 分 1. 根据下图完成 : (1) 画出该图的十字链表存储结构图 (2) 写出其拓扑排序的输出序列 (3) 写出图的强连通分量 ( 支 ) ( 4 ) 写出到的所有路径及简单路径 2. 给定 8 个权值集合 (2,5,3,10,4,7,9,18) 画出含有 8 个叶子结点的最佳三叉归并树, 并计算出 3. 已知含有 8 个结点的一棵二叉树, 按先序

More information

Microsoft PowerPoint - DS_Ch5 [兼容模式]

Microsoft PowerPoint - DS_Ch5 [兼容模式] Ch.7 图 图是一种复杂的非线性结构 应用 :AI 工程 数学 生物 计算机 结点间的逻辑关系 : 任两个结点都可能相关 1 Def: 图由两集合组成 G=(V, E) V(G): 顶点集 顶点的有穷非空集 E(G): 边集 V 中顶点序偶对的有穷集 无向图 : 边由顶点的无序对构成 (V i,v j ) 和 (V j,v i ) 表示同一条边, 称为无向边 有向图 : 边由顶点的有序对构成

More information

Microsoft PowerPoint - DS_Ch7.ppt [兼容模式]

Microsoft PowerPoint - DS_Ch7.ppt [兼容模式] Ch.7 图 图是一种复杂的非线性结构 Def: 图由两集合组成 G=(V, E) V(G): 顶点集 顶点的有穷非空集 E(G): 边集 V 中顶点偶对的有穷集 无向图 : 边由顶点的无序对构成 应用 :AI 工程 数学 生物 计算机 和 表示同一条边, 称为无向边 有向图 : 边由顶点的有序对构成 结点间的逻辑关系 : 任两个结点都可能相关 和 表示不同的有向边弧尾 起点 1 弧头 终点 2 例子

More information

<4D F736F F D20BBAAC4CFC0EDB9A4B4F3D1A72020CAFDBEDDBDE1B9B9B8B4CFB0B1CABCC7D5FBC0ED2E646F63>

<4D F736F F D20BBAAC4CFC0EDB9A4B4F3D1A72020CAFDBEDDBDE1B9B9B8B4CFB0B1CABCC7D5FBC0ED2E646F63> 数据结构复习笔记整理第二部分复习提纲 ( 不分题型, 弄清原理, 不要死记硬背 ). 简单复杂性的判断 : ()i=n; while(i>=) i=i/2; 其中 i=n,n/2,n/2 2,,n/2 k, 需 n/2 k >=, 即 2 k

More information

各章例题 Contents 1 第 1 章例题 2 第 4 章例题 3 第 4-1 章例题 4 第 4-2 章例题 5 第 5 章例题 6 第 7 章例题 7 第 8 章例题 8 第 9 章例题 第 1 章例题 选择题 在数据结构中, 从逻辑上可以把数据结构分成 :( ) A 动态结构和静态结构 B 紧凑结构和非紧凑结构 C 线性结构和非线性结构 D 内部结构和外部结构 答案 C 第 1 章例题 判断题

More information

PowerPoint Presentation

PowerPoint Presentation 数据结构与算法 ( 七 ) 张铭主讲 采用教材 : 张铭, 王腾蛟, 赵海燕编写高等教育出版社,2008. 6 ( 十一五 国家级规划教材 ) http://www.jpk.pku.edu.cn/pkujpk/course/sjjg 第 7 章图 7.1 图的定义和术语 7.2 图的抽象数据类型 7.3 图的存储结构 7.5 最短路径 7.6 最小生成树 2 图的遍历 (graph traversal)

More information

树的非递归中序和层次遍历实现

树的非递归中序和层次遍历实现 相信大家对树的各种递归的遍历很了解, 利用递归使得代码变得简单而且比较好理解, 但是利用递归是需要代价的, 特别是当递归层次比较深的时候, 可能会导致递归栈溢出 而且递归一般运行速度比较慢, 那么这种情况下, 我们就可以采用非递归来实现, 非递归相对递归来说, 代码相对比较难理解, 而且代码量也一般比较多, 可是它的执行效率却是很不错的 在树的中序非递归遍历中需要用到栈, 在层次遍历中需要用到队列,

More information

Microsoft PowerPoint - ds-9.ppt [兼容模式]

Microsoft PowerPoint - ds-9.ppt [兼容模式] 第 九 章 静 态 表 动 态 表 哈 希 表 9.1 基 本 概 念 (Page 214) 2 表 : 是 由 同 一 类 型 元 素 成 的 集 合 静 态 表 : 只 做 询 或 检 索 操 作 动 态 表 : 询 检 索 插 入 删 除 关 键 字 : 是 元 素 中 某 个 相 的 值, 用 它 可 以 标 识 一 个 元 素 主 关 键 字 次 关 键 字 : 根 给 定 值, 在 表

More information

试卷代号 : 座位号 中央广播电视大学 学年度第一学期 " 开放本科 " 期末考试 数据结构试题 2011 年 1 月 题号一四五总分一一 分数 得分 评卷人 一 单项选择题, 在括号内填写所选择的标号 ( 每小题 2 分, 共 1 8 分 ) 1. 执行下

试卷代号 : 座位号 中央广播电视大学 学年度第一学期  开放本科  期末考试 数据结构试题 2011 年 1 月 题号一四五总分一一 分数 得分 评卷人 一 单项选择题, 在括号内填写所选择的标号 ( 每小题 2 分, 共 1 8 分 ) 1. 执行下 试卷代号 : 1 0 1 0 座位号 中央广播电视大学 2 0 1 0 2011 学年度第一学期 " 开放本科 " 期末考试 数据结构试题 2011 年 1 月 题号一四五总分一一 分数 一 单项选择题, 在括号内填写所选择的标号 ( 每小题 2 分, 共 1 8 分 ) 1. 执行下面程序段时, s 语句的执行次数为 ( ) forcint i= 1; i

More information

立 志 于 打 造 最 贴 近 考 生 实 际 的 辅 导 书 计 算 机 考 研 之 数 据 结 构 高 分 笔 记 率 辉 编 著 周 伟 张 浩 审 核 讨 论 群 :15945769

立 志 于 打 造 最 贴 近 考 生 实 际 的 辅 导 书 计 算 机 考 研 之 数 据 结 构 高 分 笔 记 率 辉 编 著 周 伟 张 浩 审 核 讨 论 群 :15945769 立 志 于 打 造 最 贴 近 考 生 实 际 的 辅 导 书 计 算 机 考 研 之 数 据 结 构 高 分 笔 记 率 辉 编 著 周 伟 张 浩 审 核 讨 论 群 :15945769 前 言 在 计 算 机 统 考 的 四 门 专 业 课 中, 最 难 拿 高 分 的 就 是 数 据 结 构 但 是 这 门 课 本 身 的 难 度 并 不 是 考 生 最 大 的 障 碍, 真 正 的 障 碍

More information

2009

2009 数据结构 考研真题及解答 目 录 2009 年试题... 1 填空题... 1 解答题... 2 2010 年试题... 2 填空题... 2 解答题... 4 2011 年试题... 4 填空题... 4 解答题... 5 2012 年试题... 6 填空题... 6 解答题... 7 2013 年试题... 8 填空题... 8 解答题... 9 2014 年试题... 10 填空题... 10

More information

6 tree

6 tree 6 树和二叉树 董洪伟 http://hwdong.com 1 树和二叉树 主要内容一 树的类型定义二 二叉树的类型定义三 二叉树的存储结构四 二叉树的操作五 线索二叉树六 树和森林七 赫夫曼树八 树的计数 2 树的类型定义 树是一个层次结构的抽象模型 树是由具有父子关系的结点构成的 应用示例 : - 组织结构 - 文件系统 Computers R Us Sales Manufacturing R&D

More information

数据结构

数据结构 9 查找 董洪伟 http://hwdong.com 主要内容 查找的概念 线性查找表 线性查找 折半查找 索引查找 ( 分块查找 ) 二叉查找树 ( 平衡二叉树 ) 二叉查找树 平衡二叉树 哈希查找 ( 散列查找 ) 查找的概念 查找 : 在数据集合中寻找满足某种条件的数据元素 关键字 相当于排序中的排序码 数据元素中某个数据项的值 可以标识一个数据元素 关键字可以相同, 即不一定唯一标识这个元素

More information

华侨大学2011年硕士研究生入学考试专业课试卷

华侨大学2011年硕士研究生入学考试专业课试卷 华侨大学 2016 年硕士研究生入学考试专业课试卷 ( 答案必须写在答题纸上 ) 招生专业计算机技术 ( 专业学位 ) 科目名称数据结构与 C++ 科目代码 850 第一部分数据结构 ( 总分 75 分 ) 一. 单项选择题 ( 每题 1.5 分, 共 12 分 ) 1. 下列关于顺序存储结构的叙述哪一个是错误的?( ) A. 存储密度大 B. 插入操作不方便 C. 不可随机访问任意结点 D. 存储单元的地址是连续的

More information

第一章三角函数 1.3 三角函数的诱导公式 A 组 ( ) 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角, 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C 2 ( 中诱导公式 ) ( ) B. cos(

第一章三角函数 1.3 三角函数的诱导公式 A 组 ( ) 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角, 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C 2 ( 中诱导公式 ) ( ) B. cos( 第一章三角函数 1. 三角函数的诱导公式 A 组 一 选择题 : 共 6 小题 1 ( 易诱导公式 ) 若 A B C 分别为 ABC 的内角 则下列关系中正确的是 A. sin( A B) sin C C. tan( A B) tan C ( 中诱导公式 ) B. cos( B C) cos A D. sin( B C) sin A sin60 cos( ) sin( 0 )cos( 70 ) 的值等于

More information

华侨大学 2013 年硕士研究生入学考试专业课试卷 ( 答案必须写在答题纸上 ) 招生专业 计算机技术 科目名称 数据结构与 C++ 科目代码 850 第一部分数据结构 ( 共 75 分 ) 一 单项选择题 ( 每小题 2 分, 共 24 分 ) 1. 执行下面程序段时, 则 S 语句的语句频度是

华侨大学 2013 年硕士研究生入学考试专业课试卷 ( 答案必须写在答题纸上 ) 招生专业 计算机技术 科目名称 数据结构与 C++ 科目代码 850 第一部分数据结构 ( 共 75 分 ) 一 单项选择题 ( 每小题 2 分, 共 24 分 ) 1. 执行下面程序段时, 则 S 语句的语句频度是 华侨大学 2013 年硕士研究生入学考试专业课试卷 ( 答案必须写在答题纸上 ) 招生专业 计算机技术 科目名称 数据结构与 C++ 科目代码 850 第一部分数据结构 ( 共 75 分 ) 一 单项选择题 ( 每小题 2 分, 共 24 分 ) 1. 执行下面程序段时, 则 S 语句的语句频度是 () for(int i =1;i

More information

中国科学院研究生院

中国科学院研究生院 中国科学院大学 2013 年招收攻读硕士学位研究生入学统一考试试题 考生须知 : 1. 本试卷满分为 150 分, 全部考试时间总计 180 分钟 2. 所有答案必须写在答题纸上, 写在试题纸上或草稿纸上一律无效 一 单选题 ( 每小题 2 分, 共 80 分 ) 1. 操作系统负责管理和控制计算机系统的 A. 软件资源 B. 硬件资源和软件资源 C. 对用户有用的资源 D. 硬件资源 2. UNIX

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

A.39 B.52 C.111 D.119 解析 C 根据完全二叉树的定义, 此树的前 6 层应该是满二叉树, 共有 = 63 个结点 第 6 层有 8 个叶子结点, 说明另外 32-8=24 个结点不是叶子结点, 最多各有 2 个孩子结点 而该树不可能有第 8 层存在, 所以结点总数最

A.39 B.52 C.111 D.119 解析 C 根据完全二叉树的定义, 此树的前 6 层应该是满二叉树, 共有 = 63 个结点 第 6 层有 8 个叶子结点, 说明另外 32-8=24 个结点不是叶子结点, 最多各有 2 个孩子结点 而该树不可能有第 8 层存在, 所以结点总数最 09 年真题 1 为解决计算机与打印机之间速度不匹配的问题, 通常设置一个打印数据缓冲区, 主机将要输出的数据依次写入该缓冲区, 而打印机则依次从该缓冲区中取出数据 该缓冲区的逻辑结构应该是 ( ) A. 栈 B. 队列 C. 树 D. 图 解析 B 打印机取出数据的顺序与数据被写入缓冲区的顺序相同, 为先进先出结构, 即队列 2 设栈 S 和队列 Q 的初始状态均为空, 元素 a,b,c,d,e,f,g

More information

Microsoft Word - 作业.doc

Microsoft Word - 作业.doc 董洪伟罗海驰李婷第 1 章绪论要点 1. 数据结构的逻辑结构和物理结构, 即数据结构从逻辑上分为 : 集合 一对一的线性结构 一对多的树型结构和多对多的图型结构 例如一维数组或链表都是线性结构, 称为线性表, 而多维数组则是图型结构 也有分为 : 线性结构和非线性结构 ( 集合 树 图 ) 一个实际问题的数据结构模型可能是混合型的结构, 既有线性结构的表也有其他非线性结构的树或图等 根据数据结构元素之间的逻辑关系在计算机内部表示

More information

浙江师范大学

浙江师范大学 软件与通信工程学院 数据结构与算法 实验指导书 江西财经大学软件与通信工程学院通信工程系 2016 年 9 月 - 1 - 目录 写在上机实验之前... - 3 - 数据结构与算法( 电子 ) 课程实验教学大纲... - 4 - 实验一线性表链式表示和实现... - 7 - 实验二栈的应用之表达式求值... - 8 - 实验三二叉树的遍历操作... - 10 - 实验四图的遍历操作... - 13

More information

Microsoft Word - 专升本练习2:线性表.doc

Microsoft Word - 专升本练习2:线性表.doc 第二章 线性表 一 选择题 1. 线性表是 ( ) A. 一个有限序列, 可以为空 B. 一个有限序列, 不能为空 C. 一个有限序列, 可以为空 D. 一个无序序列, 不能为空 2. 对顺序存储的线性表, 设其长度为 n, 在任何位置上插入或删除操作都是等概率 插入一个元素 时大约要移动表中的 ( ) 个元素, 删除一个元素时大约要移动表中的 ( ) 个元素 A. n/2 B. (n+1)/2 C.

More information

一元多项式实验要求

一元多项式实验要求 实验一一元多项式实验要求 (12 课时 ) 一基本要求 : 1. 编写程序 polyn.c( 或 polyn.cpp) 实现 ADT Polynomial, 可以使用下列结构实现 : typedef struct{ float p; // 系数 int e; // 指数 }ElemType; 实现基本操作 : CreatePolyn(&p,m), 创建一元多项式, 可从终端接受 m 组 (p,e)

More information

<4D F736F F F696E74202D20CAFDBEDDBDE1B9B9B8B4CFB0CCE22E707074>

<4D F736F F F696E74202D20CAFDBEDDBDE1B9B9B8B4CFB0CCE22E707074> 数据结构与算法 58-1 计算机的算法指的是 (1), 它必须具备 (2) * A.(1) 计算方法,(2) 可执行性, 可移植性, 可扩充性 B.(1) 解决问题的步骤序列,(2) 可执行性, 确定性, 有穷性 C.(1) 排序方法,(2) 确定性, 有穷性, 稳定性 D.(1) 调度方法,(2) 易读性, 稳定性, 安全性 评价一个算法好坏的标准主要是 A 执行时间 B 辅助空间 C 算法本身的复杂度

More information

<4D F736F F D E3131CAFDBEDDBDE1B9B9C6DAD6D0BFBCCAD4A3A8BAACB2CEBFBCB4F0B0B8A3A92E646F63>

<4D F736F F D E3131CAFDBEDDBDE1B9B9C6DAD6D0BFBCCAD4A3A8BAACB2CEBFBCB4F0B0B8A3A92E646F63> 一 选择题 ( 每小题 2 分, 共 30 分, 奇 偶 ) 1. 从逻辑上可以把数据结构分为 ( ) 两大类. 动态结构 静态结构. 顺序结构 链式结构. 线性结构 非线性结构 D. 初等结构 构造型结构 2. 下面关于线性表的叙述中, 错误的是哪一个?( ). 线性表采用顺序存储, 必须占用一片连续的存储单元. 线性表采用顺序存储, 便于进行插入和删除操作. 线性表采用链接存储, 不必占用一片连续的存储单元

More information

<4D F736F F F696E74202D20CAFDBEDDBDE1B9B9B8C5C2DBA3ADB5DA38D5C2B2E9D5D22D E BBCE6C8DDC4A3CABD5D>

<4D F736F F F696E74202D20CAFDBEDDBDE1B9B9B8C5C2DBA3ADB5DA38D5C2B2E9D5D22D E BBCE6C8DDC4A3CABD5D> 数据结构概论 第 8 章查找 董黎刚浙江工商大学信电学院 1. 查找的基本概念 8.1.1 背景 第 2-7 章以数据结构为主线介绍, 第 8-9 章将以算 法为主线来介绍 现实生活中, 查找 ( 与 搜索 是同一个英文单 词 Search) 几乎无处不在, 特别是现在的网络时代, 查找占据了我们上网的大部分时间 比如要确认一下某个新词的拼写对不对, 不妨问问 baidu/google, 哪个拼写搜到的记录多就选哪个

More information

第九章

第九章 第八章 查找 本章教学知识点与学习要求 :( 课内教学时数 6 学时, 实践教学时数 2 学时 ) (1) 熟练掌握顺序表和有序表的查找方法 ; (2) 熟悉静态查找树的构造方法和查找算法, 理解静态查找树和折半查找的关系 ; (3) 熟练掌握二叉排序树的构造方法和查找方法 ; (4) 掌握二叉平衡树的维护平衡方法 ; (5) 理解 B- 树 B+ 树和键树的特点以及他们的建树过程 ; (6) 熟练掌握哈希表的构造方法,

More information

204 */ InitiateStack s ; /* s */ i = n; t = p = new node; /* */ p->data = postorder[i]; while i > q = new node; if parent[i - ] == postorder[i] S,T S

204 */ InitiateStack s ; /* s */ i = n; t = p = new node; /* */ p->data = postorder[i]; while i > q = new node; if parent[i - ] == postorder[i] S,T S 28 4 Vol.28 No.4 4 204 2 JOURNAL OF NANTONG VOCATIONAL UNIVERSITY Dec. 204!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! doi:0.3969/j.issn.008-5327.204.04.024 唐自立 ( 苏州大学计算机科学与技术学院, 江苏苏州 25006)

More information

<4D F736F F D20CAD7B6BCCAA6B7B6B4F3D1A7CAFDBEDDBDE1B9B9BDB2D2E52E646F63>

<4D F736F F D20CAD7B6BCCAA6B7B6B4F3D1A7CAFDBEDDBDE1B9B9BDB2D2E52E646F63> 考查目标 1. 理解数据结构的基本概念 ; 掌握数据的逻辑结构 存储结构及其差异, 以及各种基本操作的实现 2. 掌握基本的数据处理原理和方法的基础上, 能够对算法进行设计与分析 3. 能够选择合适的数据结构和方法进行问题求解 一 线性表 大纲要求 : ( 一 ) 线性表的定义和基本操作 ( 二 ) 线性表的实现 1. 顺序存储结构 2. 链式存储结构 3. 线性表的应用 知识点 : 1. 深刻理解数据结构的概念,

More information

Microsoft PowerPoint - 06.ppt

Microsoft PowerPoint - 06.ppt 第 6 章树和二叉树 6.1 树的基本概念 6.2 二叉树概念和性质 6.3 二叉树存储结构 6.4 二叉树的遍历 6.5 二叉树的基本操作及其实现 6.6 二叉树的构造 6.7 哈夫曼树 本章小结 6.1 树的基本概念 6.1.1 树的定义形式化定义 : 树 :T={D,R} D 是包含 n 个结点的有穷集合 (n 0) 当 n=0 时为空树, 否则关系 R 满足以下条件 : 有且仅有一个结点 d

More information

Microsoft PowerPoint - ds-1.ppt [兼容模式]

Microsoft PowerPoint - ds-1.ppt [兼容模式] http://jwc..edu.cn/jxgl/ HomePage/Default.asp 2 说 明 总 学 时 : 72( 学 时 )= 56( 课 时 )+ 16( 实 验 ) 行 课 时 间 : 第 1 ~14 周 周 学 时 : 平 均 每 周 4 学 时 上 机 安 排 待 定 考 试 时 间 : 课 程 束 第 8 11 12 章 的 内 容 为 自 学 内 容 ; 目 录 中 标 有

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 第 6 章树和二叉树 6.1 树的概念与定义 6.2 二叉树 6.3 二叉树的遍历与线索化 6.4 树 森林和二叉树的关系 6.5 哈夫曼树及其应用 定义 : 树 (tree) 是 n(n 0) 个结点的有限集 其中 : 在任意一个非空树中 :1) 有且仅有一个特定的称为根 (root) 的结点 ; 2) 当 n>1 时, 其余结点可分为 m(m>0) 个互不相交的有限集 T 1,T 2,,T m,

More information

Microsoft PowerPoint - Lecture9.ppt

Microsoft PowerPoint - Lecture9.ppt Chap 10. Index 1 Indexing Goals: Store large files Support multiple search keys Support efficient insert, delete, and range queries 2 Terms(1) Entry sequenced file: Order records by time of insertion.

More information

8

8 孙猛 http://www.math.pku.edu.cn/teachers/sunm 2017 年 10 月 26 日 1 树及其抽象数据类型 树的实现 树林林 2 树的 几种不不同表现形式 3 4 html head body meta title h1 ul h2 li li a 5 树是 n(n 0) 个结点的有限集 T,T 非空时满 足 : 有且仅有 一个特殊的称为根 (root) 的结点

More information

untitled

untitled 1 DBF (READDBF.C)... 1 2 (filetest.c)...2 3 (mousetes.c)...3 4 (painttes.c)...5 5 (dirtest.c)...9 6 (list.c)...9 1 dbf (readdbf.c) /* dbf */ #include int rf,k,reclen,addr,*p1; long brec,erec,i,j,recnum,*p2;

More information

6.1 树的定义和基本术语 6.2 二叉树 ( 定义 性质 存储结构 ) 6.3 遍历二叉树和线索二叉树 6.4 树和森林 6.5 赫夫曼树及其应用

6.1 树的定义和基本术语 6.2 二叉树 ( 定义 性质 存储结构 ) 6.3 遍历二叉树和线索二叉树 6.4 树和森林 6.5 赫夫曼树及其应用 第六章树与二叉树 树型结构是一类非常重要的非线性结构 直观地, 树型结构是以分支关系定义的层次结构 树在计算机领域中也有着广泛的应用, 例如在编译程序中, 用树来表示源程序的语法结构 ; 在数据库系统中, 可用树来组织信息 ; 在分析算法的行为时, 可用树来描述其执行过程等等 6.1 树的定义和基本术语 6.2 二叉树 ( 定义 性质 存储结构 ) 6.3 遍历二叉树和线索二叉树 6.4 树和森林

More information

7. 下图中所使用的数据结构是 ( ) 压入 A 压入 B B 弹出 B 压入 C C A A A A A. 哈希表 B. 栈 C. 队列 D. 二叉树 8. 在 Windows 资源管理器中, 用鼠标右键单击一个文件时, 会出现一个名为 复制 的 操作选项, 它的意思是 ( ) A. 用剪切板中的

7. 下图中所使用的数据结构是 ( ) 压入 A 压入 B B 弹出 B 压入 C C A A A A A. 哈希表 B. 栈 C. 队列 D. 二叉树 8. 在 Windows 资源管理器中, 用鼠标右键单击一个文件时, 会出现一个名为 复制 的 操作选项, 它的意思是 ( ) A. 用剪切板中的 第十九届全国青少年信息学奥林匹克联赛初赛 普及组 C++ 语言试题 竞赛时间 :2013 年 10 月 13 日 14:30~16:30 选手注意 : 试题纸共有 9 页, 答题纸共有 2 页, 满分 100 分 请在答题纸上作答, 写在试题纸上的一律无效 不得使用任何电子设备 ( 如计算器 手机 电子词典等 ) 或查阅任何书籍资料 一 单项选择题 ( 共 20 题, 每题 1.5 分, 共计 30

More information

幻灯片 1

幻灯片 1 1.3 查找与排序 一 查找 查找, 也称为检索, 就是在一组同类型的数据元素中找出满足条件的元素 这种操作可能成功 ( 找到 ), 也可能失败 ( 未找到 ) 通常把待查找的数据元素集合称为查找表 下面介绍的查找是按关键字进行的 关键字 (key) 是数据元素中能唯一标识一个数据元素 ( 或记录 ) 中某个 ( 些 ) 数据项 要衡量一种查找算法的优劣, 主要是看要找的值与关键字的比较次数 为此,

More information

【此处填写课程中文名称】

【此处填写课程中文名称】 数据结构 Data Structures 一 基本信息 课程代码 : 2050161 课程学分 : 4 面向专业 : 计算机科学与技术 课程性质 : 院级必修课 开课院系 : 信息技术学院计算机科学与技术系 使用教材 : 教材 数据结构 ( 第 2 版 ), 陈越等, 高等教育出版社,2016 年 6 月 参考书目 数据结构 (C 语言版 ), 李云清等, 人民邮电出版社,2009 年第二版 数据结构学习与实验指导,

More information

Microsoft PowerPoint - 6-.pptx

Microsoft PowerPoint - 6-.pptx 基本概念 树的存储结构 树的线性表示 树的遍历 二叉树 二叉树的存储表示 二叉树的各种遍历 线索化二叉树 堆 计算二叉树的数目 二叉树的应用 : 霍夫曼树和霍夫曼编码 本章小结 6.1 基本概念 树是由一个或多个结点组成的有限集 T, 它满足下面两个条件 : 有一个特定的结点, 称之为根结点 ; 其余的结点分成 m (m 0) 个互不相交的有限集 T 0, T 1,, T m-1 其中每个集合又都是一棵树,

More information

<4D F736F F F696E74202D20536C FB5DACBC4D5C220CAF7D3EBB6FEB2E6CAF7205BBCE6C8DDC4A3CABD5D>

<4D F736F F F696E74202D20536C FB5DACBC4D5C220CAF7D3EBB6FEB2E6CAF7205BBCE6C8DDC4A3CABD5D> 第四章树 二叉树 森林 树的基本概念 二叉树 定义 主要特征 存储结构 : 顺序 链式 遍历 线索二叉树 : 基本概念 构造 树 森林 存储结构 : 树 森林与二叉树的转换 遍历 : 树 森林 应用 二叉排序树 Huffman 树和哈夫曼编码 树和有根树 两种树 : 自由树 有根树 树 (Tree) 和森林的概念 自由树无回路的连通图 : 一棵自由树 T f 可定义为一个二元组 T f = (V,

More information

Microsoft Word - 数据结构实训与习题725xdy.doc

Microsoft Word - 数据结构实训与习题725xdy.doc 第一部分学习指导与实训 3 第 2 章线性表 2.1 学习指南 (1) 理解线性表的类型定义, 掌握顺序表和链表的结构差别 (2) 熟练掌握顺序表的结构特性, 熟悉顺序表的存储结构 (3) 熟练掌握顺序表的各种运算, 并能灵活运用各种相关操作 (4) 熟练掌握链式存储结构特性, 掌握链表的各种运算 2.2 内容提要 线性表的特点 : 线性表由一组数据元素构成, 表中元素属于同一数据对象 在线性表中,

More information

中国科学技术大学1995年考研试题.doc

中国科学技术大学1995年考研试题.doc 中国科学技术大学一九九五年招收硕士学位研究生入学考试试题试题名称 : 程序设计 一 选择题 1. 一颗深度为 6 的平衡二叉树, 其每个非终端节点的平衡因子均为 1, 则该树共有 个节点.(2 分 ) a) 14; b) 16; c) 18; d) 20; e) 22; f) 24 2. 一个有 28 条边的非连通无向图, 至少应有 个节点.(2 分 ) a) 6; b) 7; c) 8; d) 9;

More information

<5B BECBB0EDB8AEC1F25D312D34B0AD5FC3E2BCAEBCF6BEF7C0DAB7E F31702E504446>

<5B BECBB0EDB8AEC1F25D312D34B0AD5FC3E2BCAEBCF6BEF7C0DAB7E F31702E504446> : 2 = 3 4? 0 an ordered set of unambiguous, executable steps that produces a result and terminates in a finite time (computational theory) ( ) 5 6 (C-) int min, max; float degree, b; char ch, token; /,,,

More information

幻灯片 1

幻灯片 1 二叉树 汪小林改写 基于张铭 王腾蛟原稿 北京大学信息学院 主要内容 1. 二叉树的概念 2. 二叉树的抽象数据类型 3. 二叉树的存储结构 4. 二叉搜索树 5. 堆与优先队列 6. Huffman 树及其应用 7. 二叉树知识点总结 1 二叉树的概念 二叉树的定义及基本术语 满二叉树 完全二叉树 扩充二叉树 二叉树的主要性质 二叉树的定义 二叉树 (binary tree) 由结点的有限集合构成,

More information

7. 下图中所使用的数据结构是 ( ) 压入 A 压入 B B 弹出 B 压入 C C A A A A A. 哈希表 B. 栈 C. 队列 D. 二叉树 8. 在 Windows 资源管理器中, 用鼠标右键单击一个文件时, 会出现一个名为 复制 的 操作选项, 它的意思是 ( ) A. 用剪切板中的

7. 下图中所使用的数据结构是 ( ) 压入 A 压入 B B 弹出 B 压入 C C A A A A A. 哈希表 B. 栈 C. 队列 D. 二叉树 8. 在 Windows 资源管理器中, 用鼠标右键单击一个文件时, 会出现一个名为 复制 的 操作选项, 它的意思是 ( ) A. 用剪切板中的 第十九届全国青少年信息学奥林匹克联赛初赛 普及组 Pascal 语言试题 竞赛时间 :2013 年 10 月 13 日 14:30~16:30 选手注意 : 试题纸共有 9 页, 答题纸共有 2 页, 满分 100 分 请在答题纸上作答, 写在试题纸上的一律无效 不得使用任何电子设备 ( 如计算器 手机 电子词典等 ) 或查阅任何书籍资料 一 单项选择题 ( 共 20 题, 每题 1.5 分, 共计

More information

一、单项选择题, 共十五小题,每小题2分,全题总分为30分

一、单项选择题, 共十五小题,每小题2分,全题总分为30分 810 华南理工大学 2011 年攻读硕士学位研究生入学考试试卷 ( 请在答题纸上做答, 试卷上做答无效, 试后本卷必须与答题纸一同交回 ) 科目名称 : 物流信息基础 ( 含数据库 数据结构 ) 适用专业 : 物流工程与管理, 物流工程 ( 专业学位 ) 本卷满分 :150 分 共 8 页 说明 : 本卷分为数据库和数据结构共两部分内容, 全卷满分 150 分, 其中数据库部分 满分 75 分,

More information

(Microsoft Word - \265\332\276\305\306\332)

(Microsoft Word - \265\332\276\305\306\332) 考 研 数 学 三 必 知 的 题 型 们 经 常 听 前 讲 要 书 能 死 书, 仅 可 以 用 到 文 类 的 学 科, 对 于 数 学 的 复 是 如 那 对 于 考 研 复 的 学, 如 何 做 到 数 学 的 书 死 书 呢 华 既 然 是 以 考 试 向, 那 在 复 时 就 要 先 确 考 试 的 常 题 型 以 及 对 的 考 察 点 以 数 例 硕 士 研 生 入 学 考 试 数

More information

C/C++ - 文件IO

C/C++ - 文件IO C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;

More information

生成word文档

生成word文档 希赛网, 专注于软考 PMP 通信考试的专业 IT 知识库和在线教育平台 希赛网在线题库, 提供历年考试真题 模拟试题 章节练习 知识点练习 错题本练习等在线做题服务, 更有能力评估报告, 让你告别盲目做题, 针对性地攻破自己的薄弱点, 更高效的备考 希赛网官网 :http://www.educity.cn/ 希赛网软件水平考试网 :http://www.educity.cn/rk/ 希赛网在线题库

More information

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF> 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 考 试 2009 年 上 半 年 软 件 设 计 师 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 请 按 下 述 要 求 正 确 填 写 答 题 纸 1. 在 答 题 纸 的 指 定 位 置 填 写 你 所 在 的 省 自 治 区 直 辖 市 计 划 单 列 市 的 名 称 2. 在 答

More information

Microsoft Word A3.doc

Microsoft Word A3.doc 一 单项选择题 :1~40 小题, 每小题 2 分, 共 80 分 在每小题给出的 选项中, 请选出一项最符合题目要求的 1. 下列排序算法中, 平均时间复杂度最小的是 ( ) A. 归并排序 B. 起泡排序 C. 简单选择排序 D. 直接插入排序 2. 关于线性表的描述正确的是 ( ) A. 采用顺序存储时, 其存储地址必须是连续的 B. 采用链式存储时, 其存储地址必须是连续的 C. 采用顺序存储时,

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章数据结构与算法 数据结构是指数据元素的集合及元素间的相互关系和构造方法, 结构就是元素之间的关系 在数据结构中, 元素之间的相互关系是数据的逻辑结构 按照逻辑关系的不同将数据结构分为线性结构和非线性结构, 其中, 线性结构包括线性表 栈 队列 串, 非线性结构主要包括树和图 数据元素及元素之间关系的存储形式称为存储结构, 可分为顺序存储和链接存储两种基本方式 算法与数据结构密切相关, 数据结构是算法设计的基础,

More information

串 零个或多个字符组成的有限序列 将元素类型限制为字符线性表 具有相同类型的数据元素的有限序列 将元素类型扩充为线性表 ( 多维 ) 数组 线性表中的数据元素可以是线性表 2

串 零个或多个字符组成的有限序列 将元素类型限制为字符线性表 具有相同类型的数据元素的有限序列 将元素类型扩充为线性表 ( 多维 ) 数组 线性表中的数据元素可以是线性表 2 Array Zibin Zheng( 郑子彬 ) School of Data and Computer Science, SYSU http://www.inpluslab.com 课程主页 :http://inpluslab.sysu.edu.cn/dsa2016/ 串 零个或多个字符组成的有限序列 将元素类型限制为字符线性表 具有相同类型的数据元素的有限序列 将元素类型扩充为线性表 ( 多维

More information

一、单项选择题, 共十五小题,每小题2分,全题总分为30分

一、单项选择题, 共十五小题,每小题2分,全题总分为30分 810 华南理工大学 2010 年攻读硕士学位研究生入学考试试卷 ( 请在答题纸上做答, 试卷上做答无效, 试后本卷必须与答题纸一同交回 ) 科目名称 : 物流信息基础 ( 含数据库 数据结构 ) 适用专业 : 物流工程与管理, 物流工程共 6 页说明 : 本卷分为数据库和数据结构共两部分内容, 全卷满分 150 分, 其中数据库部分满分 75 分, 数据结构满分 75 分 一. 数据库部分一. 单项选择题,

More information

!""# $!""%!"&" #

!# $!%!& # !""# $!""%!"&" # !""# +!""(!""#!""$!""$ %"" &!""$ &( ) %# )"# )!!""#!""$!""#!""$ )*"!! !"#" $ % !" #$$%! #" #$$%& " #$$(!% %" #$$(#! (" #$$)#& )" #$$) # *" #$$)%$ &" #$$)%% +" #$$)%&!$" #$$)(#!" #$$%(&

More information

download.kaoyan.com_2006ÄêÌì½ò¹¤Òµ´óѧ¸ß¼¶ÓïÑÔ³ÌÐòÉè¼Æ£¨409£©¿¼ÑÐÊÔÌâ

download.kaoyan.com_2006ÄêÌì½ò¹¤Òµ´óѧ¸ß¼¶ÓïÑÔ³ÌÐòÉè¼Æ£¨409£©¿¼ÑÐÊÔÌâ 考生注意 : 本试卷共七大题, 满分 150 分 考试时间为 3 小时 ; 所有答案均写在答题纸上 ( 注明题号 ), 在此答题一律无效无效 一 选择题 ( 本题共 20 小题, 每小题 2 分, 满分 40 分 ) 1 char ch 1 2 A 0

More information

数据结构

数据结构 第六讲 二叉树 孙猛 http://www.math.pku.edu.cn/teachers/sunm sunmeng@math.pku.edu.cn 2015 年 10 月 22 日 被猜价格 第一次 第二次 第三次 第四次 第五次 第六次 第七次 39 50 25 37 43 40 38 39 82 50 75 88 82 99 50 75 88 94 97 99 2 课程内容 二叉树及其抽象数据类型

More information

A. 2 B. 3 C. 4 D 斐波那契数列的定义如下 :F 1 = 1, F 2 = 1, F n = F n 1 + F n 2 (n 3) 如果用下面的函数计算斐波那契数列的第 n 项, 则其时间复杂度为 ( ) funtion F(n : longint) : longint;

A. 2 B. 3 C. 4 D 斐波那契数列的定义如下 :F 1 = 1, F 2 = 1, F n = F n 1 + F n 2 (n 3) 如果用下面的函数计算斐波那契数列的第 n 项, 则其时间复杂度为 ( ) funtion F(n : longint) : longint; 第十九届全国青少年信息学奥林匹克联赛初赛 提高组 Pascal 语言试题 竞赛时间 :2013 年 10 月 13 日 14:30~16:30 选手注意 : 试题纸共有 12 页, 答题纸共有 2 页, 满分 100 分 请在答题纸上作答, 写在试题纸上的一律无效 不得使用任何电子设备 ( 如计算器 手机 电子词典等 ) 或查阅任何书籍资料 一 单项选择题 ( 共 15 题, 每题 1.5 分, 共计

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 数据结构与算法 ( 五 ) 张铭主讲 采用教材 : 张铭, 王腾蛟, 赵海燕编写高等教育出版社,2008. 6 ( 十一五 国家级规划教材 ) http://www.jpk.pku.edu.cn/pkujpk/course/sjjg 第五章 的概念 的抽象数据类型 深度优先搜索 宽度优先搜索 的存储结构 D B A E G C H F I 二叉搜索树 堆与优先队列 Huffman 树及其应用 2 5.2

More information

一 握手定理的应用 二 平面图 欧拉公式的应用 三 图的基本概念与应用 四 欧拉图和哈密顿图 五 图的着色

一 握手定理的应用 二 平面图 欧拉公式的应用 三 图的基本概念与应用 四 欧拉图和哈密顿图 五 图的着色 图论习题 考研习题与经典习题 2004-5 一 握手定理的应用 二 平面图 欧拉公式的应用 三 图的基本概念与应用 四 欧拉图和哈密顿图 五 图的着色 一 握手定理的应用 1. 已知具有 n 个度数都为 3 的结点的简单图 G 有 e 条边, (1) 若 e=3n-6, 证明 G 在同构意义下唯一, 并求 e,n (2) 若 n=6, 证明 G 在同构意义下不唯一 提示 : 握手定理 ( 北师大 2000

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

PowerPoint Presentation

PowerPoint Presentation 数据结构与数据库 课号 21050301 2012 秋 第五章数组 5.1 数组的定义 5.2 数组的顺序表示和实现 5.3 矩阵的压缩存储 5.3.1 特殊矩阵 5.3.2 稀疏矩阵 2 同理, 一个 n 维数组类型可以定义为其数据元素为 n-1 维数组类型的一维数组类型 数组一旦被定义, 它的维数和维界就不再改变 因此, 除了结构的初始化和销毁之外, 数组只有存取元素和修改元素值的操作 抽象数据类型数组的定义参见教材

More information

《C语言程序设计》第2版教材习题参考答案

《C语言程序设计》第2版教材习题参考答案 教材 C 语言程序设计 ( 第 2 版 ) 清华大学出版社, 黄保和, 江弋编著 2011 年 10 月第二版 ISBN:978-7-302-26972-4 售价 :35 元 答案版本 本习题答案为 2012 年 2 月修订版本 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p = &a A. *p = *a B. p = *a C.p = &a D. *p =

More information

untitled

untitled CHAPTER 02 2 CHAPTER 2-1 2-4 2-2 2-5 2-3 2-6 2-1 2-1-1 2-2 02 int A[3] = {10, 20, 30; A[0] 10 A[1] 20 A[2] 30 int *pa[3], A[3]; C 3 pa pa[0]pa[1]pa[2] 3 A A[0]A[1]A[2] 3 A A[0] A + i A[i] A + i &A[i]*(A

More information

Microsoft PowerPoint - DS_Ch5.ppt [兼容模式]

Microsoft PowerPoint - DS_Ch5.ppt [兼容模式] 数据结构 Ch.5 数组和广义表 计算机学院 肖明军 Email: xiaomj@ustc.edu.cn http://staff.ustc.edu.cn/~xiaomj 多维数组 是最易处理的非线性结构 因为各元素类型一致, 各维上下界固定, 所以它最容易线性化, 故可看做是线性表的拓广 例如 : 二维数组可以看做是由列向量组成的线性表 1. 结构特性 例 : 二维数组, 它属于两个向量 ;i th

More information

2.3 链表

2.3  链表 数据结构与算法 ( 二 ) 张铭主讲 采用教材 : 张铭, 王腾蛟, 赵海燕编写高等教育出版社,2008. 6 ( 十一五 国家级规划教材 ) https://pkumooc.coursera.org/bdsalgo-001/ 第二章线性表 2.1 线性表 2.2 顺序表 tail head a 0 a 1 a n-1 2.4 顺序表和链表的比较 2 链表 (linked list) 通过指针把它的一串存储结点链接成一个链

More information

3 堆栈与队列 (1) 堆栈与队列的基本概念 基本操作 (2) 堆栈与队列的顺序存储结构与链式存储结构的构造原理 (3) 在不同存储结构的基础上对堆栈与队列实施插入与删除等基本操作对应的算法设计 4 串 (1) 串的基本概念 串的基本操作和存储结构 (2) 串的模式匹配算法和改进的 KMP 算法 5

3 堆栈与队列 (1) 堆栈与队列的基本概念 基本操作 (2) 堆栈与队列的顺序存储结构与链式存储结构的构造原理 (3) 在不同存储结构的基础上对堆栈与队列实施插入与删除等基本操作对应的算法设计 4 串 (1) 串的基本概念 串的基本操作和存储结构 (2) 串的模式匹配算法和改进的 KMP 算法 5 中国科学院大学硕士研究生入学考试 计算机原理 考试大纲 本 计算机原理 考试大纲适用于中国科学院大学非计算机科学与技术一级学科下各专业的硕士研究生入学考试 计算机原理是计算机科学与技术及相关学科的重要基础, 主要内容包括数据结构 计算机组成原理和计算机网络 要求考生对计算机科学与技术及相关学科的基本概念有较深入 系统的理解, 掌握各种数据结构的定义和实现算法, 掌握计算机组成原理所涉及的关键内容,

More information

没有幻灯片标题

没有幻灯片标题 指针作为函数参数 : 原因 : 1 需要修改一个或多个值,( 用 return 语句不能解决问题 ) 2 执行效率的角度 使用方法 : 在函数原型以及函数首部中需要声明能够接受指针值的形参, 具体的写法为 : 数据类型 * 形参名 如果有多个指针型形参, 则用逗号分隔, 例如 : void swap(int *p1, int *p2) 它说明了形参 p1 p2 是指向整型变量的指针 在函数调用时,

More information

C 1

C 1 C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=

More information

数据结构导论

数据结构导论 微软中国 数据结构导论 [ 键入文档副标题 ] 微软用户 2009 [ 键入公司地址 ] 目录 第一章概论第二章线性表 第三章栈和队列 第四章串 第五章多维数组 第六章树第七章图 第八章排序 第九章查找 1. 数据 : 信息的载体, 能被计算机识别 存储和加工处理 第一章概论 2. 数据元素 : 数据的基本单位, 可由若干个数据项组成, 数据项是具有独立含义的最小标识单位 3. 数据结构 : 数据之间的相互关系,

More information

什么是函数式编程?

什么是函数式编程? 函数式编程 FUNCTIONAL PROGRAMMING byvoid@byvoid.com 什么是函数式编程? 真相是 从停机问题开始 Bug 假设有停机判定算法 function halting(func, input) { } return if_func_will_halt_on_input; 充分利用停机判定 function ni_ma(func) { if (halting(func,

More information

法 2: 不画图也能快速得出后序序列, 只要找到根的位置特征 由前序先确定 root, 由中序先确定左子树 例如, 前序遍历 BEFCGDH 中, 根结点在最前面, 是 B; 则后序遍历中 B 一定在最后面 法 3: 递归计算 如 B 在前序序列中第一, 中序中在中间 ( 可知左右子树上有哪些元素

法 2: 不画图也能快速得出后序序列, 只要找到根的位置特征 由前序先确定 root, 由中序先确定左子树 例如, 前序遍历 BEFCGDH 中, 根结点在最前面, 是 B; 则后序遍历中 B 一定在最后面 法 3: 递归计算 如 B 在前序序列中第一, 中序中在中间 ( 可知左右子树上有哪些元素 一 下面是有关二叉树的叙述, 请判断正误 () ( )1. 若二叉树用二叉链表作存贮结构, 则在 n 个结点的二叉树链表中只有 n 1 个非空指针域 ( )2. 二叉树中每个结点的两棵子树的高度差等于 1 ( )3. 二叉树中每个结点的两棵子树是有序的 ( )4. 二叉树中每个结点有两棵非空子树或有两棵空子树 ( )5. 二叉树中每个结点的关键字值大于其左非空子树 ( 若存在的话 ) 所有结点的关键字值,

More information

清华大学1995年考研试题.doc

清华大学1995年考研试题.doc 清华大学 1995 年考研试题 一 已知三个带头结的线性链表 A B 和 C 中的结点均已元素值自小至大非递减排列可能存在两个值相同的结点 ), 编写算法对 A 表进行如下操作 : 使操作后的链表 A 中仅留下三个表中均包含的数据元素的结点, 且没有值相同的结点, 并释放所有结点 限定算法的时间复杂度为 O(m+n+p), 其中 m n 和 p 分别为三个表的长度 ( 15 分 ) 二 画出下列广义表的存储结构图,

More information

C/C++ - 函数

C/C++ - 函数 C/C++ Table of contents 1. 2. 3. & 4. 5. 1 2 3 # include # define SIZE 50 int main ( void ) { float list [ SIZE ]; readlist (list, SIZE ); sort (list, SIZE ); average (list, SIZE ); bargragh

More information

Microsoft PowerPoint - DS_Ch6.ppt [兼容模式]

Microsoft PowerPoint - DS_Ch6.ppt [兼容模式] 数据结构 Ch.6 树 计算机学院 肖明军 Email: xiaomj@ustc.edu.c http://staff.ustc.edu.c/~xiaomj Ch.6 树 树形结构 : 二叉树, 树, 森林等 结点间有分支, 具有层次关系 特征 : 每个结点最多只有一个直接前驱, 但可有多个直间后继. 开始结点 根 终端结点 叶 其余结点 内部结点 应用 : 家谱 行政架构等, 计算机系统中的文件目录等

More information

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3 浙江大学 C 程序设计及实验 试题卷 2002-2003 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:30-10:30 注意 : 答题内容必须写在答题卷上, 写在本试题卷上无效 一. 单项选择题 ( 每题 1 分, 共 10 分 ) 1. 下列运算符中, 优先级最低的是 A.

More information

Ps22Pdf

Ps22Pdf ) ,,, :,,,,,,, ( CIP) /. :, 2001. 9 ISBN 7-5624-2368-7.......... TU311 CIP ( 2001) 061075 ( ) : : : : * : : 174 ( A ) : 400030 : ( 023) 65102378 65105781 : ( 023) 65103686 65105565 : http: / / www. cqup.

More information

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式]

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式] Arrays and Strings 存储同类型的多个元素 Store multi elements of the same type 数组 (array) 存储固定数目的同类型元素 如整型数组存储的是一组整数, 字符数组存储的是一组字符 数组的大小称为数组的尺度 (dimension). 定义格式 : type arrayname[dimension]; 如声明 4 个元素的整型数组 :intarr[4];

More information

4-1-5

4-1-5 103 年 度 親 職 教 育 - 節 能 減 碳 愛 地 球 親 子 科 學 營 成 果 報 告 表 計 畫 名 稱 辦 理 學 校 103 年 度 親 職 教 育 - 節 能 減 碳 愛 地 臺 南 市 新 民 國 民 小 學 球 親 子 科 學 營 補 助 金 額 新 臺 幣 1 萬 9,400 元 整 對 象 本 校 低 年 級 家 長 及 學 生 親 子 組 活 動 場 次 1 場 附 件

More information

C/C++语言 - 运算符、表达式和语句

C/C++语言 - 运算符、表达式和语句 C/C++ Table of contents 1. 2. 3. 4. C C++ 5. 6. 7. 1 i // shoe1.c: # include # define ADJUST 7. 64 # define SCALE 0. 325 int main ( void ) { double shoe, foot ; shoe = 9. 0; foot = SCALE * shoe

More information

离散数学

离散数学 The number of spanning trees longhuan@sjtu.edu.cn 树的刻画 树 (Tree): 连通无环图 树的例子 : TT 1 TT 2 TT 3 3 叶子 (leaf) 叶子 (leaf): 图 GG 中度数为 1 的顶点被称为叶子或终点 (end-vertex) 引理 : 对任意树 TT, 如果 TT 2, 则 TT 必含有至少两个终点 证明 : 取 TT

More information

第六章 树

第六章 树 第六章树和二叉树 本章教学知识点与学习要求 :( 课内教学时数 8 学时, 实践教学时数 2 学时 ) (1) 理解树型结构的基本概念和术语 ; (2) 熟练掌握二叉树的定义 性质及相应的证明方法 ; (3) 熟悉二叉树的各种存储结构的特点及适用范围 ; (4) 熟练掌握二叉树的三种遍历算法, 且能灵活运用遍历算法实现二叉树的其他操作 ; (5) 熟练掌握线索化二叉树的过程, 以及在中序线索化树上找给定结点的前驱和后继

More information

Microsoft PowerPoint - 2线性表.ppt [兼容模式]

Microsoft PowerPoint - 2线性表.ppt [兼容模式] 2 线性表 董洪伟 http://hwdong.com 1 主要内容 线性表的类型定义 即抽象数据类型 顺序实现 即用一连续的存储空间来表示 链式实现 即用链表实现 一元稀疏多项式 链表实现 2 线性表的类型定义 线性表 n 个元素的有限序列 数据项 元素 ( 记录 ) 姓名 学号 性别 年龄 班级 健康状况 王小林 790631 男 18 计 91 健康 陈红 790632 女 20 计 91 一般

More information

数据结构&算法导学

数据结构&算法导学 wu 数据结构 & 算法导学 answer 08 目录 第一章概论... 3 第二章 线性表... 4 第三章 栈和队列... 8 第四章 串... 15 第五章 多维数组和广义表... 18 第六章 树... 20 第七章 图... 23 第八章 排序... 26 第九章 查找... 28 第十章 文件... 32 ( 后附网友学习经验总结 ) 第一章概论 1. 数据 : 信息的载体, 能被计算机识别

More information

2

2 孙猛 http://www.math.pku.edu.cn/teachers/sunm 2017 年 9 月 18 日 课程主 页 : http://www.math.pku.edu.cn/teachers/sunm/ds2017/ 作业通过 course.pku.edu.cn 提交 2 线性表的概念和抽象数据类型 顺序表示 链接表示 3 4 线性表 ( 简称为表 ) 是零个或多个元素的有穷序列列

More information

おおさか経済の動き pwd

おおさか経済の動き pwd http://www.pref.osaka.jp/aid/sangyou/index.html 100 90 80 70 1 2 3 4 5 6 7 8 9 101112 1 2 3 4 5 6 7 8 9 101112 1 2 3 4 5 6 7 8 9 101112 H22 H23 H24-5 -10-15 5 0 10 1 2 3 4 5 6 7 8 9 101112 1 2 3 4 5 6

More information