数据结构
数据结构题目
鷸鰥
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
DS哈希查找—线性探测再散列
定义哈希函数为Hkeykey11,输入表长(大于、等于11)。输入关键字集合,用线性探测再散列构建哈希表,并查找给定关键字。原创 2024-01-28 23:41:00 · 1280 阅读 · 0 评论 -
DS哈希查找与增补(表尾插入)
给出一个数据序列,建立哈希表,采用求余法作为哈希函数,模数为11,哈希冲突用链地址法和表尾插入如果首次查找失败,就把数据插入到相应的位置中实现哈希查找与增补功能。原创 2024-01-28 23:37:12 · 461 阅读 · 0 评论 -
DS排序--简单选择排序
给出一个数据序列,使用简单选择排序算法进行升序排序。原创 2024-01-28 23:58:57 · 600 阅读 · 0 评论 -
DS内排—2-路归并排序
输入一组字符串,用2-路归并排序按字典顺序进行降序排序。原创 2024-01-28 23:50:51 · 467 阅读 · 0 评论 -
DS哈希查找—二次探测再散列
定义哈希函数为Hkeykey11。输入表长(大于、等于11),输入关键字集合,用二次探测再散列构建哈希表,并查找给定关键字。原创 2024-01-28 23:44:04 · 1551 阅读 · 0 评论 -
DS内排—直插排序
∗∗给定一组数据,使用直插排序完成数据的升序排序。∗∗。原创 2024-01-28 23:46:14 · 456 阅读 · 0 评论 -
DS排序--快速排序
给出一个数据序列,使用快速排序算法进行从小到大的排序。原创 2024-01-28 23:53:18 · 418 阅读 · 0 评论 -
DS排序--希尔排序
给出一个数据序列,使用希尔排序算法进行降序排序。间隔gap使用序列长度循环除2直到1。原创 2024-01-28 23:55:36 · 435 阅读 · 0 评论 -
DS--冒泡排序
给定一个包含从0到n−1各一次的数组,若使用冒泡排序将其排为升序,问其中需要进行多少次交换。原创 2024-01-28 23:48:49 · 426 阅读 · 0 评论 -
两个有序序列的中位数
已知有两个等长的非降序序列S, S, 设计函数求S与S并集的中位数。有序序列A,A,⋯,A的中位数指A的值,即第[(N+1)/2]个数(A为第1个数)。只需考虑中位数唯一的情况。原创 2024-01-24 23:56:41 · 1362 阅读 · 0 评论 -
DS静态查找之顺序查找
给出一个队列和要查找的数值,找出数值在队列中的位置,队列位置从1开始要求使用带哨兵的顺序查找算法。原创 2024-01-24 23:44:13 · 428 阅读 · 0 评论 -
DS静态查找之折半查找
给出一个队列和要查找的数值,找出数值在队列中的位置,队列位置从1开始要求使用折半查找算法。原创 2024-01-24 23:46:37 · 428 阅读 · 0 评论 -
DS图—最小生成树
根据输入创建无向网。分别用Prim算法和Kruskal算法构建最小生成树。(假设:输入数据的最小生成树唯一。原创 2024-01-24 23:34:50 · 406 阅读 · 0 评论 -
DS二叉排序树之创建和插入
给出一个数据序列,建立二叉排序树,并实现插入功能。在建立和插入操作后,都输出二叉树的先序遍历结果i。原创 2024-01-25 00:00:13 · 882 阅读 · 0 评论 -
DS静态查找之顺序索引查找
给出一个队列和要查找的数值,找出数值在队列中的位置,队列位置从1开始要求使用顺序索引查找算法,其中索引表查找和块内查找都采用不带哨兵、从头开始的顺序查找方法。原创 2024-01-24 23:51:31 · 474 阅读 · 0 评论 -
DS森林叶子编码
给定一组森林,编写程序生成对应的二叉树,输出这颗二叉树叶结点对应的二进制编码.规定二叉树的左边由0表示,二叉树的右边由1表示。原创 2024-01-24 23:00:18 · 420 阅读 · 0 评论 -
DS二叉排序树之查找
给出一个数据序列,建立二叉排序树,并实现查找功能。原创 2024-01-25 00:05:24 · 416 阅读 · 0 评论 -
图综合练习--拓扑排序
已知有向图,顶点从0开始编号,求它的求拓扑有序序列。拓扑排序算法:给出有向图邻接矩阵1.逐列扫描矩阵,找出入度为0且编号最小的顶点v2.输出v,并标识v已访问3.把矩阵第v行全清0重复上述步骤,直到所有顶点输出为止。原创 2024-01-24 23:41:21 · 529 阅读 · 0 评论 -
图综合练习--构建邻接表
输出每个图的邻接表,每行输出格式:数组下标 顶点编号-连接顶点下标-…-^,数组下标从0开始。具体格式请参考样例数据,每行最后加入“^”表示NULL。第2行输入n和k,表示该图有n个顶点和k条弧。第4行起输入k条弧的起点和终点,连续输入k行。第1行输入整数t,表示有t个图。第3行输入n个顶点。以此类推输入下一个图。原创 2024-01-24 23:23:56 · 430 阅读 · 0 评论 -
DS树--二叉树之最大路径
给定一颗二叉树的逻辑结构(先序遍历的结果,空树用字符‘0’表示,例如AB0C00D00),建立该二叉树的二叉链式存储结构二叉树的每个结点都有一个权值,从根结点到每个叶子结点将形成一条路径,每条路径的权值等于路径上所有结点的权值和。编程求出二叉树的最大路径权值。如下图所示,共有4个叶子即有4条路径,路径1权值=5 + 4 + 11 + 7 = 27路径2权值=5 + 4 + 11 + 2 = 22路径3权值=5 + 8 + 13 = 26路径4权值=5 + 8 + 4 + 1 = 18。原创 2024-01-24 23:16:44 · 444 阅读 · 0 评论 -
邻接表存储图的广度优先遍历
试实现邻接表存储图的广度优先遍历。原创 2024-01-24 23:26:41 · 567 阅读 · 0 评论 -
DS哈希查找--链地址法(表头插入)
给出一个数据序列,建立哈希表,采用求余法作为哈希函数,模数为11,哈希冲突用链地址法和表头插入如果首次查找失败,就把数据插入到相应的位置中实现哈希查找功能。原创 2024-01-25 00:09:35 · 772 阅读 · 0 评论 -
DS图—图的邻接矩阵存储及度计算
假设图用邻接矩阵存储。输入图的顶点信息和边信息,完成邻接矩阵的设置,并计算各顶点的入度、出度和度,并输出图中的孤立点(度为0的顶点)原创 2024-01-24 23:21:37 · 452 阅读 · 0 评论 -
邻接矩阵存储图的深度优先遍历
试实现邻接矩阵存储图的深度优先遍历。原创 2024-01-24 23:30:10 · 513 阅读 · 0 评论 -
DS图—图的连通分量
输入无向图顶点信息和边信息,创建图的邻接矩阵存储结构,计算图的连通分量个数。原创 2024-01-24 23:32:20 · 385 阅读 · 0 评论 -
DS单链表--结点交换
用C++实现含头结点的单链表,然后实现单链表的两个结点交换位置。注意不能简单交换两个结点包含数据,必须通过修改指针来实现两个结点的位置交换交换函数定义可以参考:swapNode(int pa, int pb) //pa和pb表示两个结点在单链表的位置序号swapNode (ListNode * p, ListNode * q) //p和q表示指向两个结点的指针。原创 2024-01-21 22:30:11 · 467 阅读 · 0 评论 -
DS单链表--合并
假定两个单链表是递增有序,定义并实现以下函数,完成两个单链表的合并,继续保持递增有序。原创 2024-01-21 22:33:33 · 680 阅读 · 0 评论 -
DS顺序表--连续操作
建立顺序表的存储结构,属性包括:数组、实际长度、最大长度(设定为1000)编写如下函数实现顺序表的初始化函数。插入多个数据的multiinsert(int i, int n, int item[])函数,实现在第i个位置,连续插入来自数组item的n个数据,即从位置i开始插入多个数据。删除多个数据的multidel(int i, int n)函数,实现从第i个位置开始,连续删除n个数据,即从位置i开始删除多个数据。编写main函数测试该顺序表。原创 2024-01-21 22:19:24 · 415 阅读 · 0 评论 -
DS顺序表--存储结构与操作
实现顺序表的存储结构和操作属性包括:数组、实际长度、最大长度(设定为1000)操作包括:创建、插入、删除、查找。原创 2024-01-21 22:12:52 · 884 阅读 · 0 评论 -
DS顺序表之循环移位
顺序表的移位是循环移位,例如顺序表:1,2,3,4,5,6。如果左移1位,即原来的头元素移动到末尾,其它元素向左移1位,变成2,3,4,5,6,1。同理,如果右移1位,即原来的尾元素移动到头,其它元素向右移1位,变成6,1,2,3,4,5。以下是移位的多个例子:原数据:1,2,3,4,5,6左移3位:4,5,6,1,2,3,与原数据对比右移4位:3,4,5,6,1,2,与原数据对比请编写程序实现顺序表的循环移位操作。原创 2024-01-21 22:25:02 · 426 阅读 · 0 评论 -
DS线性表—多项式相加
对于一元多项式p(x)=p0+p1x+p2x2+…+pnxn,每个项都有系数和指数两部分,例如p2x2的系数为p2,指数为2。编程实现两个多项式的相加。例如5+x+2x2+3x3,-5-x+6x2+4x4,两者相加结果:8x2+3x3+4x4其中系数5和-5都是x的0次方的系数,相加后为0,所以不显示。x的1次方同理不显示。要求用单链表实现。原创 2024-01-21 22:42:35 · 448 阅读 · 0 评论 -
DS堆栈--逆序输出(STL栈使用)
C++中已经自带堆栈对象stack,无需编写堆栈操作的具体实现代码。本题目主要帮助大家熟悉stack对象的使用,然后实现字符串的逆序输出输入一个字符串,按字符按输入顺序压入堆栈,然后根据堆栈后进先出的特点,做逆序输出stack类使用的参考代码n包含头文件:#includen创建一个堆栈对象s(注意stack是模板类):stack s;//堆栈的数据类型是字符型n把一个字符ct压入堆栈:s.push(ct);n把栈顶元素弹出:s.pop();原创 2024-01-21 22:49:17 · 594 阅读 · 0 评论 -
DS单链表--存储结构与操作
实现含头结点的单链表属性包括:data数据域、next指针域操作包括:插入、删除、查找注意:单链表不是数组,所以位置从1开始对应首结点,头结点不放数据。原创 2024-01-21 22:27:24 · 971 阅读 · 0 评论 -
DS树--二叉树高度
给出一棵二叉树,求它的高度。注意,二叉树的层数是从1开始。原创 2024-01-22 11:05:58 · 488 阅读 · 0 评论 -
二叉树构建与两种遍历
给定一颗二叉树的逻辑结构如下图,(先序遍历的结果,空树用字符‘0’表示,例如AB0C00D00),建立该二叉树的二叉链式存储结构,并输出该二叉树的先序遍历结果。原创 2024-01-22 10:15:15 · 605 阅读 · 0 评论 -
DS二叉树--层次遍历
层次遍历二叉树,是从根结点开始遍历,按层次次序“自上而下,从左至右”访问树中的各结点。建树方法采用“先序遍历+空树用0表示”的方法建议使用队列结构实现,算法框架如下:定义一个空白队列和一个树结点指针p设T是指向根结点的指针变量,若二叉树为空,则返回;否则,令p=T,p入队,执行以下循环:(1)队首元素出队到p;(2)访问p所指向的结点;(3)p所指向的结点的左、右子结点依次入队。(4)跳转步骤1循环,直到队列空为止例如把上述算法中的访问操作定义为输出,算法结果就是把二叉树按层次遍历输出。原创 2024-01-22 10:29:00 · 457 阅读 · 0 评论 -
DS二叉树--基于数组存储的构建
任意二叉树可以根据完全二叉树性质保存在一个数组中。已知二叉树的数组存储,用程序构建该二叉树。提示:用递归方法或非递归都可以。原创 2024-01-22 12:57:40 · 464 阅读 · 0 评论 -
DS二叉树--叶子数量
计算一颗二叉树包含的叶子结点数量。提示:叶子是指它的左右孩子为空。建树方法采用“先序遍历+空树用0表示”的方法,即给定一颗二叉树的先序遍历的结果为AB0C00D00,其中空节点用字符‘0’表示。则该树的逻辑结构如下图。原创 2024-01-22 10:21:06 · 453 阅读 · 0 评论 -
二叉树孩子链表法之找家人
给出二叉树的孩子链表表示法,根据输入要求,找指定结点的双亲或孩子。原创 2024-01-22 11:11:00 · 755 阅读 · 0 评论 -
DS队列之银行排队
在银行营业大厅共服务3种客户,类型为A\B\C,大厅分别设置了3个窗口分别服务三种客户,即每个窗口只服务一种客户。现有一批客户来银行办理业务,每个客户都有类型和办理业务时间。每个窗口按照客户到来的顺序进行服务。编程实现它们的办理流程,请使用C++自带的queue队列queue的用法如下:1.包含头文件:#include < queue >2.定义一个整数队列对象:queue myQe;3.定义一个整数队列对象数组:queue myQA[10];4.入队操作:myQe.push(itemp);原创 2024-01-21 23:16:43 · 580 阅读 · 0 评论
分享