![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
多喝苦瓜身体好
这个作者很懒,什么都没留下…
展开
-
二叉树遍历的非递归算法(过程分析+算法设计思路)
二叉树1.树概念及结构2.二叉树概念及结构3.二叉树顺序结构及实现4.二叉树链式结构及实现原创 2020-02-11 22:36:52 · 994 阅读 · 0 评论 -
使用C模拟实现堆
堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质:堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树堆虽然可以看成一颗二叉树,但其本质还是数组,它的应用也与二叉树不同,堆常用于排序,因此物理结构上使用连续的内存空间存放数据要比指针方便得多。...原创 2020-02-11 16:49:48 · 125 阅读 · 0 评论 -
组队竞赛(优化问题)
来源:牛客网组队竞赛(从这里:)牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。(到这里都可以跳过不看)例如:一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3一个队伍三个...原创 2019-11-07 00:31:43 · 896 阅读 · 0 评论 -
深度拷贝带随机指针的链表(C语言)
声明:题目来源:力扣(LeetCode)给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深度拷贝题目链接:复制带随机指针的链表示例:...原创 2019-10-25 00:08:35 · 311 阅读 · 0 评论 -
寻找链表中的环的入口(C语言)
声明:题目来源:力扣(LeetCode)给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 NULL 。题目链接:环形链表II说明:不允许修改给定的链表。示例可参考博客:判断链表中是否有环,解法与该题类似,需要先判断是否有环,若有环才能进行寻找入环节点的步骤,否则就直接返回NULL了。那如何寻找入环节点呢,方法也不复杂,与第4题类似。在判断出链表有环之后,计算出环的长度,...原创 2019-10-24 18:36:18 · 800 阅读 · 0 评论 -
判断链表中是否有环(C语言)
声明:题目来源:力扣(LeetCode)给定一个链表,判断链表中是否有环。题目链接:环形链表示例1:输出:true示例2:输出:true示例3:输出:false解题思路:首先从环的性质入手,如果存在环,那么我若是使用一个指针遍历链表,这个指针将会一直在链表中的环里转圈圈。那要如何判断是否有环也就显而易见了:若是指针访问到了之前访问过的节点,那么链表有环,若是能遍历完链表,那...原创 2019-10-24 18:34:55 · 4656 阅读 · 1 评论 -
寻找相交链表的公共节点(C语言)
声明:题目来源:力扣(LeetCode)输入两个链表,找出它们的第一个公共结点。题目链接:相交链表编写一个程序,找到两个单链表相交的起始节点。示例1:在节点 c1 开始相交。示例2:两链表不相交,返回NULL。解题思路:首先需要判断两个链表长度是否相等,使用两个指针分别以相等的速度遍历两个链表,判断哪个链表长,并计算出差值 d。再使用两个指针同时从表头出发,指向长链表的指...原创 2019-10-24 18:33:09 · 518 阅读 · 0 评论 -
判断回文链表(C语言)
声明:题目来源:力扣(LeetCode)链表的回文结构。题目链接:回文链表示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true思路:先找中间节点,再将中间节点之前的链表逆置,最后从头和中间节点出发判断节点的值是否相等。需要注意的是,若链表节点数为偶数个,例:1 —> 2 —> 2 —&g...原创 2019-10-24 18:27:33 · 1574 阅读 · 0 评论 -
以定值分割链表(C语言)
编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前 。题目链接:分隔链表示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5注:链表两区域的各节点之间的相对位置不变这个题目的解法没什么灵性,比较暴力。使用头插法,(相关方法可...原创 2019-10-24 18:24:15 · 508 阅读 · 0 评论 -
单链表的相关的简单算法题(C语言)
声明:题目来源:1. 力扣(LeetCode)2. 牛客网(newcoder)。1. 删除链表中等于给定值 val 的所有节点。题目链接:移除链表元素示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5struct ListNode* removeElements(str...原创 2019-10-24 18:21:38 · 711 阅读 · 0 评论 -
高斯列主元消去法——C实现
1. 高斯消去法算法原理消去法是求解线性方程组的一种方法,它对增广矩阵进行初等行变换得到一个可回代求解的矩阵,然后再进行回代求得一组解向量。高斯列主元法在使用初等行变换消元之前增加了选主元的过程。为减小计算机计算过程中的舍入误差,选取绝对值大的数作为主元素,再使用初等行变换将方程组转化为一个同解的上三角方程组,最后通过回代法求解该三角形方程组。例:方程组的系数矩阵为: ...原创 2019-10-12 00:01:38 · 10224 阅读 · 0 评论 -
矩阵相关操作——C++实现
注:操作较复杂,不建议写数值课设的同学借鉴1. 定义矩阵结构体矩阵是高等代数(线性代数)中的基本运算单位,在运算时具有一些特殊的性质。按定义来看,矩阵是由非质数(m × n)个基本元素单元组成,这些单元按一定的顺序排列,构成了一个m行n列的矩阵。从定义中不难看出,定义矩阵的结构体需要包含三个数据成员:行数(整型);列数(整型);各元素的值(根据计算精度需求进行调整).于是定义矩阵...原创 2019-10-06 20:30:05 · 3187 阅读 · 0 评论