- 博客(8)
- 收藏
- 关注
原创 吉林大学2023数据结构《第四次上机实验》解题报告
我用的map模拟的稀疏矩阵,定义了map<int,int>x[51000];将所有输入的字符串的所有前缀全部变为对应的哈希值,然后将哈希值存入map当中,后面查找时,将要查找的字符串按相同的对应关系也变为哈希值,在map中能直接查找。在考试的时候我的哈希对应方程一直有哈希冲突,试了5,6次一直解决不了,考完后,我随便改了一个数字就tmd过了,太气了。非常基础的一道题,完全就是模拟栈的工作,关键就是在栈的长度过大的时候break。int merge(int x, int y) { //合并。
2023-11-30 20:54:32 1104
原创 吉林大学2023数据结构《第三次上机实验》解题报告
想了半天想不到一种不用stl的方法,于是用了一个queue和multiset来实现,一旦插入,就同时向两个链表同时插入,一旦输出,就从双端队列尾部输出然后从对应的multiset中输出,每次取反就将指针r=0/1来取反,一旦输出,若r=0输出multiset的头,若r=1输出multiset的尾。看了半天看不懂,只能抄代码了,结果不愿意用swap函数,手写了个交换函数,结果只能交换形参,找了半天,我寻思着我不是照抄的么,怎么还能错,改了半天才找到时swap的问题。谁是倒一,我是倒一!
2023-11-30 20:52:41 1091
原创 吉林大学2023数据结构《第二次上机实验》解题报告
先讲一下我在考试时的想法吧:当时还是不会用vector建立邻接边表,打算先用快排对边表排序,再记录以各个节点为起点的边表的位置,可是一旦用了快排稳定性就被破坏了,导致只有第四个点能过。课后实现时用顺序查找为n*n的时间级的,最后一个点死活过不去,问了吴博睿,知道使用单调栈,但我不知到从后往前的单调栈如何维护,最后看了csdn才恍然大悟,打表!用的克鲁斯卡尔kruskal算法,先输入边,与虚边,用快排对权值进行排序,遍历有序(从小到大)边表,用并查集判环(等价类内部不连线),最后输出就行了。
2023-11-30 20:50:19 1063
原创 吉林大学2023数据结构《第一次上机实验》解题报告
这道题我刚开始的思路和***的很想,维护一个栈,每次弹出一个,压入两个,每次从栈中找最小的弹出,但这是n*n的复杂度,所以不太行。然后我在课上没做出来,课后听到***的想法,决定建堆,然后维护这个堆,于是就可以达到n*log n的时间复杂度。先遍历上面一排数乘以下面一排第一个数,建立一个小根堆,然后弹出最上面的根节点,根节点改变(上面不变,下面的数右移一个)然后维护这个小根堆,重复弹出n个数,结束。从起点开始,维护一个栈z,弹出最小边,压入对应节点的相邻边,同时不断更新最小费用数组与最大经过数组y。
2023-11-30 20:45:41 1270
原创 吉林大学2023数据结构上机4
例如,将 5 拆分成 2 个正整数的不重复方案,有如下2组:(1,4)和(2,3)。操作的规定如题目描述。第2行,n个整数Li,用空格分隔,表示要切割成的各段的长度,1≤Li≤200000000,1≤i≤n.第2行,若干个整数,用空格分隔,表示总代价最小时每次切割的代价。第1行,1个整数n,表示切割成的段数, 1≤n≤100000.第1行,1个整数N,表示整数的个数,(1≤N≤100000)。第1行,一个整数m,表示操作的个数,1≤m≤10000.1行,2个整数n和k,用空格分隔, 1≤k≤n≤50.
2023-11-30 20:35:26 503
原创 吉林大学2023数据结构上机3
随后的每一组测试数据中,第1行两个整数n和m,用空格分隔,分别代表汉字数和操作数,2≤n≤9999,1≤m≤9999;第2至m+1行,每行包含3个常量s、i和j,用空格分隔,s代表操作的类型,若s为A或B,则i和j表示汉字的编号,若s为Q,i代表0或1,j代表汉字的编号。第1行,两个整数:N和M,表示整数的个数和区间长度,1≤N≤100000.q行,每行1个整数,表示f(i)的值。第1行,1个整数n,表示森林的结点个数, 1≤n≤100000.第1行,1个整数q,表示查询的次数, 1≤q≤10000.
2023-11-30 20:33:43 570
原创 吉林大学2023数据结构上机2
在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N)。第2行,2n+1个整数,用空格分隔,表示T的扩展先根序列, -1表示空指针,结点用编号1到n表示。一个单词,表示字符文件中括号匹配的结果,匹配输出“yes”,否则输出“no”.。第1行,1个整数n,表示二叉树有n个结点, 1≤n≤100000.。第一行1个整数,为第n项的位数。第1行,1个整数N,表示高精度整数的个数,(1≤N≤10000)
2023-11-30 20:31:25 506
原创 吉林大学2023数据结构上机1
现指定从第1个人开始报数,报数到第m个人时,该人出圈,然后从其下一个人重新开始报数,仍是报数到第m个人出圈,如此重复下去,直到所有人都出圈。M表示等价元素对个数,1
2023-11-30 20:28:40 838
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人