随笔分类 - 算法
摘要:一、哈夫曼树的概念 哈夫曼树又叫最优二叉树,显然哈夫曼树是建立在二叉树的基础上。 我们先来了解几个基础概念: 树根到树的每一个结点的路径长度之和为树的路径长度。 在结点数目相同的二叉树中,完全二叉树的路径长度最短。 在一些应用中,给树中结点赋予某种意义的数值,此数值称为结点的权。 结点到树根之间的路
阅读全文
摘要:int n=1024; int father[1024]; void init() { for(int i=0;i<n;i++) { father[i]=i; } } int find(int u) { if(father[u]==u) { return u; } return father[u]=
阅读全文
摘要:剑指05题虽然简单,使用动态内存很容易实现,使用C++也很简单;但是作者的意图是时间复杂度O(n),并且不使用动态内存申请,并且C/C++需要保证传入参数长度够用。下面是C的题解,只体现作者思路,并不是最优解。 #include<stdio.h> #include<string.h> #includ
阅读全文
摘要:1、时间复杂度o(1), o(n), o(logn), o(nlogn)。算法时间复杂度有的时候说o(1), o(n), o(logn), o(nlogn),这是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之
阅读全文
摘要:大学有一门课程叫做数据结构,严蔚敏的课本,其中详细介绍了集中经典的排序算法,学习复习反复几次,但是直到现在仍然只记得名字了,所以想记录下来,随时复习直至牢记于心。经常面试的朋友知道,排序算法在面试中出现的频率很高,尤其是开发、算法等岗位,因为排序算法是算法的入门知识。排序算法的思想可以灵活应用到实际
阅读全文