- 博客(10)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 2019年北邮803数据结构大题解答
2019年北邮803数据结构大题解答41(11分)编程实现将带头结点的单链表中两两相邻的结点置逆。例如链表有1、2、3、4四个结点,置逆为2、1、4、3;又如链表1、2、3、4、5五个结点,置逆为2、1、4、3、5typedef struct node{ elemtype data; struct node *next;}*list; void Reverse(list H){ if...
2019-12-11 22:49:57
1093
1
原创 顺序表的增删改查操作——增
#include<iostream>using namespace std;#define maxSize 100typedef struct{ int data[maxSize]; int length;}Sqlist;//定义一个顺序表int findElem(Sqlist L,int x);void insertElem(Sqlist &L,int x);int main(){ Sqlist L; L.length=8; in...
2020-06-24 16:16:35
497
1
原创 B树和B+树以及常考应用
考点如下1.B树的特点2.B树的建立,插入,删除操作3.B+树的特点1.B树的特点B树,又称多路平衡查找树,B树中所有结点的孩子结点数的最大值称为B树的阶,通常用m表示一棵m阶B树 可以是空树,也可以是满足下列特点的m叉树1.树中每个结点至多有m棵子树(即至多含有m-1个关键字)2.若根结点不是终端结点,则至少有2棵子树3.除根结点外的所有非叶结点至少有(m/2)(向上取整)...
2019-11-11 10:25:48
609
原创 编程实现将带头结点的单链表中两两相邻的结点置逆。例如链表有1、2、3、4四个结点,置逆为2、1、4、3;又如链表有1、2、3、4、5五个结点,置逆为2、1、4、3、5
今天和大家分享一道2019年803的编程题:题目如下:编程实现将带头结点的单链表中两两相邻的结点置逆。例如链表有1、2``、3、4四个结点,置逆为2、1、4、3;又如链表有1、2、3、4、5五个结点,置逆为2、1、4、3、5题目给出了链表的数据结构typedef struct node{ elemtype data; struct node *next;}*list; void Re...
2019-10-10 16:35:46
445
原创 一个关键字为L(L>=1)的升序序列S,处在第L/2(取整)个位置的数称为S的中位数。例如,若序列S1=(11,13,15,17,19)则S1的中位数为15,若两个序列的中位数是含它们##
一个关键字为L(L>=1)的升序序列S,处在第L/2(取整)个位置的数称为S的中位数。例如,若序列S1=(11,13,15,17,19)则S1的中位数为15,若两个序列的中位数是含它们所有元素的升序序列的中位数。例如,若S2=(2,4,6,8,20),则S1和S2的中位数是11.现在有两个等长升序序列A和B,试设计一个在时间和空间两方面都尽可能高效的算法,找出两个序列A和B的中位数。首先这...
2019-09-20 23:29:58
8235
9
原创 已知一个带有表头的单链表,结点结构为data-link,假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。
今天和大家分享一道2009年代码为408的一道真题:已知一个带有表头的单链表,结点结构为data-link,假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1,否则,只返回0.。评分标准:如果能一次遍历找出k,得满分15,超过一次遍历最高得10分下面我们直接来...
2019-09-16 17:38:06
15568
5
原创 二叉树的初始化以及二叉树的前序遍历,中序遍历,后序遍历的递归和非递归算法
前几天回家过中秋,我一直在想二叉树的3种遍历方法,今天在图书馆自习的时候想出来了,现在我跟大家先分享一下二叉树的3种遍历的递归算法,递归算法很简单,关键在于理解二叉树遍历的核心思想,话不多说,我们直接看代码:#include<iostream>#include<queue> using namespace std;struct TreeNode{ int val;...
2019-09-15 21:25:50
362
原创 利用递归和非递归算法实现斐波拉切数列
我们都知道递归算法是基于函数反复的调用,但是当函数的调用到达一定的次数之后,程序运行效率就会明显下降。所以在一般情况下,非递归的算法都是要优于递归算法的。今天和大家分享一个常见的例子,如何运用递归和非递归算法实现呢?下面我们直接来看代码:首先我们来看递归算法:#include<iostream>using namespace std;int fun(int a);int ma...
2019-09-10 09:36:41
1079
原创 给定一个可能含有重复值的数组 arr,找到每一个 i 位置左边和右边离 i 位置最近且值比 arr[i] 小的位置。返回所有位置相应的信息。
题目是:给定一个可能含有重复值的数组 arr,找到每一个 i 位置左边和右边离 i 位置最近且值比 arr[i] 小的位置。返回所有位置相应的信息。我的思路是:用一个栈来存储arr[i]左边的数组,用另一个栈存储arr[i]右边的数组,然后从两个栈顶分别与arr[i]存放的数值比较,若相等,则输出第一个比arr[i]小的数对应的数列序号下面是我写的代码#include<iostream...
2019-08-04 21:15:35
2419
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人