Description生成树:一个有n个结点的连通图的生成树是原图的极小连通子图,包含原图中的所有n个结点,并且有保持图连通的最少的边。最小生成树:生成树中权值最小的一种方案。给定一个无向图,请输出最小生成熟的权值。存在重边Input第一行包含三个整数N、M,分别表示点的个数、边的个数;接下来M行每... ...
分类:
其他好文 时间:
2020-03-14 12:58:22
阅读次数:
50
1 方法一:生成链表 计算节点个数 找到中间 2 方法二:Status GetMidNode(LinkList L, ElemType *e) //用两个指针 快指针是慢指针移动速度的两倍 快指针移动到结尾 则慢指针移动到中央 (这种方法是第一种方法速度三倍) 3 { 4 LinkList sear ...
分类:
其他好文 时间:
2020-03-14 12:50:22
阅读次数:
64
1.队列是只允许在一端进行插入 在另一端进行删除的线性表 2.队列先进先出 //队列的链式存储结构(插进去 吐出来) typedef struct QNode { ElemType data; struct QNode *next; }QNode, *QueuePrt; typedef struct ...
分类:
编程语言 时间:
2020-03-14 12:48:02
阅读次数:
67
1 来自https://www.bilibili.com/video/av2975983/?p=17&t=13 2 个人感悟:循环链表的插入与删除与普通链表的区别就是在一个结点 而且初始化功能循环链表的头指向尾则代表空 普通链表头指针指针域指向NULL为空 3 4 //算法描述 5 //链表存储结构 ...
分类:
其他好文 时间:
2020-03-14 12:39:06
阅读次数:
43
1、树转换为二叉树由于二叉树是有序的,为了避免混淆,对于无序树,我们约定树中的每个结点的孩子结点按从左到右的顺序进行编号。将树转换成二叉树的步骤是:(1)加线。就是在所有兄弟结点之间加一条连线;(2)抹线。就是对树中的每个结点,只保留他与第一个孩子结点之间的连线,删除它与其它孩子结点之间的连线;(3 ...
分类:
其他好文 时间:
2020-03-14 11:23:54
阅读次数:
79
本题要求实现一个函数,将给定的单链表逆转。 函数接口定义: List Reverse( List L ); 其中List结构定义如下: typedef struct Node *PtrToNode; struct Node { ElementType Data; /* 存储结点数据 */ PtrTo ...
分类:
其他好文 时间:
2020-03-14 10:47:23
阅读次数:
76
class Node: def __init__(self, elem, next_=None): self.elem = elem self.next = next_ def list2link(List): head = Node(List[0])#创建一个头节点并将list第一个值赋值给头结点 ...
分类:
编程语言 时间:
2020-03-13 20:46:14
阅读次数:
160
给定一个带头结点的单链表和一个整数K,要求你将链表中的每K个结点做一次逆转。例如给定单链表 1→2→3→4→5→6 和 K=3,你需要将链表改造成 3→2→1→6→5→4;如果 K=4,则应该得到 4→3→2→1→5→6。 函数接口定义: void K_Reverse( List L, int K ...
分类:
其他好文 时间:
2020-03-13 18:42:35
阅读次数:
68
这篇文章笔者想总结一下LCA的做法 LCA即最近公共祖先它所要求的是树上任意两个结点的公共祖先 下面提供做法 1、暴力法: 即一层一层往上爬,给定两个结点,先将两个结点的深度调为一致后,一起一层层的向上爬上升,这种做法的时间复杂度为较大,很容易被卡掉,这里就不详细说明,只是放出代码 #include ...
分类:
其他好文 时间:
2020-03-12 15:58:24
阅读次数:
87
首先剪枝(pruning)的目的是为了避免决策树模型的过拟合。因为决策树算法在学习的过程中为了尽可能的正确的分类训练样本,不停地对结点进行划分,因此这会导致整棵树的分支过多,也就导致了过拟合。决策树的剪枝策略最基本的有两种:预剪枝(pre-pruning)和后剪枝(post-pruning): 预剪 ...
分类:
其他好文 时间:
2020-03-12 14:43:02
阅读次数:
72