<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[StephenArk的博客]]></title><description><![CDATA[StephenArk的编程笔记]]></description><link>https://blog.youkuaiyun.com/StephenArk</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; StephenArk]]></copyright><item><title><![CDATA[RSA详解]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/103828327</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/103828327</guid><author>StephenArk</author><pubDate>Fri, 03 Jan 2020 23:27:46 +0800</pubDate><description><![CDATA[RSA详解

最近在复习计算机安全的内容，发现网上关于RSA算法的讲解都不够详细，所以自己写一篇。

RSA算法是一个常用的公钥加密算法。
所谓的公钥加密就是用两个密钥，一个公钥一个私钥。通常来说，加密是用的公钥，解密用的私钥。而这两个密钥都是接收方的。
要理解公钥加密的优越性首先要看看对称密码的缺陷。所谓的对称加密呢就是用一个密钥来加密解密。这个时候发送方用密钥加密完了，要想办法把密钥发给接收方...]]></description><category></category></item><item><title><![CDATA[算法实验总结2019]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/94855799</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/94855799</guid><author>StephenArk</author><pubDate>Sat, 06 Jul 2019 14:30:34 +0800</pubDate><description><![CDATA[算法实验总结2019
这是深圳大学大二算法课2019年的实验的个人总结，希望后来人少走弯路。但不要抄袭！不要抄袭！不要抄袭！否则查重查出来会挂科重修。

排序算法性能分析
分治法求最近点对
回溯法求解消消乐
动态规划—代码查重
无向图—桥
最大流论文评审


...]]></description><category></category></item><item><title><![CDATA[最大流应用实验]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/94855300</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/94855300</guid><author>StephenArk</author><pubDate>Sat, 06 Jul 2019 14:24:35 +0800</pubDate><description><![CDATA[最大流应用问题
实验概述
论文评审问题

有m篇论文和n个评审，每篇论文需要安排a个评审，每个评审最多评b篇论文。请设计一个论文分配方案。
要求应用最大流解决上述问题，画出m=10，n=3的流网络图并解释说明流网络图与论文评审问题的关系。
编程实现所设计算法，计算a和b取不同值情况下的分配方案，如果没有可行方案则输出无解。

实验思路
最大流建图
论文-评委是一个二分图，讨论的是二分图的连接问题。...]]></description><category></category></item><item><title><![CDATA[无向图—桥]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/94854859</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/94854859</guid><author>StephenArk</author><pubDate>Sat, 06 Jul 2019 14:22:23 +0800</pubDate><description><![CDATA[无向图—桥
实验概述
1. 桥的定义
在图论中，一条边被称为“桥”代表这条边一旦被删除，这张图的连通块数量会增加。等价地说，一条边是一座桥当且仅当这条边不在任何环上。一张图可以有零或多座桥。

2. 求解问题
找出一个无向图中所有的桥。
3. 算法
基准算法
For every edge (u, v), do following
​	a) Remove (u, v) from graph
​	b)...]]></description><category></category></item><item><title><![CDATA[动态规划—代码查重实验]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/94854780</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/94854780</guid><author>StephenArk</author><pubDate>Sat, 06 Jul 2019 14:17:35 +0800</pubDate><description><![CDATA[动态规划—代码查重问题
实验概述


掌握动态规划算法设计思想。


掌握代码查重问题的动态规划解法。


实验思路
代码查重是一个比较经典的问题，相似的问题有论文查重等等。这里面的算法我也是一知半解，就提供一些思路和资料。
一个查重的经典方法就是动态规划求LCS最长子序列。
和论文查重不同的是，代码查重要考虑变量名、行顺序等等，抄袭代码可能会在这些方面做出改动。常见做法是将代码预处理，包括变量名...]]></description><category></category></item><item><title><![CDATA[回溯法求解消消乐实验]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/94854561</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/94854561</guid><author>StephenArk</author><pubDate>Sat, 06 Jul 2019 14:16:48 +0800</pubDate><description><![CDATA[回溯法求解消消乐问题
实验概述


掌握回溯法设计思想。


掌握消消乐问题的回溯法解法。


《开心消消乐》是一款乐元素研发的三消类休闲游戏。游戏中消除的对象为小动物的头像，包括小浣熊、小狐狸、小青蛙和小鸡等动物头像。玩家通过移动动物头像位置凑够同行/同列3个或3个以上即可消除。
实验思路
规则拆解
消除块：就是对这个块划十字（下图情况为举例，实际上不会有这种情况）。

向下塌陷：消除时记录下最...]]></description><category></category></item><item><title><![CDATA[分治法求最近点对实验]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/94854245</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/94854245</guid><author>StephenArk</author><pubDate>Sat, 06 Jul 2019 14:14:11 +0800</pubDate><description><![CDATA[分治法求最近点对
实验概述


对于平面上给定的N个点，给出所有点对的最短距离，即，输入是平面上的N个点，输出是N点中具有最短距离的两点。


要求随机生成N个点的平面坐标，应用蛮力法编程计算出所有点对的最短距离。


要求随机生成N个点的平面坐标，应用分治法编程计算出所有点对的最短距离。


实验思路
首先明确分治法的一大特点就是大化小，不知道从哪里下手时可以先思考最小的情况。
最小情况：只有一...]]></description><category></category></item><item><title><![CDATA[排序算法性能分析实验]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/94853771</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/94853771</guid><author>StephenArk</author><pubDate>Sat, 06 Jul 2019 14:10:51 +0800</pubDate><description><![CDATA[排序算法性能分析
实验目的

掌握选择排序、冒泡排序、合并排序、快速排序、插入排序算法原理
掌握不同排序算法时间效率的经验分析方法，验证理论分析与经验分析的一致性。
现在有10亿的数据（每个数据四个字节），请快速挑选出最大的十个数，并在小规模数据上验证算法的正确性。

实验思路
排序不多说，讲一下第3点。3是经典的topK问题，这么大的数据量肯定不能排序了。容易想到的思路是开两个数组，一个放10亿...]]></description><category></category></item><item><title><![CDATA[4.2 机器学习、人工智能、图像处理、图像识别导论]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/84310541</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/84310541</guid><author>StephenArk</author><pubDate>Tue, 20 Nov 2018 21:50:32 +0800</pubDate><description><![CDATA[4.2 机器学习、人工智能、图像处理、图像识别导论
最近在看机器学习的书。之前一直搞不清这几个概念，而且以为都是某种“黑魔法”，但其实都是数学方法，所谓的什么“黑盒子”，其实也不黑。这些领域都是相互交错的，但每一个领域又方向不一样。
4.2.0 前导知识
上面提到许多都是数学方法，那么就需要先学习一些数学知识。将会用到的有：

微积分（高数）
线性代数
概率论与统计
离散数学（用的没有上面三门多）...]]></description><category></category></item><item><title><![CDATA[5.2 微信小程序]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/83480173</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/83480173</guid><author>StephenArk</author><pubDate>Mon, 29 Oct 2018 00:00:42 +0800</pubDate><description><![CDATA[5.2 微信小程序
写微信小程序和写网站差不多，都是分前端和后端。在小程序里html和css叫wxml和wxss，基本上没啥区别。另一方面它也有点像安卓app。
5.2.1 结构

从结构上来看小程序也是典型的配置分离。最基本的单位就是一个page，也就是一个页面。一个页面里又包含了wxml、wxss、js、json（至少要有给wxml）。前两个不消说，js用来处理事件（点击事件、与后端交互啥的）...]]></description><category></category></item><item><title><![CDATA[4.1 单片机入门简介]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/83246309</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/83246309</guid><author>StephenArk</author><pubDate>Sun, 21 Oct 2018 22:17:53 +0800</pubDate><description><![CDATA[4.1 单片机
单片机是好大一块东西，涉及的知识包括了汇编、计算机系统、电路、接口等知识。不过其实不难学，特别的，这对理解计算机系统的运行原理有很大帮助。所以建议和计算机系统（或者系统原理还是啥的，好像不同学校不一样，但科班基本都会有这么一门课）一起学或者在其后学。
现在我们的电脑都是电脑之爸冯诺依曼提出的冯诺依曼结构，里面五大结构是控制器、运算器、存储器、输入和输出设备。现在我们习惯把电脑分为C...]]></description><category></category></item><item><title><![CDATA[3.3 发布你的网站]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/82847078</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/82847078</guid><author>StephenArk</author><pubDate>Wed, 26 Sep 2018 00:01:08 +0800</pubDate><description><![CDATA[3.3 发布你的网站
现在我们已经知道如何在服务器上跑起我们的网站了。但是还不够，要发布一个好的网站还有很多工作要做。
在这之前，我们再来回顾一下入门时看的建站介绍：

知乎：Web 建站技术中，HTML、HTML5、XHTML、CSS、SQL、JavaScript、PHP、ASP.NET、Web Services 是什么？——张秋怡的回答

3.3.1 域名
我们现在只能通过ip地址来访问我们的...]]></description><category></category></item><item><title><![CDATA[5.1 Android项目]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/82459795</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/82459795</guid><author>StephenArk</author><pubDate>Thu, 06 Sep 2018 13:19:28 +0800</pubDate><description><![CDATA[5.1 Android项目

我们用如何制作一个Android app来看一下一种典型的配置分离型（我自己起的名儿）项目。这种项目最大的特点就是有很多很多的配置文件，细细一捋大概分那么几块：界面（UI）、逻辑代码、资源文件、注册文件。



【假设你已经知道了安卓应用是用java（现在还可以用kotlin）写的，以及会那么一些java】

先来看一个安卓app的hello world



5.1...]]></description><category></category></item><item><title><![CDATA[5.0 项目入门前言]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/82378943</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/82378943</guid><author>StephenArk</author><pubDate>Tue, 04 Sep 2018 10:03:47 +0800</pubDate><description><![CDATA[5.0 项目入门前言

接触了一些项目之后，越发觉得很多时候我们学编程并不是学语言，而是学一个框架，这是一套一套的东西。所以在此提醒各位想要入门的新手，不要挑学编程语言，不要纠结java慢C++难，随便挑一个热门的上手。反正你肯定是不能一辈子就靠那一种语言吃饭的。如果你实在选择困难，就按照科班的学习顺序，先学C（函数编程），然后从面向对象的语言里（C++、Java、Python、C#等）挑一门，想...]]></description><category></category></item><item><title><![CDATA[3.2 搭建一个属于自己的服务器]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/79592697</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/79592697</guid><author>StephenArk</author><pubDate>Sat, 17 Mar 2018 15:42:33 +0800</pubDate><description><![CDATA[3.2 搭建一个属于自己的服务器！

阿里云租的服务器已经到期啦，不想续租，一来不常捣鼓它，不划算；二来9.9足够我吃一顿晚饭了，加鸡腿的那种……不过！作为技术宅，怎么能老是租用别人家的东西呢？自己也要整一部服务器来玩玩才是！

假设你已经用过了租来的服务器且在上面跑过自己的项目，那么你应该心里有A数了，服务器和普通PC有什么区别？要说系统，我也可以给自己的PC装啊，Ubuntu和Fedora啥的...]]></description><category></category></item><item><title><![CDATA[2.1 Python补充]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/79592637</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/79592637</guid><author>StephenArk</author><pubDate>Sat, 17 Mar 2018 15:36:56 +0800</pubDate><description><![CDATA[2.1 Python补充



2.1.1



2.7 or 3? This is not a question.

同学们在安装Python的时候是否会纠结安装2.7还是3呢？这些都是细枝末节啦，2.7和3的确有不同，但并不是很大。Crossin用的是2.7，我会在3有不同的地方加上补充的，所以大家可以放心用3，毕竟新一些；当然懒得看我的补充用2.7也没问题，将来你们写程序用的库也是大多两个都...]]></description><category></category></item><item><title><![CDATA[4.0 简要提一下C语言系列]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/78808376</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/78808376</guid><author>StephenArk</author><pubDate>Thu, 14 Dec 2017 23:04:19 +0800</pubDate><description><![CDATA[4.0 简要提一下C语言系列

那么今天来讲一下C（系列）语言。大学里一般会以C语言来作为同学们学习编程的入门语言，先是C，然后是C++或Java。这种教学顺序的道理何在呢，下面就来说一下我的个人看法。



C、C++与Java

事实上从语法上来看三者十分相像，所以我把他们称为C系列语言。而其中C语言可以说是爸爸，其他两门语言是他的儿子，是晚辈。不过虽然要叫爸爸，儿子们可是青出于蓝。

小儿子...]]></description><category></category></item><item><title><![CDATA[科技杂谈：浅谈人脸识别]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/78497336</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/78497336</guid><author>StephenArk</author><pubDate>Fri, 10 Nov 2017 10:45:35 +0800</pubDate><description><![CDATA[科技杂谈：浅谈人脸识别]]></description><category></category></item><item><title><![CDATA[3.1 在服务器上部署你的项目]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/78313651</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/78313651</guid><author>StephenArk</author><pubDate>Sun, 22 Oct 2017 21:47:02 +0800</pubDate><description><![CDATA[网络部分 3.1 在服务器上部署你的项目]]></description><category></category></item><item><title><![CDATA[2.0 Python]]></title><link>https://blog.youkuaiyun.com/StephenArk/article/details/78306705</link><guid>https://blog.youkuaiyun.com/StephenArk/article/details/78306705</guid><author>StephenArk</author><pubDate>Sat, 21 Oct 2017 21:44:21 +0800</pubDate><description><![CDATA[2.0 Python

我为大家选择的入门语言是Python。为什么不是我熟悉的C++？因为我学过啊（滑稽）。不过正经来说，Python的语法比较简洁，容易理解，没有C那么啰嗦，更加适合入门。现在大学里普遍用C或Java来入门，学完C学C++，好像没听说教Python的，可能因为是新兴语言的缘故。Python近年来越来越火，学了不吃亏。

我们学完Python，再简单看一看C和C++。至于Java...]]></description><category></category></item></channel></rss>