数据结构测试卷
发表于|更新于
|总字数:0|阅读时长:1分钟|浏览量:
文章作者: insistgang
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Leo的笔记本!
相关推荐
2022-08-10
第三章串数组广义表
第三章串数组广义表大于输入年份且四位不同的数字123456789101112131415161718192021222324252627282930313233343536#include<iostream>using namespace std;int y;int cnt[4];int vis[10];void change(int year){ int n=year; int i=0; while(n){ cnt[i++]=n%10; n/=10; }}bool check(int year){ change(year); for(int i=0;i<10;i++) vis[i]=0; for(int i=0;i<4;i++) if(vis[cnt[i]]==0) vis[cnt[i]]=1; else{ return false; ...
2022-08-10
第二章栈和队列
第二章栈和队列栈的基本操作123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990const int maxSize=100010;//顺序栈typedef struct{ ElemType data[maxSize];//存放栈中元素 int top;//存放栈顶指针}SqStack;/*链式栈 入栈和出栈都在表头执行,相当于只处理表头一端的单链表出栈:相当于删除链表的一个结点入栈:相当于头插法插入结点*/typedef struct LinkNode{ ElemType data; struct LinkNode *next;}*LiStack;/*共享栈:利用栈底位置相对不变的特性,让两个顺序栈共享一个数组空间,将两个栈底设置在数...
2022-08-10
第七章排序
七、排序1.时间复杂度 平均情况下,快排,希尔排序(复杂度了解即可)、归并排序和堆排序的复杂度为O(nlog²n),其他都是O(n²)。一个特殊的是计数排序,其复杂度为O(n*k) 最坏情况下,快速排序的为O(n²),其他都和平均情况下相同 2.空间复杂度 快排O(nlog²n),归并O(n),基数O(n+k),其他都是O(1) 快排、希尔、简单选择、堆排序是不稳定的,其余均为稳定的。 插入排序时间复杂度:最好O(n) 最坏O(n²) 平均O(n²) 空间复杂度:O(1) 稳定 直接插入排序1234567891011void InsertSort(int arr[],int n){ for(int i = 1; i < n;i++){ int t = arr[i];//t等于当前元素 int j = i;//j从当前元素开始往前看 while(j&&t < arr[j-1]){//j>0且前一个元素也是大于t的时候 arr[j] = arr[j-1...
2022-08-10
第六章查找
六、查找顺序查找123456int Search(int a[],int n,int k){ for(int i = 1;i <= n; ++i) if(a[i] == k) return 1; return 0;} 折半查找(二分查找)时间复杂度: 12345678910111213int BSearch(int a[],int l,int r,int k){ int mid; while(l < r){ mid = (l + r) / 2; if(a[mid] == k) return mid; if(a[mid] > k) r = mid - 1; else l = mid + 1; } return 0;} 分块查找时间复杂度: 123456789101112131415161718192021222...
2022-08-10
第五章图
第五章图邻接矩阵基本思想:vexNum表示顶点数量,arcNum表示边数量,edges表示边(1或者权值) 1234struct MGraph{ int edge[Maxn][Maxn];//存储边 edge[i][j]=MAXN 表示两个顶点不通 int vexNum,arcNum;}; 邻接表123456789101112struct ArcNode{ //边结构 int adjvex;//顶点编号一条边里 被指向的那个顶点 ArcNode *next;//指针};struct VNode{ //顶点结构 int data;//顶点信息 ArcNode *firstarc;};struct AGraph{ //表 VNode adjlist[Maxn];//存储所有顶点链表 存了所有顶点 以及他们所指向的边 int vexNum,arcNum;}; 图的遍历图的深度优先遍历思想:1.首先,访问开始结点从起始结点开始任选一个相邻并未被访问的结点,访问; 2.接着,把找到的结点作为...
2022-08-10
专业课数据结构部分合集
评论
ValineDisqus







