自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 6-2 线性探测法的查找函数

试实现线性探测法的查找函数。函数接口定义:Position Find( HashTable H, ElementType Key );其中HashTable是开放地址散列表,定义如下:#define MAXTABLESIZE 100000 /* 允许开辟的最大散列表长度 */typedef int ElementType; /* 关键词类型用整型 */typedef int Index; /* 散列地址类型 */typedef Index Position;

2020-11-26 15:30:21 3176

原创 6-1 二分查找

本题要求实现二分查找算法。函数接口定义:Position BinarySearch( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXSIZE]; Position Last; /* 保存线性表中最后一个元素的位置 */};L是用户传入的一个线性表,其中ElementType元素可以

2020-11-26 15:17:40 532

原创 邻接表存储图的广度优先遍历

试实现邻接表存储图的广度优先遍历。函数接口定义:void BFS ( LGraph Graph, Vertex S, void (*Visit)(Vertex) );其中LGraph是邻接表存储的图,定义如下:/* 邻接点的定义 */typedef struct AdjVNode *PtrToAdjVNode; struct AdjVNode{ Vertex AdjV; /* 邻接点下标 */ PtrToAdjVNode Next; /* 指向下一个邻接点的指针

2020-11-26 15:16:15 848 1

原创 邻接矩阵存储图的深度优先遍历

试实现邻接矩阵存储图的深度优先遍历。函数接口定义:void DFS( MGraph Graph, Vertex V, void (*Visit)(Vertex) );其中MGraph是邻接矩阵存储的图,定义如下:typedef struct GNode *PtrToGNode;struct GNode{ int Nv; /* 顶点数 */ int Ne; /* 边数 */ WeightType G[MaxVertexNum][MaxVertexNum]; /* 邻

2020-11-26 14:28:22 422

原创 求二叉树高度

本题要求给定二叉树的高度。函数接口定义:int GetHeight( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};要求函数返回给定二叉树BT的高度值。裁判测试程序样例:#include <stdio.h&gt

2020-11-26 13:59:45 304

原创 是否二叉搜索树

本题要求实现函数,判断给定二叉树是否二叉搜索树。函数接口定义:bool IsBST ( BinTree T );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};函数IsBST须判断给定的T是否二叉搜索树,即满足如下定义的二叉树:定义:一个二叉搜索

2020-11-25 23:14:55 92

原创 先序输出叶结点

本题要求按照先序遍历的顺序输出给定二叉树的叶结点。函数接口定义:void PreorderPrintLeaves( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};函数PreorderPrintLeaves应按照先序遍历的

2020-11-25 23:01:25 2032

原创 另类堆栈

在栈的顺序存储实现中,另有一种方法是将Top定义为栈顶的上一个位置。请编写程序实现这种定义下堆栈的入栈、出栈操作。如何判断堆栈为空或者满?函数接口定义:bool Push( Stack S, ElementType X );ElementType Pop( Stack S );其中Stack结构定义如下:typedef int Position;typedef struct SNode *PtrToSNode;struct SNode { ElementType *Data; /*

2020-11-25 17:00:14 90

原创 递增的整数序列链表的插入

本题要求实现一个函数,在递增的整数序列链表(带头结点)中插入一个新整数,并保持该序列的有序性。函数接口定义:List Insert( List L, ElementType X );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef PtrToNode List;

2020-11-25 16:35:50 5424

原创 书面作业: 第八章 检索

判断1-1把数组中元素按某种顺序排列的过程叫做查找 。1-2将N个数据按照从小到大顺序组织存放在一个单向链表中。如果采用二分查找,那么查找的平均时间复杂度是O(logN)。1-3在一棵二叉搜索树上查找63,序列39、101、25、80、70、59、63是一种可能的查找时的结点值比较序列。1-4二叉搜索树的查找和折半查找的时间复杂度相同。1-8(neuDS)由顺序表和单链表表示的有序表均可使用二分查找法来提高查找速度。1-6在散列表中,所谓同义词就是具有相同散列地址的两个元素。1-5

2020-11-24 20:38:30 1305

原创 书面作业: 第七章 排序

判断1-1仅基于比较的算法能得到的最好的“最坏时间复杂度”是O(NlogN)。1-2对N个记录进行简单选择排序,比较次数和移动次数分别为O(N2)和O(N)。1-3对N个不同的数据采用冒泡排序进行从大到小的排序,当元素基本有序时交换元素次数肯定最多。1-4要从50个键值中找出最大的3个值,选择排序比堆排序快。1-5对N个记录进行快速排序,在最坏的情况下,其时间复杂度是O(NlogN)。1-6(neuDS)直接插入排序算法在最好情况下的时间复杂度为O(n)。1-7对N个不同的数据采

2020-11-24 19:58:28 2587

原创 书面作业: 第六章 图

判断1-1无向连通图边数一定大于顶点个数减1。1-2在任一有向图中,所有顶点的入度之和等于所有顶点的出度之和。1-3Prim 算法是通过每步添加一条边及其相连的顶点到一棵树,从而逐步生成最小生成树。1-4如果无向图G必须进行两次广度优先搜索才能访问其所有顶点,则G一定有2个连通分量。1-5用邻接矩阵法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关。1-6Kruskal 算法是通过每步添加一条边及其相连的顶点到一棵树,从而逐步生成最小生成树。1-7在一个有向图中,所有顶

2020-11-23 14:47:01 1389

原创 书面作业: 第五章 树与二叉树

判断1-1如果完全二叉树从根结点开始按层次遍历的输入序列为1,2,3,4,5,6,7,则该完全二叉树是二叉排序树。1-2二叉树是一种特殊的树。1-3用链表(llink-rlink)存储包含n个结点的二叉树,结点的2n个指针区域中有n-1个空指针。1-4完全二叉树中,若一个结点没有左孩子,则它必是树叶。1-5将一棵完全二叉树存于数组中(根结点的下标为1)。则下标为23和24的两个结点是兄弟。1-6在一棵由包含4、5、6等等一系列整数结点构成的二叉搜索树中,如果结点4和6在树的同一层,那

2020-11-22 14:24:33 6340

原创 书面作业: 第四章 字符串

判断1-1(neuDS_C++)空串与空格串是相同的。1-2重载运算符可以保持原运算符的优先级和结合性不变。1-3如果strcmp(s1,s2)返回的结果为0,表示字符串s1和s2不相同。1-4调用strcmp函数比较字符串大小时,通常较长的字符串会较大。1-5字符串在内存中的起始地址称为字符串的指针,可以定义一个字符指针变量指向一个字符串。1-6字符串常量就是用一对双引号括起来的字符序列,它有一个结束标志’\0’。1-7字符串常量在内存中的存放位置由系统自动安排。1-8指针

2020-11-19 15:23:33 2498

原创 书面作业: 第三章 栈与队列

判断1-1n个元素通过一个栈产生n个元素的出栈序列,其中进栈和出栈操作的次数总是相等的。1-2通过对堆栈S操作:Push(S,1), Push(S,2), Pop(S), Push(S,3), Pop(S), Pop(S)。输出的序列为:123。1-3若采用“队首指针和队尾指针的值相等”作为环形队列为空的标志,则在设置一个空队时只需将队首指针和队尾指针赋同一个值,不管什么值都可以。1-4顺序栈中元素值的大小是有序的。1-5环形队列中有多少个元素可以根据队首指针和队尾指针的值来计算1-6

2020-11-18 21:04:19 6297

原创 书面作业: 第二章 线性表

判断1-1线性表中每个元素都有一个直接前趋和一个直接后继。1-2循环链表不是线性表。1-3在具有头结点的链式存储结构中,头指针指向链表中的第一个元素结点。1-4(neuDS)所谓随机存取,就是通过首地址和元素的位序号值可以在O(1)的时间内找到指定的元素。1-5若用链表来表示一个线性表,则表中元素的地址一定是连续的。1-6对于顺序存储的长度为N的线性表,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。1-7(neuDS)线性表的唯一存储形式是链表。下列函数试图求链式

2020-11-17 14:40:04 3030

原创 书面作业: 第一章 概论

判断1-1(neuDS)数据的物理结构是指数据在计算机中的实际存储形式。1-2数据的逻辑结构是指数据的各数据项之间的逻辑关系。1-3《数据结构》是一门研究数值计算的程序设计问题的学科 。1-4(neuDS)算法必须有输出,但可以没有输入。1-5数据结构的抽象操作的定义与具体实现有关。1-6O(n​​²),O(1+2+···+n) 对应的算法时间复杂度相同。1-7数据的逻辑结构与数据元素本身的内容和形式无关。1-82N和​NN具有相同的增长速度。1-9算法分析的两个主要方面

2020-11-15 21:32:04 1292 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除