java是一门面向对象设计的语言,面向对象是什么呢?是一种思想,一种解决问题的手段。 面向对象与面向过程 面向对象与面向过程其目的都是解决问题 而面向对象针对点较为宏观,类似分而治之的解决方式,处理问题找的不是问题的解决步骤,而是针对能完成该步骤的人,也是我们生活中常见的管理方式。 面向过程针对较为 ...
分类:
其他好文 时间:
2020-01-31 15:49:37
阅读次数:
55
1、线程的并发工具类 Fork-Join 什么是分而治之? 规模为N的问题,N<阈值,直接解决,N>阈值,将N分解为K个小规模子问题,子问题互相对立,与原问题形式相同,将子问题的解合并得到原问题的解 动态规范 工作密取 workStealing Fork/Join使用的标准范式 下面演示第一种用法: ...
分类:
编程语言 时间:
2020-01-31 14:14:19
阅读次数:
86
合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 本题我掌握了两个方法: 1. 遍历所有链表,将其 nodes 的 val 放入一个list, 然后list.sort(),然后再放入链表result O(NlogN) 2. 就是我用的方法,先写合并两个链表的函数,再分而治之的合 ...
分类:
编程语言 时间:
2020-01-30 19:06:36
阅读次数:
85
决策树在分类、预测、规则提取等领域有着广泛的应用。决策树是一种树状结果,它的每一个叶节点对应一个分类。构造决策树的核心问题是:在每一步如何选择适当的属性对样本做拆分。对于分类问题,从已知类标记的训练样本中学习并构造出决策树是一个自上而下,分而治之的过程。常见的决策树算法如下:ID3算法C4.5算法C ...
分类:
其他好文 时间:
2020-01-30 17:31:55
阅读次数:
118
C编程的基本策略是, 用程序把源代码文件转换为可执行文件(其中包含可直接运行的机器语言代码)。 典型的C实现通过编译和链接两个步骤来完成这一过程。 编译器把源代码转换成中间代码, 链接器把中间代码和其他代码合并, 生成可执行文件。 C 使用这种分而治之的方法方便对程序进行模块化, 可以独立编译单独的 ...
分类:
其他好文 时间:
2020-01-28 19:11:47
阅读次数:
106
随着以函数即服务(Function as a Service)为代表的无服务器计算(Serverless)的广泛使用,很多用户遇到了涉及多个函数的场景,需要组合多个函数来共同完成一个业务目标,这正是微服务“分而治之,合而用之”的精髓所在。本文以阿里云 "函数计算" 为例,试图全面介绍函数组合的常见模 ...
分类:
编程语言 时间:
2020-01-19 15:19:31
阅读次数:
110
一说到排序算法,大部分人都会说出著名的万金油-快速排序、大数据分而治之-归并排序、大数据排名-堆排序。这些排序无论在面试还是实际项目中,都是经常用到的一些排序算法,其平均时间复杂度都在 O(N ? log2N),那今天我们就来介绍几种 O(N)的排序算法。 1,计数排序,输入 n 个范围在 0-k ...
分类:
编程语言 时间:
2020-01-15 19:31:52
阅读次数:
90
MapReduce采用的是“分而治之”的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个从节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。简单来说,MapReduce就是“任务的分解与结果的汇总”。一、 MapReduce的工作原理在分布式计算中,MapReduce框架负责处理 ...
分类:
其他好文 时间:
2020-01-15 14:03:53
阅读次数:
79
写在前面:我感觉阅读算法书比没有系统地学习算法就开始盲目刷题要好很多 学习了数组、链表、栈、哈希表(散列函数)、选择排序、快速排序(分而治之)、二分查找、简单查找、递归、递推,觉得能够学到很多东西。 算法书并没有像知乎上说的没有用处,直接刷题就好??(本人为学校acm团队队员,一直为不能ak,有时周 ...
分类:
编程语言 时间:
2020-01-15 12:17:46
阅读次数:
142
实例:体育竞技分析 计算思维:抽象+自动化 模拟:抽象比赛过程+自动化执行n场比赛 当N越大时,比赛结果分析会越科学 解决复杂问题的有效方法: (自定向下设计)将一个总问题表达为若干个小问题组成的形式,使用同样方法进一步分解小问题,直至小问题可以用计算机简单明了的解决。分而治之 (自顶向上执行)分单 ...
分类:
编程语言 时间:
2020-01-10 20:45:24
阅读次数:
122