
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
参考书目:《2022年 数据结构 考研复习指导》王道论坛 组编1. 从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。算法思想:搜索整个顺序表,查找最小值元素并记住其位置,搜索结束后用最后一个元素填补空出的原最小值元素的位置。#include<iostream>using namespace std
《数据结构》上机实验(第二章) Ⅲ15. 已知两个链表A和B分别表示两个集合,其元素递增排列。编制函数,求A与B的交集,并存放于A链表中。算法思想:第8题(2)该题与14题的区别是,14题中要求不破坏A、B的结点,那么应该将结果放入新链表C中,而此题可以修改A、B中某条链表,从而不开辟新空间。14题的空间复杂度为:O(m+n),其中m、n分别为两个链表的长度;该题的空间复杂度为:O(1)。16.
9. 设一棵二叉树中各结点的值互不相同,其先序遍历序列和中序遍历序列分别存于两个一维数组A[1…n]和B[1…n]中,建立该二叉树的二叉链表。算法思想:在这里插入代码片运行结果10. 二叉树按二叉链表形式存储,写一个判别给定二叉树是否是完全二叉树的算法。算法思想:在这里插入代码片运行结果...
图的存储及基本操作
图的基本运算算法(graph.cpp)#include <stdio.h>#include <malloc.h>//图的两种存储结构#define INF 32767//定义∞#defineMAXV 100//最大顶点个数typedef char InfoType;//以下定义邻接矩阵类型typedef struct{int no;//顶点编号InfoType info;/
数据结构-串(第四章)的整理笔记,若有错误,欢迎指正。
数据结构-栈(Ⅳ)共享栈利用栈底位置相对不变的特性,可让两个顺序栈共享一个一维数组空间,将两个栈的栈底分别设置在共享空间的两端,两个栈顶向共享空间的中间延伸。共享栈是为了更有效地利用存储空间,两个栈的空间相互调节,只有在整个存储空间被占满时才发生上溢。其存取数据的时间复杂度均为O(1),所以对存取效率没有什么影响。栈空条件:栈0空为top0==-1;栈1空为top==MaxSize。栈满条件:to
顺序表基本运算算法(seqlist.cpp)#include <stdio.h>#define MAXL 100//最大长度typedef int KeyType;//定义关键字类型为inttypedef char InfoType;typedef struct{KeyType key;//关键字项InfoType data;//其他数据项,类型为InfoType} RecType;/
1. 已知A[0…n-1]为整数数组,设计一个递归算法求这n个元素的平均值。A[0…n-1]共有n个元素。当n=1时,有一个元素,即A[0]。平均值为A[0];当n=2时,有两个元素,即A[0]、A[1]。平均值为A[0]×1+A[1]2\frac{A[0]×1+A[1]}{2}2A[0]×1+A[1]。当n=3时,有三个元素,即A[0]、A[1]、A[2]。平均值为A[0]+A[1]2×2+A
Kruskal(克鲁斯卡尔)算法#include "graph.cpp"#define MaxSize 100typedef struct{int u;//边的起始顶点int v;//边的终止顶点int w;//边的权值} Edge;void InsertSort(Edge E[],int n) //对E[0..n-1]按递增有序进行直接插入排序{int i,j;Edge temp;for (i=