算法
文章平均质量分 77
iteye_10289
这个作者很懒,什么都没留下…
展开
-
grassfire算法
这个算法是做图像处理的抽骨架处理(文后附抽骨架的简介),目的是求出图像的骨架,可以想象一片与物体形状相同的草,沿其外围各点同时点火。当火势向内蔓延,向前推进的火线相遇处各点的轨迹就是中轴。 该处理有很多种不同的算法,从你提供的程序来看,它属于距离矩阵的算法。它要求计算对象必须是体表示的模型(对平面来说,就是二维矩阵),通过计算每个体元素到边界的最小距离来求取模型的脊点、骨架点. 程序中fr...原创 2013-08-05 14:46:25 · 952 阅读 · 0 评论 -
二叉树前序中序,后序中序,公共最近祖先的实现
二叉树前序中序,后序中序,公共最近祖先的实现 注释中详细介绍了算法,故不再赘述。 无论是前序还是后序,一个节点的左子树和右子树都是可以看做是分开的,有一定规律可循,故可用递归进行实现。 #include <iostream> #include <cstring> #include <vector> using namespace ...原创 2013-10-25 14:07:17 · 120 阅读 · 0 评论 -
堆排序
1.建堆, 依据数组和二叉树的原理,保证子节点小于祖先节点,开始于i=n/2-1,其孩子为2i+1,2i+2,然后i--做循环。在内部建堆时,要保证交换后的数值仍满足“子节点小于祖先节点”,需要进行递归操作。 2.排序时,每次将数组的第一位最大值取出与数组的当前最后一位交换。交换后,针对数组的第一个元素进行建堆操作。 #include <iostrea...原创 2013-10-25 19:25:49 · 77 阅读 · 0 评论 -
最大堆MaxHeap和最小堆MinHeap的实现(转)
队列的特点是先进先出。通常都把队列比喻成排队买东西,大家都很守秩序,先排队的人就先买东西。 但是优先队列有所不同,它不遵循先进先出的规则,而是根据队列中元素的优先权,优先权最大的先被取出。通常把优先队列比喻成现实生活中的打印。一个打印店里有很多打印机,每台机器的性能不一样,有的打印机打印很快,有的打印机打印速度很慢。当这些打印机陆陆续续打印完自己的任务时进入排队等候...原创 2013-10-25 22:04:15 · 750 阅读 · 0 评论