自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 并查集模板

此外,为防止出现树退化成链表的极端情况,需要路径压缩(或平衡性优化)来保证树的高度为常量。采用路径压缩的技巧后,除初始化外,其余操作的平均复杂度均为 O(1)。实现时,通常使用parent数组记录每个节点的父节点,当前森林中的连通分量数则用全局的count表示,在unionNodes时动态维护。并查集是一种树形结构,常用于解决不相交集合的查询与合并问题,典型应用如 Kruskal 最小生成树算法。

2023-11-28 13:40:12 418

原创 实验一:求整数和、铺地板和Hanoi塔等问题的求解

实验一:求整数和、铺地板和Hanoi塔等问题的求解一、问题描述整数求和: 从1到n之间的整数相加,和是多少? 用C语言实现函数,输入n,返回和;铺地板问题: 在2×n的矩形中铺入1×2大小的地板,求其有多少种铺法;Hanoi塔问题: 一次只能移动一层,大的不能放在小的上面。可以使用临时场所 暂存中间结果。移动n层的塔,总的移动次数是多少?;二、实验描述用C语言编程实现求整数平方和...

2020-06-11 12:19:59 678

原创 实验二:快速求幂和主元问题的求解

实验二:快速求幂和主元问题的求解一、实验描述用基于2和3的方式分别写出算法来求power(x, n),分析两种算法的复杂程度,设计试验来验证;设计并实现分治求数组的主元的算法,如果不用分治,通过比较和计数,分析其复杂程度。二、实验设计若采用常规方法逐次计算x的n次方,需要进行n-1次乘法运算。现考虑以2为底,缓存中间结果,从而避免重复计算。例如power(x,4)=power(x...

2020-06-11 12:19:39 540

原创 OS上机实验一

一、Linux版本信息

2020-06-10 22:20:08 439

原创 由先序和中序构造二叉树(C语言)

根据二叉树的先序(后序)遍历和中序遍历结果即可还原二叉树。此处以先序和中序遍历结果来构造二叉树,后序类似。以下图所示二叉树为例:先序遍历:abdecfg中序遍历:dbeafcg显然先序遍历第一个结点a即为根节点。找到中序遍历结果中的结点a的位置,根据中序遍历的特点,a左侧结点dbe即为左子树的结点,a右侧结点fcg即为右子树的结点。再联系先序遍历的特点,因而可将遍历结果分为三部分:先序...

2020-02-07 14:29:24 12639 17

原创 C语言实现中缀表达式到后缀表达式的转换

中缀表达式到后缀表达式的转换是堆栈应用的典型例子。通过只允许操作‘+’,‘-’,‘*’,‘/’,并坚持优先级法则,即可实现该操作。1. 规则假设读入的中缀表达式是正确的。当读到操作数时,立即输出。操作符不立即输出,而是放入栈中。定义‘(’的优先级最高,其余符号同四则运算的法则。读入一个操作符时,弹出栈顶元素直至发现优先级更低的元素为止。除非是在处理一个‘)’,否则绝不从栈中弹出‘(’。遇到...

2020-02-05 16:22:01 6244 11

原创 基数排序及其单链表实现(C语言)

任何只使用比较的一般排序算法在最坏情况下需要运行时间Ω(NlogN),但在某些特殊情况下,以线性时间进行排序仍然是可能的。此处的基数排序便是一个很好的例子。基数排序为桶式排序的推广,即按照次位优先的原则对数据进行多趟桶式排序。以数组{8, 20, 59, 30, 21, 40, 10, 11, 22, 34, 23, 5, 33, 65, 44, 75, 17, 66, 77, 88, 99,...

2020-02-04 16:53:31 1744 2

原创 C语言链表求解多项式乘法问题

C语言链表求解多项式乘法问题解决多项式乘法问题最容易想到的就是将乘法运算转换为加法运算。从p1的第一项开始,依此乘以p2的每一项,合并同类项后放入结果多项式中。然而项数太多时,合并同类项的过程过于复杂……此处采用的是一种逐项插入的算法,即将p1的当前项与p2的当前项相乘,并插入结果多项式中。关键是要找对插入位置。该算法中,用p1的第一项乘以p2得到初始结果多项式。由于是按照指数递减的顺序输入...

2020-02-03 17:07:27 1797

原创 Josephus环问题两种求解算法(C语言实现)

实验三:Josephus环问题及多项式乘法的求解一、实验描述用游标方式的循环链表来实现Josephus(n,m)问题的求解多项式乘法。用链表表示多项式,分别在对指数排序和不排序的情况下,写出求两个给定多项式的乘法的函数。并分析其复杂度二、实验设计Josephus环问题:用游标构造双向循环链表。首先创建全局的结构体数组,每个结构体包括元素的编号、前驱元的索引(previous)及后继...

2020-02-03 16:32:46 2279 4

原创 C语言clock()函数测试程序运行时间

C语言clock()函数测试程序运行时间分析算法时间复杂度时,有时需要测试函数执行时间。此时可以借助C语言提供的clock()函数。clock()函数捕捉从程序开始运行到clock()被调用所耗费的时间。这个时间单位是clock tick, 即“时钟打点”。常数CLK_TCK机器时钟每秒所走的时钟打点数,不同机器之间可能存在差异。调用clock()记录函数执行时间使用clock()时...

2020-01-17 12:53:33 1013

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除