![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 76
LIMorton
努力向前
展开
-
最小生成树算法—Kruskal算法和Prim算法
Kruskal算法: 算法过程: 1、将各条边按照权值从大到小排列 2、从权值最低的边开始建立最小成本生成树,依次加入边,如果加入的边会造成回路则舍弃不用 3.递归重复步骤2,直到找出n-1条边为止(设图有n个结点,则最小生成树的边数应为n-1条),算法结束。得到的就是此图的最小生成树原创 2017-03-09 09:44:51 · 600 阅读 · 0 评论 -
由斐波那契数列问题引出的问题
问题:输出斐波那契数列的第N项解法一:递归int Fibonacci(int n){ if(n <= 1) return n; return Fibonacci(n - 1) + Fibonacci(n - 2);} f(n) = f(n-1) + f(n-2),第一眼看就是递归啊,简直完美的递归环境,递归肯定很爽,关键代码两三行就搞定原创 2017-03-10 16:50:43 · 456 阅读 · 0 评论 -
关于动态规划问题
参考别人的两篇博客:http://blog.csdn.net/baidu_28312631/article/details/47426445原创 2017-03-10 17:09:51 · 359 阅读 · 0 评论 -
排序的知识点总结
排序(sorting)是指将一组数据,按特定规则(排序算法)调换位置,使数据有序(递增或递减)。 在排序过程中,数据的移动方式可分为“直接移动”和“逻辑移动”。“直接移动”使直接交换存储数据的物理位置,而“逻辑移动”并不会移动数据,仅改变指向这些数据的辅助指针的位置。一般大数据的排序不会使用直接移动,因为改变存储位置需要花费过多时间,相反改变其指针指向的位置则高效得多。原创 2017-03-11 09:41:42 · 1919 阅读 · 0 评论 -
查找的知识点总结
所谓查找(或搜索)指的是从数据文件中找出满足某些条件的记录,用来查找的条件称为“键值(key)”,就如同排序所用的键值一样。一次查找所用的时间很短,但当程序中需要大量使用查找操作的时候,查找的时间消耗效率就显得非常重要。 同排序一样,可根据数据量的大小将查找分为内部查找和外部查找。从另一个角度看,又可分为静态查找和动态查找,定义如下: 1、静态查找:查找的原创 2017-03-11 17:26:11 · 1086 阅读 · 0 评论 -
尾递归的概念及作用
如果一个函数中所有递归形式的调用都出现在函数的末尾,我们称这个递归函数是尾递归的。当递归调用是整个函数体中最后执行的语句且它的返回值不属于表达式的一部分时,这个递归调用就是尾递归。尾递归函数的特点是在回归过程中不用做任何操作,这个特性很重要,因为大多数现代的编译器会利用这种特点自动生成优化的代码。 原理:当编译器检测到一个函数调用是尾递归的时候,它就覆盖当前的活动记录而不是在栈中去创建一原创 2017-04-10 11:14:07 · 1411 阅读 · 0 评论