算法思想 将待求解的问题分解为若干个子问题,按顺序求解子问题,同时前一子问题的解,为后一子问题的求解提供了有用的信息。 算法优点 针对每一个状态只需要进行一次运算,之后就可以重复利用这个状态的值,从而减少了大量不必要的重复计算。也就是,一旦出现重复的子问题求解,优先考虑动态规划方式求解,一般都会获得 ...
分类:
其他好文 时间:
2019-05-14 19:22:37
阅读次数:
180
顺序查找非常简单,只是个开胃菜,今天主要练习的是哈希查找 先上顺序查找代码: 在来看hash查找: 算法思想 哈希的思路很简单,如果所有的键都是整数,那么就可以使用一个简单的无序数组来实现:将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值。这是对于简单的键的情况,我们将其扩展到可以处理更 ...
分类:
编程语言 时间:
2019-05-12 13:58:35
阅读次数:
160
风格迁移 "《从锅炉工到AI专家(8)》" 中我们介绍了一个“图片风格迁移”的例子。因为所引用的作品中使用了TensorFlow 1.x的代码,算法也相对复杂,所以文中没有仔细介绍风格迁移的原理。 今天在TensorFlow 2.0的帮助,和新算法思想的优化下,实现同样功能的代码量大幅减少,结构也越 ...
分类:
其他好文 时间:
2019-05-09 10:45:29
阅读次数:
101
前言 这篇文章主要是关于移动端原笔迹的开发,让平板上的手写效果达到笔迹光滑且有笔锋。 介绍关于原笔迹的算法思路。 项目github地址 算法思路分析 曲线拟合算法 利用曲线拟合算法增加虚拟的点,使得笔迹更加光滑,关于算法思想本文采用的是B样条插值算法。 采集点:获取笔输出的两个关键点a1、a2,以及 ...
分类:
移动开发 时间:
2019-04-23 12:21:49
阅读次数:
216
迪杰斯特拉算法百度百科定义:传送门 gh大佬博客:传送门 迪杰斯特拉算法用来计算一个点到其他所有点的最短路径,是一种时间复杂度相对比较优秀的算法 O(n2)(相对于Floyd算法来说) 是一种单源最短路径算法,但是它并不能处理负边权的情况 Dijkstra的算法思想:①将一开始所有的非源点到源的距离 ...
分类:
编程语言 时间:
2019-04-20 09:29:37
阅读次数:
159
八大排序,三大查找是《数据结构》当中非常基础的知识点,在这里为了复习顺带总结了一下常见的八种排序算法。常见的八大排序算法,他们之间关系如下: 他们的性能比较: 下面,利用Python分别将他们进行实现。 直接插入排序 算法思想: 直接插入排序的核心思想就是:将数组中的所有元素依次跟前面已经排好的元素 ...
分类:
编程语言 时间:
2019-04-18 15:01:46
阅读次数:
138
给定两个由英文字母组成的字符串 String 和 Pattern,要求找到 Pattern 在 String 中第一次出现的位置,并将此位置后的 String 的子串输出。如果找不到,则输出“Not Found”。 本题旨在测试各种不同的匹配算法在各种数据情况下的表现。各组测试数据特点如下: 数据0 ...
分类:
编程语言 时间:
2019-04-14 20:36:05
阅读次数:
335
一、实验目的 (1)加深对处理机调度的作用和工作原理的理解。 (2)进一步认识并发执行的实质。 二、实验要求: 本实验要求用高级语言,模拟在单处理器情况下,采用多个调度算法,对N个进程进行进程调度。语言自选。 并完成实验报告。 三、实验内容: 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪 ...
分类:
编程语言 时间:
2019-04-14 15:49:46
阅读次数:
186
算法思想 1. 从第一个元素开始,该元素可以认为已经被排序 2. 取出下一个元素,在已经排序的元素序列中从后向前扫描 3. 如果该元素(已排序)大于新元素,将该元素移到下一位置 4. 重复步骤3,直到找到已排序的元素小于或者等于新元素的位置 5. 将新元素插入到该位置后 6. 重复步骤2~5 动画演 ...
分类:
编程语言 时间:
2019-04-08 21:49:26
阅读次数:
182
冒泡排序 算法思想: 1、相邻元素对比,如果前面元素比后面的大,进行交换,直至最后一个元素,一轮结束之后,最后一个元素为最大值2、后一轮进行的列表数量比前一轮少一个3、反复进行上面两步,直至没有元素进行对比为止 复杂度: 冒泡排序的平均复杂度为O(n2),当原列表为正序排列时,复杂度为O(n),为倒 ...
分类:
编程语言 时间:
2019-03-29 00:46:59
阅读次数:
189