算法
嘿哈哈哈
人生就像一场演出,不到谢幕永远不知道自己有多精彩。
展开
-
动态规划思路
问题:思路:步骤:类型:原创 2023-07-24 23:03:35 · 86 阅读 · 0 评论 -
从【回溯剪枝】到【动态规划】的转化
回溯法是一种暴力搜索的方法,通过枚举所有可能的情况来寻找最优解。动态规划的核心思想是分治和记忆化,将问题分解成子问题并存储每个子问题的解,以避免重复计算。回溯法在不停的试探,能进就记录进备忘,不能进就需要擦除刚记录的备忘。动态规划可以看做是从1到n有明确的目的地。回溯法更加灵活,能够处理一些不规则的问题,但时间复杂度可能很高,需要考虑如何剪枝以提高效率。动态规划虽然时间复杂度较低,但对问题有一定的规律要求,需要先找到子问题之间的重叠和转移关系,再进行优化求解。回溯法可以寻找所有的解。原创 2023-07-24 23:03:32 · 466 阅读 · 0 评论 -
读书笔记:《权力之治:人工智能时代的算法规制》
算法就是收集处理数据,挖掘数据价值的生产工具。算法变得重要的根本原因是数据成为了社会生产要素,而算法决定了数据的价值。用户一旦进入智能平台的服务架构,就放弃了自己对自身数据,隐私和虚拟物品的真正控制力,成为了被平台算法计算和分配的资源。算法推荐的基础价值在于海量信息的甄选,核心价值在于内容的精准分发,关键价值在于观点的洞悉反馈,终极价值在于意识形态的强化和引导。原创 2022-11-15 22:00:00 · 677 阅读 · 1 评论 -
基于样本复用的路径追踪降噪算法
(under review)原创 2021-04-02 20:07:11 · 313 阅读 · 0 评论 -
Scheme 删除链表的最后一个元素
Scheme 里只有链表,但是通过链表可以实现各种复杂的操作。常用的链表操作有:CDR:返回链表的第一个元素CAR:返回除第一个元素的所有元素组成的链表CONS:连接两个链表使用以上操作,实现删除链表的最后一个元素:( DEFINE ( all_but_last lis ) ( COND ( (empty? lis) ( error 'all_but_last "empty list" ) ) ; 输入空链表报错 ( (empty? (CDR lis) ) empty ) ; 输原创 2020-11-20 20:53:57 · 800 阅读 · 1 评论 -
PageRank: Scala+Spark 实现
在命令行中运行在 Idea 中运行项目 GitHub 地址一、在命令行中运行首先安装 java,scala 和 spark 环境(MacOS)输入spark-shell开始运行brew cask install javabrew install scalabrew install apache-sparkspark-shell输入命令,输出结果,如下所示Welcome to ____ __ / __/__ ___ __.原创 2020-11-20 20:47:05 · 786 阅读 · 0 评论 -
快速排序及其 Java 实现
public class QuickSort { public static void main(String[] args) { int[] array = new int[]{4, 5, 3, 1, 2}; QuickSort(array); print(array); } public static void Quic...原创 2019-04-14 15:05:28 · 164 阅读 · 0 评论 -
快速排序Java语言实现
package Java;import java.util.ArrayList;import java.util.Collections;public class QuickSort { public static Integer[] RandomList(int num) { ArrayList<Integer> list = new ArrayLi...原创 2018-08-06 14:41:51 · 356 阅读 · 0 评论 -
图像色彩空间转换——RGB与HSL/HSV
色彩空间RGB色彩空间RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。HSL/HSV色彩空间HSL色彩模式是工业界的一种颜色标准,是通过对色相(H)、饱和度(S)、明...原创 2018-07-27 09:11:23 · 3957 阅读 · 0 评论 -
稳定匹配(解决婚姻问题)
婚姻问题现在有N位男生和N位女生,每个男生都对N个女生的喜欢程度做了排序,每个女生都对N个男生的喜欢程度做了排序,现在需要确定一个稳定的约会状态。稳定的定义:如果男生i和女生a牵手,但男生i对女生b更喜欢,而女生b发现,相比自己的男朋友j,她更喜欢男生i,则没有力量阻碍男生i和女生b的私奔,这即是不稳定的。解决思路首先选择一个单身男生,他会按照他的喜欢程度对一个还没有表白...原创 2018-06-20 17:57:48 · 8297 阅读 · 0 评论 -
带权的区间调度:动态规划
带权的区间调度存在单一资源R,有n个需求{1, 2, …, n},每个需求指定一个开始时间bi与一个结束时间ei,在时间区间[bi, ei]内该需求想要占用资源R,资源R一旦被占用则无法被其他需求利用。每个需求i带有一个权值vi,代表该需求被满足之后能够带来的价值或者贡献。如果两个需求的时间区间不重叠,那么它们是相容的。带权值的区间调度问题即,对上面所描述的情境,求出一组相容子集S使得S中的区...原创 2018-06-20 16:50:34 · 5604 阅读 · 0 评论 -
从RGB色转为灰度色算法
一、基础 对于彩色转灰度,有一个很著名的心理学公式: Gray = R*0.299 + G*0.587 + B*0.114二、整数算法 而实际应用时,希望避免低速的浮点运算,所以需要整数算法。 注意到系数都是3位精度的没有,我们可以将它们缩放1000倍来实现整数运算算法: Gray = (R*299 + G*587 + B*114 + 500) / 100...转载 2018-05-07 09:33:53 · 686 阅读 · 0 评论 -
归并排序及其并发实现
冒泡排序因为在归并排序的简化过程中需要用到冒泡排序,所以这里先做一下简单介绍。冒泡排序(Bubble Sort),是一种 计算机科学领域的较简单的 排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端...原创 2018-05-10 09:12:07 · 1283 阅读 · 1 评论 -
搜索引擎中的PageRank算法
PageRank算法PageRank算法总的来说就是预先给每个网页一个PR值(下面用PR值指代PageRank值),由于PR值物理意义上为一个网页被访问概率,所以一般是1N1N\frac{1}{N},其中N为网页总数。另外,一般情况下,所有网页的PR值的总和为1。如果不为1的话也不是不行,最后算出来的不同网页之间PR值的大小关系仍然是正确的,只是不能直接地反映概率了。所以PageRank算...原创 2018-06-09 14:35:08 · 3477 阅读 · 3 评论 -
算法设计总述
算法设计原创 2018-06-25 21:27:18 · 1030 阅读 · 0 评论