11 2021 档案
摘要:7-1-1 简化的插入排序 (15 分) 本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。 输入格式: 输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。 输出格式: 在一行内输出将X插入后仍然从小到大有序的整数序列,
阅读全文
摘要:AVL Insertion(30分) You are supposed to implement the Insert function, which inserts an integer Key into an AVL tree T. The resulting tree must be retu
阅读全文
摘要:三元组顺序表表示的稀疏矩阵转置(10分) 本题要求实现一个函数,实现三元组顺序表表示的稀疏矩阵转置。 函数接口定义: struct tripletable * trans(struct tripletable *t1); 其中 t1 是用户传入的参数。 函数须返回转置后的三元组顺序表指针。 裁判测试
阅读全文
摘要:哈夫曼树及哈夫曼编码(10分) *函数SelectTwoMin(int upbound, HuffmanTree HT, int &s1, int &s2)是从1到upbound中找出father为0的节点赋给s1,s2,(为了保证答案唯一,请让s1的节点编号小于s2),函数HuffmanCodin
阅读全文
摘要:KMP算法(15分) 函数get_nextval(char T[], int nextval[])是计算字符串T的next数组,函数Index_KMP(char S[], char T[], int pos, int next[])是KMP算法。 函数接口定义: void get_nextval(c
阅读全文
摘要:ASCII码对照表 总结一下: 就记三个数字: 0,a,A 0 : 30 ,0-9: 30 -39 a : 97 , a-z: 97-122 A : 65 , A-Z:65-90 要想把一个小写字母变成大写字母,就减去32 char op = 'a'; op -= 32; //此时op就从a变为A了
阅读全文
摘要:7-1 近似求PI (15 分) 本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。 2π=1+31!+3×52!+3×5×73!+⋯+3×5×⋯×(2×i+1)i!+⋯ 输入格式: 输入在一行中给出精度eps,可以使用以下语句来读输入: scanf("%le", &eps);
阅读全文
摘要:7-2 单词首字母大写 (15 分) 本题目要求编写程序,输入一行字符,将每个单词的首字母改为大写后输出。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 输入格式: 输入给出一行字符。 输出格式: 在一行中输出已输入的字符,其中所有单词的首字母已改为大写。 输入样例:
阅读全文
摘要:三元组顺序表的转置 基本概念 在学习线性代数的时候,经常用到矩阵。在C语言中,表示矩阵的最直观形式就是二维数组。然而在实际应用中,很多高阶矩阵中的非零元素非常少,这个时候如果继续使用二维数组存储,那么就会浪费很多存储空间。 在数据结构中,我们用三元组存储稀疏矩阵。三元组定义为(i,v,j),这三个值
阅读全文
摘要:拓扑排序 AOV图到AOE图的转化 在AOE图中求关键路径 求最早完工时间和最晚完工时间:earlist和latest
阅读全文
摘要:最短路径算法 最短路算法分析 - 智者侬哥 - 博客园 (cnblogs.com) 最短路径是通过 ”松弛“ 得来的, 迪杰斯特拉算法是 广度优先搜索+贪婪算法思想的综合 先按照权值从小到大访问自己身边的节点,访问完毕之后依次访问 “子节点 ” 身边的子节点,感觉还有递归的味道在里面 对每一个节点都
阅读全文
摘要:普瑞姆算法和克鲁斯卡尔算法 (6条消息) PTA 7-10 公路村村通 (30分)_BigDream123的博客-CSDN博客 最小生成树 是总体权值最小,而不是两点之间的权值最小 两点之间的权值最小对应的是迪杰斯特拉算法的求最短路径问题 两个问题有相似点,要注意区分
阅读全文
摘要:数据结构与算法题型——chapter 5:哈夫曼树&并查集 哈夫曼树不唯一 哈夫曼树是n个带权叶子结点构成的所有二叉树中带权路径长度最小的二叉树。 哈夫曼树没有写很多的东西,之后还有几篇没有写很多的东西,但是都会逐渐的添加,包括自己写的一些代码都会慢慢的放进来,有时候没有写很多也是因为自己有些懒,会
阅读全文
摘要:二叉树、平衡二叉树、伸展树 二叉搜索树(BST , Binary Search Tree)也称为二叉排序树或者二叉查找树 定义:对于任何一个节点,左子树的关键值总小于该节点,右子树的关键值总大于该节点,且对左右子树的任何一个节点都满足上述条件。(递归定义) 基本操作:Find;FindMin;Fin
阅读全文
摘要:数据结构与算法题型——chapter 2:稀疏矩阵&内存计算&广义表 pta错题集 稀疏矩阵一般的压缩存储方法是三元组和十字链表 稀疏矩阵:矩阵压缩之后在另一个数组中的下标表示 要掌握三个方法:带入排除法、递推法、计算法 带入排除就是把特殊情况带入选项中验证是否满足,从而排除选项之后得到正确结果 递
阅读全文
摘要:数据结构与算法题型——chapter 1:串与kmp算法 KMP算法 首先要明确kmp算法中有一个数组,叫做前缀数组,也叫做next数组,每一个子串有一个固定的next数组,它记录着字符串匹配过程中失配情况下可以向前多跳几个字符,当然它描述的也是子串的对称程度,程度越高,值越大,当然之前可能出现再匹
阅读全文
摘要:C语言中字符、字符数组、字符串 字符 char op; scanf("%c",op); printf("%c",op); 字符通过格式控制符%c来控制初始化,字符只能用单引号''来表示 char op; op = 'a'; printf("%c",op); 定义一个字符变量只能初始化一个字符,而这种
阅读全文
摘要:/** 写一个方法解析,便于以后的理解 这个题跟其他的循环题最大的不同就是在循环变量的同时还有一个求阶乘的要求,所以要在一个函数中完成看似要两个函数完成的要求 那么只需要在while中写一个求阶乘的方法就可以了 初始化的值都是第二次要用到的值,也就是默认第一项执行过的值为初始值 之后在变量的求值和变
阅读全文
摘要:判断素数的方法 素数的定义:素数指的是除了1和它本身,不能被任何数整除。 由素数的定义我们可以推的判断素数的方法: 判断一个数m是不是素数,只需要用m去除以2~m-1中的数,如果都不能整除,那么这个数就是素数 现在要简化素数的判断方法:不用让m去除以2~m-1中的全部数,只需要让m去除以2 ~
阅读全文
摘要:求两个数的最大公约数和最小公倍数 一查发现竟然有这么多种方法,除了之前最常用的辗转相除的方法,还有不包括辗转相除的其他三种办法 辗转相除法又称欧几里得算法,据说是最早的算法,是西方的算法 东方的有《九章算术》中的更相减损术 还有将辗转相除法和更相减损术结合起来的运用了移位运算的方法 直接写代码了 辗
阅读全文
摘要:4-2-6 找完数 (20 分) 4-2-6 找完数 (20 分) 所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。 输入格式: 输入在一行中给出2个正整数m和n(1<m≤n≤10000),中间以
阅读全文
摘要:数据结构与算法——串与kmp算法 KMP算法 首先要明确kmp算法中next数组的作用:记录的是模式串下一次应该与主串进行匹配的下标,不是模式串应该移动的距离。 在描述kmp算法时为了形象,将提高算法效率的方法说成:不让主串的指针回溯,将模式串“ 滑动 ” 尽可能的距离后,继续进行比较。这里的滑动是
阅读全文
摘要:CLion工程中只能有一个main函数 &&怎么同时编写多个main函数的C文件 这个文章救了命了,之前让我抓狂的问题终于解决了!!! link 下面是我操作的过程还有原因分析 add_executable(C main.c) add_executable(A pta.c) 关键就是这个**add_
阅读全文