- 博客(6)
- 收藏
- 关注
原创 陕西科技大学算法实验二实验报告
那么初始状态下的N个节点就可以看成N棵只有一个节点的树构成的“森林”,而ids数组则记录了每个节点的父节点,若两个节点的根节点相等,那么这两个节点就是相连接的。Quick-union和quick-find是两种实现并查集的方式,两种方式对于数据进行编号的方式不同,结果才不一样,不能用quick-find的程序来查找,再用quick-union的程序来实现union,编码过程中混淆两种方式,导致用quick-find的编号方式进行quick-union的合并操作,结果无显示。
2025-09-20 17:12:04
650
原创 陕西科技大学算法实验二预习题目:并查集,二叉查找树,中序遍历算法时间分析和比较
在并查集(quick—find)数据量在10000个随机进行分组下进行查找,插入和删除的时间,在并查集(quick—union)下10000个随机进行分组情况下进行操作的时间,对于并查集使用路径压缩或是按秩查找的方法进行操作的实验比较。// 将秩较大的集合合并到秩较小的集合(实际上这行代码不会执行,因为上一行已经处理了秩不相等的情况)数据结构主要用于解决一些元素分组的问题,比如在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。
2025-09-20 17:03:55
884
原创 实验题目:八大排序算法实验分析
分割数组:根据基准元素将数组分为小于基准语速的部分和大于基准元素的部分,用双指针分别指向头,尾元素,先将头指针移动,while循环,直至连指针值相等时跳出,头指针++,if语句判断在大于基准值时头指针值赋给尾指针,头指针++,开始while循环围子针,尾指针--,if语句判断在小于基准值时尾指针值赋给头指针,尾指针--,再次循环头指针。根据 (arr[i] / exp) % 10 的结果找到在 count 数组中的位置,然后将 arr[i] 放到 output 数组的对应位置,并更新 count 数组。
2025-03-07 13:47:23
766
原创 陕西科技大学算法实验报告一
分割数组:根据基准元素将数组分为小于基准语速的部分和大于基准元素的部分,用双指针分别指向头,尾元素,先将头指针移动,while循环,直至连指针值相等时跳出,头指针++,if语句判断在大于基准值时头指针值赋给尾指针,头指针++,开始while循环围子针,尾指针--,if语句判断在小于基准值时尾指针值赋给头指针,尾指针--,再次循环头指针。由表中数据可以看出,冒泡,选择,插入排序属于简单排序的耗时最长,且其中冒泡排序在随机数组的情况下时间最长,快排,堆排,桶排,基数排序等,相较与简单排序时间短很多,效率更高;
2025-01-23 12:38:30
1393
原创 字符串数组函数应用
strcmp(str1,str2):字典序比较,比较对应位置字符char大小,str1<str2返回值小于0,str1>str2返回值大于0,等于返回0。strcpy(dest,src): src拷贝到dest中。strlen(str):字符串长度(不包含'\0')strncmp(str1,str2,n):安全的比较。strncpy(str1,str2,n):安全的拷贝。memcpy(str1,str2,n):内存拷贝。memcmp(str1,str2,n):内存比较。
2025-01-22 22:58:47
204
原创 八大排序算法预习报告-陕西科技算法实验
快速排序:用两个指针指向数组的头和尾,将数组第一个元素作为分界值,将头指针向下遍历,直到遇到比分界值大的数据,头指针不动,此时将尾指针前移,直到遇到比分界值小的数,将俩指针指交换,循环到两指针相等时结束,此时被分成小于分界值和大于分界值的两部分,再将两部分进行上述操作。推排序:利用堆这种结构的特性,父节点为三元组中最大或最小,且堆是一个完全二叉树,可用一个数组存储,且数组间存在关系,建好一个堆后,再将数组元素弹出并调整,就能得到排序结构。如果 arr[j] > arr[j+1] 那么。
2025-01-20 17:52:51
665
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅