算法
文章平均质量分 63
凡先生_WHU
锲而舍之,朽木不折;锲而不舍,金石可镂。
展开
-
算法学习(2)--数组、链表和跳表的基本实现与特性
一、数组数组是一段连续地址的内存,使用内存管理器(memory controller)访问,访问的时间复杂度为O(1)。 增(删)元素:插入(删除)一个元素,该位置后元素全部后移(前移),时间复杂度为O(n)。 数组扩张时,如果原有内存大小不能满足需求,则开辟一块原来大小两倍的内存,用以复制旧数组。二、链表node,有单链表、双向链表、循环链表,pHead/pTail/构造函数。 增删不涉及群移操作,移动和修改操作的时间复杂度为O(1)。 访问元素节点的时间复杂度为线性复杂度O(n).原创 2020-08-06 00:09:10 · 263 阅读 · 1 评论 -
算法学习(1)--时间复杂度和空间复杂度
从现在开始自己想规范且高效化提高自己的编码能力,故开始正式的自我学习,从简单算法的学习开始入手。1.时间复杂度 Big O notationO(1) Constant Complexity常数时间复杂度O(log n) Logarithmic Complexity对数复杂度O(n) Linear Complexity线性时间复杂度O(n^2) N Square Complexity平方O(n^3) N Cubic Complexity 立方O(2^n) Exponenti..原创 2020-07-16 23:56:08 · 284 阅读 · 0 评论 -
操作系统原理学习_第三周(下)_进程
3-5 进程操作1.进程控制①进程有生命周期:产生、运行、暂停、终止。对进程的这些操作叫进程控制。②进程控制的职责是对系统中进程实施有效的管理,它是CPU的管理的一部分(还有进程同步、通信和调度)。③当系统允许多进程并发执行时,为了实现共享,协调并发进程的关系,处理机管理必须对进场实施有效的管理。2.进程创建的情况①作业调度:在批处理系统中,作业调度程序调度到某个...原创 2019-06-26 17:59:28 · 353 阅读 · 0 评论 -
利用道格拉斯·普客法(DP法)压缩矢量多边形(C++)
1.算法描述经典的Douglas-Peucker算法(简称DP法)描述如下:(1)在曲线首尾两点A,B之间连接一条直线AB,该直线为曲线的弦;(2)得到曲线上离该直线段距离最大的点C,计算其与AB的距离d;(3)比较该距离与预先给定的阈值threshold的大小,如果小于threshold,则该直线段作为曲线的近似,该段曲线处理完毕。(4)如果距离大于阈值,则用C将曲线分为两段...原创 2019-02-22 11:50:56 · 1378 阅读 · 0 评论 -
(四)建筑物多边形化简系统——“去尾巴”和分割复杂多边形
问题说明实际操作中,发现有的多边形存在“尾巴”或者很细的部分。“尾巴”细长,明显不是有效建筑物区域,特点就是区域面积小,看起来细长,附着于大面积多边形外测或者连接两个多边形。需要去除尾巴或者分割多边形,为后面拟合多边形做准备。 算法思想去除“尾巴”(凸出部分)和分割多边形的算法思想:1.求平均距离。针对环,遍历每个点,求到下一个点之间的距离,计算该环两点间...原创 2018-10-06 21:36:30 · 785 阅读 · 0 评论 -
(二)建筑物多边形化简系列——多边形点数化简
1.目的实验发现,一个多边形由多个环,每个环的点数数量都比较大,这直接导致程序处理速度非常慢。为了简化图形,加快程序运行速度,为方便后期拟合建筑物,打算对建筑物原始数据进行化简。2.做法化简的内容是去除部分建筑物多边形的点,采取保留一半点的做法,观察每次化简后图形与原始图形的差别。3.实施对去除噪点环之后的建筑物多边形数据进行处理。处理的方法是对半,函数为:// 0904,...原创 2018-09-04 11:00:15 · 1046 阅读 · 0 评论 -
(一)建筑物多边形化简系列——去除噪点环
由于本人最近在进行建筑物数据处理的项目,遇到了较多的问题,同时也收获了很多知识。所有打算写一个建筑物处理的系列博客。要处理建筑物多边形,首先得理解结构关系,这是所有实现处理的基础。建筑物多边形是由一条条封闭的环(线状)组成,环是由一组首尾相同的点组成,所以对建筑物多边形的处理实质是对环和点处理。实际项目中,所给的数据是非常凌乱的,杂质非常多。下图是初始的建筑物多边形数据,我们可以发现:局部...原创 2018-07-19 12:56:04 · 1581 阅读 · 1 评论 -
(三)建筑物多边形化简系列——去除冗余点
制图综合和建筑物数据处理等都涉及到建筑物多边形的化简。制图综合中,由于比例尺的变小,建筑物在小比例尺地图上所占面积变小,这意味着建筑物图形的形状精度也有一定的损失,为了更好地表示原有建筑物的特征(面积、图形和方向),需要对建筑物多边形进行化简。另外,从遥感影像提取的建筑物矢量数据需要经过图形化简等一系列操作才能作为可使用的数据。首先明确,矢量数据结构中,建筑物多边形是由一些列环(circle)...原创 2018-07-18 00:02:24 · 2041 阅读 · 1 评论 -
(五)建筑物多边形化简系列——最小外接矩形的获取
最小外接矩形问题是在给出一个多边形(或一群点),求出面积最小且外接多边形的矩形的问题。这个问题看起来并不难,但是具体实现并不简单。除了调用现有的公开库之外,这里给出一种简单且易理解的方法。 算法的主要思想是:(1)先实现多边形的简单外接矩形的算法。简单外接矩形是指边平行于x轴或y轴的外接矩形。简单外接矩形很有可能不是最小外接矩形,却是非常容易求得的外接矩形,这为后面做铺垫。(2)实...原创 2018-07-08 17:28:04 · 6336 阅读 · 2 评论