`
javasee
  • 浏览: 973319 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

一步一步写算法(之寻找丢失的数)

 
阅读更多

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】


假设我们有一个1亿个数据,其中数据的范围是0~1亿,也就是100M的数据。但是这个数组中丢了一些数据,比如说少了5啊,少了10啊,那么有什么办法可以把这些丢失的数据找回来呢?这个题目不难,但是它可以帮助我们拓展思路,不断提高算法的运行效率。

对于这个问题,我们一个最简单的思路就是对各个数据进行flag判断,然后依次输出数据。

可能朋友也看到了,上面的代码需要分配和原来数据一样length的空间。其实我们可以用bit进行访问标志的设定,所以我们申请的空间还可以减少。

上面的代码已经在空间上面有所减小,那么有什么办法并行运算这些数据呢?
为了多核的并行计算,我们添加了子函数_get_lost,我们进一步补充完整。


工作总结:

(1)代码的优化是可以不断进行得,但是不见得适用于所有的场景

(2)目前的cpu已经开始从2核->4核->8核转变,朋友们在可能的情况下尽量多掌握一些多核编程的知识。


分享到:
评论

相关推荐

    算法设计与实现-贪婪法

    贪婪法是一种常用的算法设计策略,它在解决优化问题时,倾向于在每一步选择当前看起来最优的解决方案,期望通过一系列局部最优解的组合达到全局最优解。贪婪法的主要思想是每一步都做出当时最好的选择,而不过多考虑...

    NLmeansfilter_;图像去噪算法_非局部均值算法_

    非局部均值算法通过寻找图像中像素点与其周围像素点的相似区域,基于这些区域的相似度来计算像素的新的值,从而达到去噪的目的。这种方法假设图像中的某些局部特征可能在整个图像中都有相似的表达,即使它们相隔很远...

    贪婪 算法

    Dijkstra算法在寻找单源最短路径问题中同样体现出了贪婪算法的特性,通过每次选择距离源点最近的未访问节点,最终构建出最短路径树。 尽管贪婪算法有其独特的优势,但它也存在着明显的局限性。由于贪婪算法只考虑...

    报告_期望最大值算法EM.pdf

    在机器学习领域,它通常用于寻找那些包含不可观察或丢失数据的概率模型的参数的最大似然估计或最大后验概率估计。EM算法是一种通用的算法框架,适用于含有隐变量或不完全数据的统计模型,它解决了直接计算概率模型...

    图像去雾算法

    这种现象在图像上表现为全局亮度降低,对比度下降,细节丢失。 暗通道优先算法的核心思想是观察到在大多数室外场景的局部区域中,总存在至少一个像素具有非常低的亮度值,即接近于0的暗通道。这个暗通道通常对应于...

    ASMS跟踪算法源码

    ASMS跟踪算法是一种在计算机视觉领域中用于目标跟踪的技术,其全称为Adaptive Scale Mean-Shift Tracking。这个算法是基于尺度自适应的mean-shift方法,主要用于解决视频序列中目标对象的运动跟踪问题。2014年,ASMS...

    混合蚁群优化算法(HBACA),混合蚁群优化算法HBACA,matlab

    蚁群优化算法基于自然界中蚂蚁寻找食物路径的行为,模拟了蚂蚁在地面上释放信息素并根据信息素浓度选择路径的过程。在HBACA中,蚂蚁不再仅遵循单一的信息素更新规则,而是通过不同类型的蚂蚁采取不同的策略来选择...

    Matlab蚁群算法介绍PPT

    在蚁群算法的基本版本中,每只蚂蚁根据当前节点的信息素浓度和距离信息随机选择下一步行动,同时信息素会随着时间逐渐挥发。然而,这种简单的策略可能导致算法过早收敛到局部最优解。 【带精英策略的蚁群系统】 ...

    Select_遗传算法选择_

    遗传算法是一种基于生物进化原理的优化方法,模拟了自然选择、遗传、突变等过程来寻找问题的近似最优解。在遗传算法中,“选择”(Selection)是至关重要的步骤,它决定了哪些个体将在下一代中继续存在并进行基因...

    路径规划算法-基于遗传算法实现的路径规划算法.zip

    路径规划是计算机科学和自动化领域中的一个重要课题,其目标是在复杂环境中...通过理解和应用这些知识,开发者能够设计出能够在复杂环境中寻找高效路径的智能系统,应用于自动驾驶、机器人导航、物流配送等多个领域。

    贪心算法&动归算法思想

    贪心算法,顾名思义,是以“贪婪”的方式寻找问题的解,每一步都选择当前看起来最佳的解决方案,希望最终能得到全局最优解。然而,贪心算法并不总是能得到全局最优解,因为它的决策基于局部最优,不考虑未来的约束。...

    用于图象处理的量子遗传算法

    传统的遗传算法通过模拟自然选择和遗传机制来寻找最优解,但受限于其搜索空间的局部最优陷阱。而量子遗传算法引入了量子比特的概念,能够同时探索多个可能的解决方案,这使得它在处理大规模、高维度的问题时更具优势...

    OMP算法matlab

    它主要用于从一组基或原子中寻找信号的稀疏表示,尤其在图像压缩与恢复方面表现出色。在MATLAB环境中,omp算法通常结合小波变换来实现对图像数据的有效处理。 ### OMP算法概述 OMP算法的核心思想是逐步构造信号的...

    蚁群算法求解tsp问题

    蚁群算法(Ant Colony Optimization, ACO)是一种模拟自然界中蚂蚁寻找食物路径行为的优化算法,常被用于解决旅行商问题(Traveling Salesman Problem, TSP)。旅行商问题是一个经典的组合优化问题,目标是找到访问n...

    遗传算法单目标函数寻优

    遗传算法是一种基于生物进化原理的优化方法,它模拟了自然选择、基因遗传和物种进化的过程,用于寻找单目标函数的最优解。在这个特定的问题中,我们关注的是如何使用遗传算法来解决函数\( y = \sum_{i=1}^{n}(x_i)^2...

    五大经典算法,算法数据结构

    在计算机科学领域,算法是解决问题的关键工具,尤其在面对大量数据和复杂问题时。本文将对五大经典算法进行概述和对比,帮助理解它们的核心思想及其适用场景。 首先,穷举法是最直观的算法,适用于小数据量的问题。...

    贪心算法的分析与讲解

    贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。这种算法通常用于解决优化问题,但并不能保证总是能找到全局最优解,尤其对于NP难度的问题...

    算法之分支限界法实现.doc

    《算法之分支限界法实现》 分支限界法(Branch and Bound)是求解最优化问题的一种有效方法,常用于解决约束满足问题和组合优化问题。与回溯法相似,分支限界法也是通过递归地枚举问题的所有可能解来寻找最优解,但...

    Log.rar_log_log c++_log 边缘检测_log算法参数_图像log算法

    在图像处理领域,边缘检测是至关重要的一步,它能够帮助我们识别和提取图像中的关键特征,比如物体的轮廓。Log(Laplacian of Gaussian)边缘检测算法是一种基于二阶导数的边缘检测方法,其核心思想是通过高斯滤波器...

    【老生谈算法】matlab遗传算法实现无格式.docx

    遗传算法的核心思想是通过模拟自然界中的进化过程来寻找问题的最佳解决方案。它通过一个种群的迭代进化过程,逐步提高种群中个体的质量,最终找到最优或接近最优的解。遗传算法因其强大的全局搜索能力、鲁棒性和易于...

Global site tag (gtag.js) - Google Analytics